#include "pbd/memento_command.h"
#include "ardour/automation_list.h"
+#include "ardour/parameter_descriptor.h"
#include "ardour/types.h"
#include "canvas/types.h"
SelectedControlPoints = 0x4
};
- AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Item&,
- boost::shared_ptr<ARDOUR::AutomationList>,
+ AutomationLine (const std::string& name,
+ TimeAxisView& tv,
+ ArdourCanvas::Item& parent,
+ boost::shared_ptr<ARDOUR::AutomationList> al,
+ const ARDOUR::ParameterDescriptor& desc,
Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
+
virtual ~AutomationLine ();
void queue_reset ();
void view_to_model_coord (double& x, double& y) const;
void view_to_model_coord_y (double &) const;
void model_to_view_coord (double& x, double& y) const;
+ void model_to_view_coord_y (double &) const;
void set_list(boost::shared_ptr<ARDOUR::AutomationList> list);
boost::shared_ptr<ARDOUR::AutomationList> the_list() const { return alist; }
typedef boost::shared_ptr<ContiguousControlPoints> CCP;
std::vector<CCP> contiguous_points;
- void sync_model_with_view_point (ControlPoint&);
- void sync_model_with_view_points (std::list<ControlPoint*>);
+ bool sync_model_with_view_point (ControlPoint&);
+ bool sync_model_with_view_points (std::list<ControlPoint*>);
void start_drag_common (double, float);
- virtual void change_model (ARDOUR::AutomationList::iterator, double x, double y);
-
void reset_callback (const Evoral::ControlList&);
void list_changed ();
*/
ARDOUR::framecnt_t _offset;
+ bool is_stepped() const;
void update_visibility ();
void reset_line_coords (ControlPoint&);
void add_visible_control_point (uint32_t, uint32_t, double, double, ARDOUR::AutomationList::iterator, uint32_t);
/** maximum time that a point on this line can be at, relative to the position of its region or start of its track */
ARDOUR::framecnt_t _maximum_time;
+ const ARDOUR::ParameterDescriptor _desc;
+
friend class AudioRegionGainLine;
};