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 | |
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')
-rw-r--r-- | gtk2_ardour/monitor_section.cc | 21 | ||||
-rw-r--r-- | gtk2_ardour/monitor_section.h | 4 | ||||
-rw-r--r-- | gtk2_ardour/volume_controller.cc | 43 | ||||
-rw-r--r-- | gtk2_ardour/volume_controller.h | 48 | ||||
-rw-r--r-- | gtk2_ardour/wscript | 1 |
5 files changed, 13 insertions, 104 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); diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index bc502d9979..462cdbc80b 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -31,8 +31,6 @@ namespace Gtkmm2ext { class MotionFeedback; } -class VolumeController; - class MonitorSection : public RouteUI { public: @@ -71,7 +69,7 @@ class MonitorSection : public RouteUI Gtk::Adjustment solo_boost_adjustment; Gtkmm2ext::MotionFeedback* solo_boost_control; Gtk::Adjustment solo_cut_adjustment; - VolumeController* solo_cut_control; + Gtkmm2ext::MotionFeedback* solo_cut_control; void populate_buttons (); void set_button_names (); diff --git a/gtk2_ardour/volume_controller.cc b/gtk2_ardour/volume_controller.cc deleted file mode 100644 index 8cf6e68620..0000000000 --- a/gtk2_ardour/volume_controller.cc +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (C) 1998-2007 Paul Davis - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: volume_controller.cc,v 1.4 2000/05/03 15:54:21 pbd Exp $ -*/ - -#include <string.h> -#include <limits.h> - -#include "volume_controller.h" - -using namespace Gtk; - -VolumeController::VolumeController (Glib::RefPtr<Gdk::Pixbuf> p, - Gtk::Adjustment *adj, - bool with_numeric, - int subw, int subh) - - : MotionFeedback (p, MotionFeedback::Rotary, "", adj, with_numeric, subw, subh) -{ - get_adjustment()->signal_value_changed().connect (mem_fun (*this,&VolumeController::adjustment_value_changed)); -} - -void -VolumeController::adjustment_value_changed () -{ - -} - - diff --git a/gtk2_ardour/volume_controller.h b/gtk2_ardour/volume_controller.h deleted file mode 100644 index f348b00210..0000000000 --- a/gtk2_ardour/volume_controller.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - Copyright (C) 1998-2007 Paul Davis - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: volume_controller.h,v 1.4 2000/05/03 15:54:21 pbd Exp $ -*/ - -#ifndef __gtk_ardour_vol_controller_h__ -#define __gtk_ardour_vol_controller_h__ - -#include <gtkmm/adjustment.h> - -#include "gtkmm2ext/motionfeedback.h" - -// march 2010: this exists as a placeholder to add a controllable, but maybe it will -// end up in MotionFeedback - -class VolumeController : public Gtkmm2ext::MotionFeedback -{ - public: - VolumeController (Glib::RefPtr<Gdk::Pixbuf>, - Gtk::Adjustment *adj, - bool with_numeric = true, - int image_width = 40, - int image_height = 40); - - virtual ~VolumeController () {} - - private: - Gtk::Adjustment *adjustment; - void adjustment_value_changed (); -}; - -#endif // __gtk_ardour_vol_controller_h__ - - diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index b50521ec76..503dca9bcc 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -221,7 +221,6 @@ gtk2_ardour_sources = [ 'ui_config.cc', 'utils.cc', 'version.cc', - 'volume_controller.cc', 'waveview.cc', 'window_proxy.cc' ] |