summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_strip.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-11 01:50:30 +0200
committerRobin Gareus <robin@gareus.org>2013-07-11 01:50:30 +0200
commitc27f4ed7eb3f404b08f90612dc6beb8e259cfaef (patch)
tree51d43b4666cf1681799950a64464c8097876960a /gtk2_ardour/meter_strip.cc
parent146fca3674a6989081ab5a2fb8675e08e859d696 (diff)
meterbridge update solo-button label (AFL,PFL, locked)
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r--gtk2_ardour/meter_strip.cc25
1 files changed, 24 insertions, 1 deletions
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index 5fdb6263b0..a397ed232b 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -270,9 +270,32 @@ void
MeterStrip::set_button_names()
{
mute_button->set_text (_("M"));
- solo_button->set_text (_("S"));
rec_enable_button->set_text ("");
rec_enable_button->set_image (::get_icon (X_("record_normal_red")));
+
+ if (_route && _route->solo_safe()) {
+ solo_button->remove ();
+ if (solo_safe_pixbuf == 0) {
+ solo_safe_pixbuf =::get_icon("solo-safe-icon");
+ }
+ solo_button->set_image (solo_safe_pixbuf);
+ solo_button->set_text (string());
+ } else {
+ solo_button->set_image (Glib::RefPtr<Gdk::Pixbuf>());
+ if (!Config->get_solo_control_is_listen_control()) {
+ solo_button->set_text (_("S"));
+ } else {
+ switch (Config->get_listen_position()) {
+ case AfterFaderListen:
+ solo_button->set_text (_("A"));
+ break;
+ case PreFaderListen:
+ solo_button->set_text (_("P"));
+ break;
+ }
+ }
+ }
+
}
void