diff options
author | Carl Hetherington <carl@carlh.net> | 2009-10-19 14:46:15 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-10-19 14:46:15 +0000 |
commit | 7b94110c545415af8437fc6631e7663ebb5c28f3 (patch) | |
tree | 2862ba08b5a30ba632293b399fb6fcd356a14f80 /gtk2_ardour | |
parent | 16e993e51490bd6082869f7ca4783d56e7bd8bcd (diff) |
Add mono switch to mixer strips (mantis 1068)
git-svn-id: svn://localhost/ardour2/branches/3.0@5797 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour3_ui_dark.rc.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_ui_dark_sae.rc.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_ui_light.rc.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour3_ui_light_sae.rc.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 11 | ||||
-rw-r--r-- | gtk2_ardour/panner_ui.h | 2 |
8 files changed, 29 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in index ec4d61dfd3..7fd11df4f3 100644 --- a/gtk2_ardour/ardour3_ui_dark.rc.in +++ b/gtk2_ardour/ardour3_ui_dark.rc.in @@ -1357,6 +1357,7 @@ widget "*MixerGroupButton" style:highest "very_small_button" widget "*MixerGroupButtonLabel" style:highest "very_small_button" widget "*MixerCommentButton" style:highest "very_small_button" widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*MixerMonoButton*" style:highest "very_small_button" widget "*EditGroupButton" style:highest "very_small_button" widget "*EditGroupButtonLabel" style:highest "very_small_button" widget "*TransportButton" style:highest "transport_rec_button" diff --git a/gtk2_ardour/ardour3_ui_dark_sae.rc.in b/gtk2_ardour/ardour3_ui_dark_sae.rc.in index cefd45cbd0..1cb58e3285 100644 --- a/gtk2_ardour/ardour3_ui_dark_sae.rc.in +++ b/gtk2_ardour/ardour3_ui_dark_sae.rc.in @@ -1306,6 +1306,7 @@ widget "*MixerGroupButton" style:highest "very_small_button" widget "*MixerGroupButtonLabel" style:highest "very_small_button" widget "*MixerCommentButton" style:highest "very_small_button" widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*MixerMonoButton*" style:highest "very_small_button" widget "*EditGroupButton" style:highest "very_small_button" widget "*EditGroupButtonLabel" style:highest "very_small_button" widget "*TransportButton" style:highest "transport_rec_button" diff --git a/gtk2_ardour/ardour3_ui_light.rc.in b/gtk2_ardour/ardour3_ui_light.rc.in index 5176556ba8..62b107ce76 100644 --- a/gtk2_ardour/ardour3_ui_light.rc.in +++ b/gtk2_ardour/ardour3_ui_light.rc.in @@ -1310,6 +1310,7 @@ widget "*MixerGroupButton" style:highest "very_small_button" widget "*MixerGroupButtonLabel" style:highest "very_small_button" widget "*MixerCommentButton" style:highest "very_small_button" widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*MixerMonoButton*" style:highest "very_small_button" widget "*EditGroupButton" style:highest "very_small_button" widget "*EditGroupButtonLabel" style:highest "very_small_button" widget "*TransportButton" style:highest "transport_rec_button" diff --git a/gtk2_ardour/ardour3_ui_light_sae.rc.in b/gtk2_ardour/ardour3_ui_light_sae.rc.in index d41ac4fb97..c1b10a40be 100644 --- a/gtk2_ardour/ardour3_ui_light_sae.rc.in +++ b/gtk2_ardour/ardour3_ui_light_sae.rc.in @@ -1310,6 +1310,7 @@ widget "*MixerGroupButton" style:highest "very_small_button" widget "*MixerGroupButtonLabel" style:highest "very_small_button" widget "*MixerCommentButton" style:highest "very_small_button" widget "*MixerCommentButton*" style:highest "very_small_button" +widget "*MixerMonoButton*" style:highest "very_small_button" widget "*EditGroupButton" style:highest "very_small_button" widget "*EditGroupButtonLabel" style:highest "very_small_button" widget "*TransportButton" style:highest "transport_rec_button" diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 17761798c2..10e6999d05 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -81,6 +81,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, bool in_mixer) , processor_box (sess, mx.plugin_selector(), mx.selection(), this, in_mixer) , gpm (sess) , panners (sess) + , _mono_button (_("Mono")) , button_table (3, 2) , middle_button_table (1, 2) , bottom_button_table (1, 2) @@ -236,6 +237,7 @@ MixerStrip::init () if (!is_midi_track()) { global_vpacker.pack_start (panners, Gtk::PACK_SHRINK); } + global_vpacker.pack_start (_mono_button, Gtk::PACK_SHRINK); global_vpacker.pack_start (output_button, Gtk::PACK_SHRINK); global_vpacker.pack_start (comment_button, Gtk::PACK_SHRINK); @@ -387,6 +389,9 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt) name_label.set_text (_route->name()); } + _mono_button.set_name ("MixerMonoButton"); + _mono_button.signal_clicked().connect (mem_fun (*this, &MixerStrip::mono_button_clicked)); + switch (_route->meter_point()) { case MeterInput: meter_point_label.set_text (_("input")); @@ -1782,3 +1787,9 @@ MixerStrip::on_leave_notify_event (GdkEventCrossing* ev) return false; } + +void +MixerStrip::mono_button_clicked () +{ + panners.set_mono (_mono_button.get_active ()); +} diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index afacd4a328..c83c260845 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -142,6 +142,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox ProcessorBox processor_box; GainMeter gpm; PannerUI panners; + Gtk::ToggleButton _mono_button; Gtk::Table button_table; Gtk::Table middle_button_table; @@ -176,6 +177,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox void comment_editor_done_editing(); void setup_comment_editor (); void comment_button_clicked (); + void mono_button_clicked (); Gtk::Button group_button; Gtk::Label group_label; diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 31403220fe..a643e1b318 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -708,7 +708,7 @@ PannerUI::update_pan_bars (bool only_if_aplay) void PannerUI::update_pan_sensitive () { - bool sensitive = !(_panner->automation_state() & Play); + bool const sensitive = !(_panner->mono()) && !(_panner->automation_state() & Play); switch (_panner->nouts()) { case 0: @@ -890,3 +890,12 @@ PannerUI::_astyle_string (AutoStyle style, bool shrt) return (shrt ? _("Abs") : _("Abs")); } } + +void +PannerUI::set_mono (bool yn) +{ + _panner->set_mono (yn); + update_pan_sensitive (); +} + + diff --git a/gtk2_ardour/panner_ui.h b/gtk2_ardour/panner_ui.h index 724b8b86e7..bebffec6c0 100644 --- a/gtk2_ardour/panner_ui.h +++ b/gtk2_ardour/panner_ui.h @@ -74,6 +74,8 @@ class PannerUI : public Gtk::HBox void set_meter_strip_name (std::string name); boost::shared_ptr<PBD::Controllable> get_controllable(); + void set_mono (bool); + private: friend class MixerStrip; |