summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-11-20 17:11:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-11-20 17:11:00 +0000
commit908b1c93014c3f30d883b25cbe50c166edfc2232 (patch)
treeb78b76b25afd4832f2d88d6091e7e9953b0607f8 /gtk2_ardour
parent8f7f17187770afc8352dad61ca48ff304c734f68 (diff)
provide some indication that the fader/strip are controlling a send
git-svn-id: svn://localhost/ardour2/branches/3.0@6138 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour3_ui_dark.rc.in12
-rw-r--r--gtk2_ardour/mixer_strip.cc77
-rw-r--r--gtk2_ardour/mixer_strip.h2
3 files changed, 65 insertions, 26 deletions
diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in
index 6ed014a9f5..7b2bdde106 100644
--- a/gtk2_ardour/ardour3_ui_dark.rc.in
+++ b/gtk2_ardour/ardour3_ui_dark.rc.in
@@ -762,6 +762,17 @@ style "audio_bus_base"
bg[NORMAL] = "#363c45"
}
+style "send_strip_base" = "default_base"
+{
+ font_name = "@FONT_SMALLER@"
+ fg[NORMAL] = { 0.77, 0.77, 0.72 }
+ bg[NORMAL] = { 0.19, 0.97, 0.69 }
+ bg[ACTIVE] = { 0.19, 0.97, 0.69 }
+ bg[PRELIGHT] = { 0.19, 0.97, 0.69 }
+ bg[INSENSITIVE] = { 0.19, 0.97, 0.69 }
+ bg[SELECTED] = { 0.19, 0.97, 0.69 }
+}
+
style "audio_track_base" = "default_base"
{
font_name = "@FONT_SMALLER@"
@@ -1446,6 +1457,7 @@ widget "*FramesRuler" style:highest "editor_time_ruler"
widget "*MinSecRuler" style:highest "editor_time_ruler"
widget "*BaseFrame" style:highest "base_frame"
+widget "*SendStripBase" style:highest "send_strip_base"
widget "*AudioTrackStripBase" style:highest "audio_track_base"
widget "*AudioBusStripBase" style:highest "audio_bus_base"
widget "*MidiTrackStripBase" style:highest "midi_track_base"
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 3c32439c03..f6c65f37da 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -1533,36 +1533,48 @@ void
MixerStrip::route_active_changed ()
{
RouteUI::route_active_changed ();
+ reset_strip_style ();
+}
+
+void
+MixerStrip::reset_strip_style ()
+{
+ if (_current_delivery && boost::dynamic_pointer_cast<Send>(_current_delivery)) {
+
+ gpm.set_fader_name ("SendStripBase");
- if (is_midi_track()) {
- if (_route->active()) {
- set_name ("MidiTrackStripBase");
- gpm.set_meter_strip_name ("MidiTrackStripBase");
- } else {
- set_name ("MidiTrackStripBaseInactive");
- gpm.set_meter_strip_name ("MidiTrackStripBaseInactive");
- }
- gpm.set_fader_name ("MidiTrackFader");
- } else if (is_audio_track()) {
- if (_route->active()) {
- set_name ("AudioTrackStripBase");
- gpm.set_meter_strip_name ("AudioTrackMetrics");
- } else {
- set_name ("AudioTrackStripBaseInactive");
- gpm.set_meter_strip_name ("AudioTrackMetricsInactive");
- }
- gpm.set_fader_name ("AudioTrackFader");
} else {
- if (_route->active()) {
- set_name ("AudioBusStripBase");
- gpm.set_meter_strip_name ("AudioBusMetrics");
+
+ if (is_midi_track()) {
+ if (_route->active()) {
+ set_name ("MidiTrackStripBase");
+ gpm.set_meter_strip_name ("MidiTrackStripBase");
+ } else {
+ set_name ("MidiTrackStripBaseInactive");
+ gpm.set_meter_strip_name ("MidiTrackStripBaseInactive");
+ }
+ gpm.set_fader_name ("MidiTrackFader");
+ } else if (is_audio_track()) {
+ if (_route->active()) {
+ set_name ("AudioTrackStripBase");
+ gpm.set_meter_strip_name ("AudioTrackMetrics");
+ } else {
+ set_name ("AudioTrackStripBaseInactive");
+ gpm.set_meter_strip_name ("AudioTrackMetricsInactive");
+ }
+ gpm.set_fader_name ("AudioTrackFader");
} else {
- set_name ("AudioBusStripBaseInactive");
- gpm.set_meter_strip_name ("AudioBusMetricsInactive");
+ if (_route->active()) {
+ set_name ("AudioBusStripBase");
+ gpm.set_meter_strip_name ("AudioBusMetrics");
+ } else {
+ set_name ("AudioBusStripBaseInactive");
+ gpm.set_meter_strip_name ("AudioBusMetricsInactive");
+ }
+ gpm.set_fader_name ("AudioBusFader");
+
+ /* (no MIDI busses yet) */
}
- gpm.set_fader_name ("AudioBusFader");
-
- /* (no MIDI busses yet) */
}
}
@@ -1614,6 +1626,12 @@ MixerStrip::meter_changed (void *src)
void
MixerStrip::switch_io (boost::shared_ptr<Route> target)
{
+ /* don't respond to switch IO signal outside of the mixer window */
+
+ if (!_mixer_owned) {
+ return;
+ }
+
if (_route == target || _route->is_master()) {
/* don't change the display for the target or the master bus */
return;
@@ -1658,9 +1676,11 @@ void
MixerStrip::show_send (boost::shared_ptr<Send> send)
{
assert (send != 0);
+
drop_send ();
_current_delivery = send;
+
send->set_metering (true);
send_gone_connection = _current_delivery->GoingAway.connect (mem_fun (*this, &MixerStrip::revert_to_default_display));
@@ -1669,6 +1689,8 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
panner_ui().set_panner (_current_delivery->panner());
panner_ui().setup_pan ();
+
+ reset_strip_style ();
}
void
@@ -1684,8 +1706,11 @@ MixerStrip::revert_to_default_display ()
gain_meter().set_controls (_route, _route->shared_peak_meter(), _route->amp());
gain_meter().setup_meters ();
+
panner_ui().set_panner (_route->main_outs()->panner());
panner_ui().setup_pan ();
+
+ reset_strip_style ();
}
void
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index e76f8170ee..5d4792d4ab 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -267,6 +267,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void drop_send ();
sigc::connection send_gone_connection;
+ void reset_strip_style ();
+
static int scrollbar_height;
void update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width width, bool input_button);