namespace ARDOUR {
class Session;
class Route;
+ class AutomationControl;
}
class PublicEditor;
class GhostRegion;
class Selection;
class Selectable;
+class AutomationStreamView;
+class AutomationController;
class AutomationTimeAxisView : public TimeAxisView {
boost::shared_ptr<ARDOUR::AutomationControl>,
PublicEditor&,
TimeAxisView& parent,
+ bool show_regions,
ArdourCanvas::Canvas& canvas,
const string & name, /* translatable */
const string & plug_name = "");
void add_ghost (GhostRegion*);
void remove_ghost (GhostRegion*);
- void show_all_control_points ();
- void hide_all_but_selected_control_points ();
void set_state (const XMLNode&);
guint32 show_at (double y, int& nth, Gtk::VBox *parent);
static const string state_node_name;
XMLNode* get_state_node();
+
+ boost::shared_ptr<ARDOUR::AutomationControl> control() { return _control; }
+ boost::shared_ptr<AutomationController> controller() { return _controller; }
protected:
boost::shared_ptr<ARDOUR::Route> _route; ///< Parent route
ArdourCanvas::SimpleRect* _base_rect;
boost::shared_ptr<AutomationLine> _line;
+ AutomationStreamView* _view;
string _name;
bool in_destructor;
Gtk::CheckMenuItem* auto_touch_item;
Gtk::CheckMenuItem* auto_write_item;
+ Gtk::CheckMenuItem* mode_discrete_item;
+ Gtk::CheckMenuItem* mode_line_item;
+
void add_line (boost::shared_ptr<AutomationLine>);
void clear_clicked ();
bool ignore_state_request;
void automation_state_changed ();
+
+ void set_interpolation (ARDOUR::AutomationList::InterpolationStyle);
+ void interpolation_changed ();
+
sigc::connection automation_connection;
void update_extra_xml_shown (bool editor_shown);