Allow markers to be glued to bar/beat time. Fixes #1815.
[ardour.git] / gtk2_ardour / streamview.h
index a1ebe2cc2a9fefee42be4f64d65bcae4a9f7e64b..5dbe32b2f367b8c1671e6991ee37a624807da36c 100644 (file)
@@ -35,11 +35,11 @@ namespace Gdk {
 
 namespace ARDOUR {
        class Route;
-       class Diskstream;
        class Crossfade;
        class PeakData;
        class Region;
        class Source;
+       class Track;
 }
 
 struct RecBoxInfo {
@@ -77,7 +77,7 @@ public:
        LayerDisplay layer_display () const { return _layer_display; }
 
        ArdourCanvas::Group* background_group() { return _background_group; }
-       ArdourCanvas::Group* canvas_item() { return canvas_group; }
+       ArdourCanvas::Group* canvas_item() { return _canvas_group; }
 
        enum ColorTarget {
                RegionColor,
@@ -94,7 +94,7 @@ public:
        void         foreach_selected_regionview (sigc::slot<void,RegionView*> slot);
 
        void set_selected_regionviews (RegionSelection&);
-       void get_selectables (nframes_t, nframes_t, double, double, std::list<Selectable* >&);
+       void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list<Selectable* >&);
        void get_inverted_selectables (Selection&, std::list<Selectable* >& results);
 
        virtual void update_contents_metrics(boost::shared_ptr<ARDOUR::Region>) {}
@@ -104,7 +104,7 @@ public:
        void region_layered (RegionView*);
        virtual void update_contents_height ();
 
-       virtual void redisplay_diskstream () = 0;
+       virtual void redisplay_track () = 0;
        double child_height () const;
        ARDOUR::layer_t layers () const { return _layers; }
 
@@ -113,10 +113,9 @@ public:
        }
 
        sigc::signal<void,RegionView*> RegionViewAdded;
-       sigc::signal<void> HeightChanged;
 
 protected:
-       StreamView (RouteTimeAxisView&, ArdourCanvas::Group* group = NULL);
+       StreamView (RouteTimeAxisView&, ArdourCanvas::Group* background_group = 0, ArdourCanvas::Group* canvas_group = 0);
 
        void         transport_changed();
        void         transport_looped();
@@ -129,20 +128,21 @@ protected:
                      bool wait_for_waves, bool recording = false) = 0;
        virtual void remove_region_view (boost::weak_ptr<ARDOUR::Region> );
 
-       void         display_diskstream (boost::shared_ptr<ARDOUR::Diskstream>);
-       virtual void undisplay_diskstream ();
+       void         display_track (boost::shared_ptr<ARDOUR::Track>);
+       virtual void undisplay_track ();
        void         diskstream_changed ();
        void         layer_regions ();
 
-       virtual void playlist_switched (boost::weak_ptr<ARDOUR::Diskstream>);
-       virtual void playlist_layered (boost::weak_ptr<ARDOUR::Diskstream>);
+       virtual void playlist_switched (boost::weak_ptr<ARDOUR::Track>);
+       virtual void playlist_layered (boost::weak_ptr<ARDOUR::Track>);
 
        virtual void color_handler () = 0;
 
        RouteTimeAxisView&        _trackview;
+       bool                      owns_background_group;
        bool                      owns_canvas_group;
        ArdourCanvas::Group*      _background_group;
-       ArdourCanvas::Group*      canvas_group;
+       ArdourCanvas::Group*      _canvas_group;
        ArdourCanvas::SimpleRect* canvas_rect; /* frame around the whole thing */
 
        typedef std::list<RegionView* > RegionViewList;
@@ -155,7 +155,6 @@ protected:
        std::list< std::pair<boost::shared_ptr<ARDOUR::Region>,RegionView* > > rec_regions;
        bool                   rec_updating;
        bool                   rec_active;
-       bool                   use_rec_regions;
 
        Gdk::Color region_color;      ///< Contained region color
        uint32_t   stream_base_color; ///< Background color