Merged with trunk R992.
[ardour.git] / gtk2_ardour / time_selection.h
1 #ifndef __ardour_gtk_time_selection_h__
2 #define __ardour_gtk_time_selection_h__
3
4 #include <list>
5 #include <ardour/types.h>
6
7 namespace ARDOUR {
8         class RouteGroup;
9 }
10
11 class TimeAxisView;
12
13 struct TimeSelection : public std::list<ARDOUR::AudioRange> {
14     
15     /* if (track == 0 && group == 0) then it applies to all
16        tracks.
17
18        if (track != 0 && group == 0) then it applies just to 
19        that track.
20
21        if (group != 0) then it applies to all tracks in 
22        the group.
23     */
24     
25     TimeAxisView*               track;
26     ARDOUR::RouteGroup*         group;
27
28     ARDOUR::AudioRange& operator[](uint32_t);
29
30     nframes_t start();
31     nframes_t end_frame();
32     nframes_t length();
33
34     bool consolidate ();
35 };
36
37
38 #endif /* __ardour_gtk_time_selection_h__ */