X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_region_view.h;h=6d3a00d4b6a69133a2251aeda535a872879f8d97;hb=8dd31447be22c20a51f019c8ea77c27ba975815c;hp=79ba84b2efc56504b0c4d9f2d3a99c4282cc5337;hpb=c190aca4a0debe1220558d14afb8f1ab4adb959f;p=ardour.git diff --git a/gtk2_ardour/automation_region_view.h b/gtk2_ardour/automation_region_view.h index 79ba84b2ef..6d3a00d4b6 100644 --- a/gtk2_ardour/automation_region_view.h +++ b/gtk2_ardour/automation_region_view.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2007 Paul Davis + Copyright (C) 2007 Paul Davis Author: Dave Robillard This program is free software; you can redistribute it and/or modify @@ -20,8 +20,8 @@ #ifndef __gtk_ardour_automation_region_view_h__ #define __gtk_ardour_automation_region_view_h__ -#include -#include +#include "ardour/diskstream.h" +#include "ardour/types.h" #include "region_view.h" #include "automation_time_axis.h" @@ -31,9 +31,10 @@ namespace ARDOUR { class AutomationList; + class Parameter; }; -class AutomationTimeAxisView; +class TimeAxisView; class AutomationRegionView : public RegionView { @@ -41,35 +42,39 @@ public: AutomationRegionView(ArdourCanvas::Group*, AutomationTimeAxisView&, boost::shared_ptr, + const Evoral::Parameter& parameter, boost::shared_ptr, double initial_samples_per_unit, - Gdk::Color& basic_color); + Gdk::Color const & basic_color); ~AutomationRegionView() {} - - void init (Gdk::Color& basic_color, bool wfd); - + + void init (Gdk::Color const & basic_color, bool wfd); + inline AutomationTimeAxisView* automation_view() const { return dynamic_cast(&trackview); } - - AutomationLine& line() { return _line; } - + + void set_line(boost::shared_ptr line) { _line = line; } + boost::shared_ptr line() { return _line; } + // We are a ghost. Meta ghosts? Crazy talk. - virtual GhostRegion* add_ghost(AutomationTimeAxisView&) { return NULL; } - + virtual GhostRegion* add_ghost(TimeAxisView&) { return NULL; } + + void set_height (double); void reset_width_dependent_items(double pixel_width); protected: - bool set_position(nframes_t pos, void* src, double* ignored); - void set_y_position_and_height(double y, double h); - void region_resized(ARDOUR::Change what_changed); + void create_line(boost::shared_ptr list); + bool set_position(nframes64_t pos, void* src, double* ignored); + void region_resized (const PBD::PropertyChange&); bool canvas_event(GdkEvent* ev); void add_automation_event (GdkEvent* event, nframes_t when, double y); void entered(); void exited(); private: - AutomationLine _line; + Evoral::Parameter _parameter; + boost::shared_ptr _line; }; #endif /* __gtk_ardour_automation_region_view_h__ */