diff options
Diffstat (limited to 'gtk2_ardour/monitor_section.cc')
-rw-r--r-- | gtk2_ardour/monitor_section.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index c281b0ccaf..1830933048 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -18,7 +18,6 @@ #include "monitor_section.h" #include "public_editor.h" #include "utils.h" -#include "volume_controller.h" #include "i18n.h" @@ -155,7 +154,7 @@ MonitorSection::MonitorSection (Session* s) /* Solo (SiP) cut */ - solo_cut_control = new VolumeController (little_knob_pixbuf, &solo_cut_adjustment, false, 30, 30); + solo_cut_control = new MotionFeedback (little_knob_pixbuf, MotionFeedback::Rotary, "", &solo_cut_adjustment, false, 30, 30); spin_label = manage (new Label (_("SiP Cut"))); spin_packer = manage (new VBox); @@ -310,25 +309,26 @@ MonitorSection::set_session (Session* s) _route = _session->monitor_out (); if (_route) { - /* session with control outs */ + /* session with monitor section */ _monitor = _route->monitor_control (); assign_controllables (); } else { - /* session with no control outs */ + /* session with no monitor section */ _monitor.reset (); _route.reset (); } } else { /* no session */ + _monitor.reset (); _route.reset (); control_connections.drop_connections (); rude_iso_button.set_active (false); rude_solo_button.set_active (false); - } - /* both might be null */ + assign_controllables (); + } } MonitorSection::ChannelButtonSet::ChannelButtonSet () @@ -628,9 +628,6 @@ MonitorSection::register_actions () tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); tact->set_active (Config->get_solo_mute_override()); - /* map from RC config */ - - /* note the 1-based counting (for naming - backend uses 0-based) */ @@ -1014,6 +1011,12 @@ MonitorSection::assign_controllables () return; } + if (_session) { + solo_cut_control->set_controllable (_session->solo_cut_control()); + } else { + solo_cut_control->set_controllable (none); + } + if (_route) { gain_control->set_controllable (_route->gain_control()); control_link (control_connections, _route->gain_control(), gain_adjustment); |