X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftrack_selection.h;h=d94ec3c8c1773bf39aa1edf6c09014a0704b35a9;hb=75a3964c1073832249d1d8776f46fedbd9f97035;hp=46c04183a42ccad148186c0ee1b09614e411c104;hpb=f9e3a8b59fe3af25665d257601874166c8f722d6;p=ardour.git diff --git a/gtk2_ardour/track_selection.h b/gtk2_ardour/track_selection.h index 46c04183a4..d94ec3c8c1 100644 --- a/gtk2_ardour/track_selection.h +++ b/gtk2_ardour/track_selection.h @@ -22,6 +22,8 @@ #include "track_view_list.h" #include "route_ui.h" +#include "audio_time_axis.h" +#include "midi_time_axis.h" class PublicEditor; @@ -32,17 +34,56 @@ public: TrackSelection (PublicEditor const *, TrackViewList const &); virtual ~TrackSelection (); - + TrackViewList add (TrackViewList const &); + template + void foreach_time_axis (Function f) { + for (iterator i = begin(); i != end(); ++i) { + f (*i); + } + } + template void foreach_route_ui (Function f) { for (iterator i = begin(); i != end(); ++i) { RouteUI* t = dynamic_cast (*i); - f (t); + if (t) { + f (t); + } + } + } + + template + void foreach_route_time_axis (Function f) { + for (iterator i = begin(); i != end(); ++i) { + RouteTimeAxisView* t = dynamic_cast (*i); + if (t) { + f (t); + } } } - + + template + void foreach_audio_time_axis (Function f) { + for (iterator i = begin(); i != end(); ++i) { + AudioTimeAxisView* t = dynamic_cast (*i); + if (t) { + f (t); + } + } + } + + template + void foreach_midi_time_axis (Function f) { + for (iterator i = begin(); i != end(); ++i) { + MidiTimeAxisView* t = dynamic_cast (*i); + if (t) { + f (t); + } + } + } + private: PublicEditor const * _editor; };