diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-20 17:11:00 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-20 17:11:00 +0000 |
commit | 908b1c93014c3f30d883b25cbe50c166edfc2232 (patch) | |
tree | b78b76b25afd4832f2d88d6091e7e9953b0607f8 /gtk2_ardour | |
parent | 8f7f17187770afc8352dad61ca48ff304c734f68 (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.in | 12 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 77 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.h | 2 |
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); |