summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/mixer_strip.cc')
-rw-r--r--gtk2_ardour/mixer_strip.cc25
1 files changed, 23 insertions, 2 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 15550f4cd4..c069151bbe 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -87,7 +87,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
, panners (sess)
, button_table (3, 1)
, solo_led_table (2, 2)
- , middle_button_table (1, 2)
+ , middle_button_table (2, 2)
, bottom_button_table (1, 2)
, meter_point_label (_("pre"))
, midi_input_enable_button (0)
@@ -112,7 +112,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
, gpm (sess, 250)
, panners (sess)
, button_table (3, 1)
- , middle_button_table (1, 2)
+ , middle_button_table (2, 2)
, bottom_button_table (1, 2)
, meter_point_label (_("pre"))
, midi_input_enable_button (0)
@@ -184,6 +184,9 @@ MixerStrip::init ()
mute_button->set_name ("MixerMuteButton");
solo_button->set_name ("MixerSoloButton");
+ monitor_input_button->set_name ("MixerMonitorInputButton");
+ monitor_disk_button->set_name ("MixerMonitorInputButton");
+
solo_isolated_led = manage (new LED);
solo_isolated_led->show ();
solo_isolated_led->set_diameter (6);
@@ -235,6 +238,8 @@ MixerStrip::init ()
middle_button_table.set_spacings (0);
middle_button_table.attach (*mute_button, 0, 1, 0, 1);
middle_button_table.attach (*solo_button, 1, 2, 0, 1);
+ middle_button_table.attach (*monitor_input_button, 0, 1, 1, 2);
+ middle_button_table.attach (*monitor_disk_button, 1, 2, 1, 2);
bottom_button_table.set_col_spacings (0);
bottom_button_table.set_homogeneous (true);
@@ -396,6 +401,14 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
global_vpacker.pack_start (*spacer, false, false);
}
+ if (is_track()) {
+ monitor_input_button->show ();
+ monitor_disk_button->show ();
+ } else {
+ monitor_input_button->hide();
+ monitor_disk_button->hide ();
+ }
+
if (is_midi_track()) {
if (midi_input_enable_button == 0) {
Image* img = manage (new Image (get_icon (X_("midi_socket_small"))));
@@ -1643,6 +1656,8 @@ MixerStrip::drop_send ()
rec_enable_button->set_sensitive (true);
solo_isolated_led->set_sensitive (true);
solo_safe_led->set_sensitive (true);
+ monitor_input_button->set_sensitive (true);
+ monitor_disk_button->set_sensitive (true);
}
void
@@ -1679,6 +1694,8 @@ MixerStrip::show_send (boost::shared_ptr<Send> send)
rec_enable_button->set_sensitive (false);
solo_isolated_led->set_sensitive (false);
solo_safe_led->set_sensitive (false);
+ monitor_input_button->set_sensitive (false);
+ monitor_disk_button->set_sensitive (false);
if (boost::dynamic_pointer_cast<InternalSend>(send)) {
output_button.set_sensitive (false);
@@ -1714,6 +1731,8 @@ MixerStrip::set_button_names ()
case Wide:
rec_enable_button_label.set_text (_("Rec"));
mute_button_label.set_text (_("Mute"));
+ monitor_input_button_label.set_text (_("In"));
+ monitor_disk_button_label.set_text (_("Disk"));
if (_route && _route->solo_safe()) {
solo_button_label.set_text (X_("!"));
} else {
@@ -1735,6 +1754,8 @@ MixerStrip::set_button_names ()
default:
rec_enable_button_label.set_text (_("R"));
mute_button_label.set_text (_("M"));
+ monitor_input_button_label.set_text (_("I"));
+ monitor_disk_button_label.set_text (_("D"));
if (_route && _route->solo_safe()) {
solo_button_label.set_text (X_("!"));
if (!Config->get_solo_control_is_listen_control()) {