diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index e545a5406c..e2bfa99c27 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -271,6 +271,8 @@ Editor::Editor () , skip_button (get_waves_button ("skip_button")) , global_tracks_button (get_waves_button ("global_tracks_button")) , add_marker_button (get_waves_button ("add_marker_button")) + , global_solo_button (get_waves_button ("global_solo_button")) + , global_rec_button (get_waves_button ("global_rec_button")) , _tool_marker_button (get_waves_button ("tool_marker_button")) , _tool_arrow_button (get_waves_button ("tool_arrow_button")) , _tool_zoom_button (get_waves_button ("tool_zoom_button")) @@ -645,6 +647,8 @@ Editor::Editor () setup_toolbar (); + ARDOUR_UI::Blink.connect (sigc::mem_fun(*this, &Editor::solo_blink)); + set_zoom_focus (zoom_focus); set_visible_track_count (_visible_track_count); _snap_type = SnapToBeat; @@ -5654,3 +5658,21 @@ Editor::ui_parameter_changed (string parameter) } } } + +void +Editor::solo_blink (bool onoff) +{ + if (_session == 0) { + return; + } + + if (_session->soloing() || _session->listening()) { + if (onoff) { + global_solo_button.set_active (true); + } else { + global_solo_button.set_active (false); + } + } else { + global_solo_button.set_active (false); + } +} diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index b1ccb2e8d9..59c4e066f1 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1623,6 +1623,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD Gtk::Label toolbar_selection_cursor_label; WavesButton& add_marker_button; + WavesButton& global_solo_button; + void solo_blink (bool); + WavesButton& global_rec_button; Gtkmm2ext::TearOff* _mouse_mode_tearoff; WavesButton& _tool_marker_button; diff --git a/gtk2_ardour/icons/global_solo_button_active.png b/gtk2_ardour/icons/global_solo_button_active.png new file mode 100644 index 0000000000..ced889cb37 Binary files /dev/null and b/gtk2_ardour/icons/global_solo_button_active.png differ diff --git a/gtk2_ardour/ui/editor_window.xml b/gtk2_ardour/ui/editor_window.xml index 2e5238219c..7af2358b40 100644 --- a/gtk2_ardour/ui/editor_window.xml +++ b/gtk2_ardour/ui/editor_window.xml @@ -383,7 +383,7 @@ height="24" width="42" normalicon="global_solo_button" - activeicon="global_solo_button"/> + activeicon="global_solo_button_active"/>