diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-02-11 16:14:54 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-02-11 16:14:54 +0000 |
commit | 2484291254a949e42ab2cd1ce3595da3629cba05 (patch) | |
tree | 5a1675bc53391788dcff01d6732b2940e4c8c2e2 /gtk2_ardour/monitor_section.cc | |
parent | c1be28e7b0dde96fef3e9251e682eafbe2dcf5e9 (diff) |
provide solo mute gain Config parameter as a controllable and use it in the monitor section GUI to allow MIDI binding
git-svn-id: svn://localhost/ardour2/branches/3.0@8825 d708f5d6-7413-0410-9779-e7cbd77b26cf
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); |