summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-10-19 14:46:15 +0000
committerCarl Hetherington <carl@carlh.net>2009-10-19 14:46:15 +0000
commit7b94110c545415af8437fc6631e7663ebb5c28f3 (patch)
tree2862ba08b5a30ba632293b399fb6fcd356a14f80 /gtk2_ardour
parent16e993e51490bd6082869f7ca4783d56e7bd8bcd (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.in1
-rw-r--r--gtk2_ardour/ardour3_ui_dark_sae.rc.in1
-rw-r--r--gtk2_ardour/ardour3_ui_light.rc.in1
-rw-r--r--gtk2_ardour/ardour3_ui_light_sae.rc.in1
-rw-r--r--gtk2_ardour/mixer_strip.cc11
-rw-r--r--gtk2_ardour/mixer_strip.h2
-rw-r--r--gtk2_ardour/panner_ui.cc11
-rw-r--r--gtk2_ardour/panner_ui.h2
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;