summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_time_axis.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-04-20 12:38:37 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-04-20 12:38:37 +0000
commitf119387d767d9e8411556579e48022ed9b5d3974 (patch)
tree5595577ae9970b34bfb9bd6c4ef03e34891e7a7a /gtk2_ardour/route_time_axis.cc
parent2cb5595b11df77375d199c4bed3e35361fba52a3 (diff)
indicate "soloed-by-others" state on solo button via a "half-lit" state
git-svn-id: svn://localhost/ardour2/branches/3.0@6939 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
-rw-r--r--gtk2_ardour/route_time_axis.cc34
1 files changed, 19 insertions, 15 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index b3b3f360e3..bb4737622f 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -116,8 +116,6 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, boost::sh
, gm (sess, slider, true, 115)
, _ignore_track_mode_change (false)
{
- set_button_names ();
-
gm.set_controls (_route, _route->shared_peak_meter(), _route->amp());
gm.get_level_meter().set_no_show_all();
gm.get_level_meter().setup_meters(50);
@@ -134,6 +132,9 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, boost::sh
_marked_for_display = true;
}
+ mute_changed (0);
+ solo_changed (0);
+
timestretch_rect = 0;
no_redraw = false;
destructive_track_mode_item = 0;
@@ -2422,18 +2423,21 @@ RouteTimeAxisView::set_button_names ()
{
rec_enable_button_label.set_text (_("r"));
- if (Config->get_solo_control_is_listen_control()) {
- switch (Config->get_listen_position()) {
- case AfterFaderListen:
- solo_button_label.set_text (_("A"));
- break;
- case PreFaderListen:
- solo_button_label.set_text (_("P"));
- break;
- }
- } else {
- solo_button_label.set_text (_("s"));
- }
-
+ if (_route && _route->solo_safe()) {
+ solo_button_label.set_text (X_("!"));
+ } else {
+ if (Config->get_solo_control_is_listen_control()) {
+ switch (Config->get_listen_position()) {
+ case AfterFaderListen:
+ solo_button_label.set_text (_("A"));
+ break;
+ case PreFaderListen:
+ solo_button_label.set_text (_("P"));
+ break;
+ }
+ } else {
+ solo_button_label.set_text (_("s"));
+ }
+ }
mute_button_label.set_text (_("m"));
}