diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_selection.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 727b0d272b..17597d9d15 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -29,6 +29,8 @@ #include "ardour/midi_region.h" #include "ardour/audioplaylist.h" +#include "control_protocol/control_protocol.h" + #include "editor.h" #include "actions.h" #include "audio_time_axis.h" @@ -965,6 +967,8 @@ Editor::track_selection_changed () break; } + RouteNotificationListPtr routes (new RouteNotificationList); + for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { bool yn = (find (selection->tracks.begin(), selection->tracks.end(), *i) != selection->tracks.end()); @@ -983,9 +987,21 @@ Editor::track_selection_changed () } else { (*i)->hide_selection (); } + + + if (yn) { + RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (*i); + if (rtav) { + routes->push_back (rtav->route()); + } + } } ActionManager::set_sensitive (ActionManager::track_selection_sensitive_actions, !selection->tracks.empty()); + + /* notify control protocols */ + + ControlProtocol::TrackSelectionChanged (routes); } void |