#include "enums.h"
#include "simplerect.h"
#include "canvas.h"
-#include "color.h"
namespace Gdk {
class Color;
public:
virtual ~StreamView ();
- RouteTimeAxisView& trackview() { return _trackview; }
+ RouteTimeAxisView& trackview() { return _trackview; }
+ const RouteTimeAxisView& trackview() const { return _trackview; }
void attach ();
void set_layer_display (LayerDisplay);
- ArdourCanvas::Item* canvas_item() { return canvas_group; }
+ ArdourCanvas::Group* canvas_item() { return canvas_group; }
enum ColorTarget {
RegionColor,
void add_region_view (boost::shared_ptr<ARDOUR::Region>);
void region_layered (RegionView*);
+ virtual void update_contents_height ();
+
+ virtual void redisplay_diskstream () = 0;
sigc::signal<void,RegionView*> RegionViewAdded;
protected:
- StreamView (RouteTimeAxisView&);
+ StreamView (RouteTimeAxisView&, ArdourCanvas::Group* group = NULL);
//private: (FIXME?)
void update_rec_box ();
//virtual void update_rec_regions () = 0;
- virtual RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves) = 0;
+ virtual RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves, bool recording = false) = 0;
virtual void remove_region_view (boost::weak_ptr<ARDOUR::Region> );
//void remove_rec_region (boost::shared_ptr<ARDOUR::Region>); (unused)
void display_diskstream (boost::shared_ptr<ARDOUR::Diskstream>);
virtual void undisplay_diskstream ();
- virtual void redisplay_diskstream () = 0;
void diskstream_changed ();
virtual void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
virtual void color_handler () = 0;
- virtual void update_contents_y_position_and_height ();
-
RouteTimeAxisView& _trackview;
+ bool owns_canvas_group;
ArdourCanvas::Group* canvas_group;
ArdourCanvas::SimpleRect* canvas_rect; /* frame around the whole thing */