summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_time_axis.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-06-29 04:02:58 +0000
committerDavid Robillard <d@drobilla.net>2007-06-29 04:02:58 +0000
commit24ccaac67e9d416b3f3c564a441934313f3e9a21 (patch)
treef244c9835aadc67f88c73ad2f499b6575f06c27c /gtk2_ardour/automation_time_axis.h
parentf8697ed223c1f59dde5aee1ac7bff8bd8a6e19a8 (diff)
Further automation refactoring - bring in the concept of Controllable, work towards
making automation + GUI + play/write/touch generic and easily reusable. Added bar controller to automation track controls (mostly relevant for MIDI CC, but added for gain and pan too Just Because). Fixed glaring "redirect" list errors. Fix plugin controls/automation loading. git-svn-id: svn://localhost/ardour2/trunk@2080 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/automation_time_axis.h')
-rw-r--r--gtk2_ardour/automation_time_axis.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h
index e302e14ebb..b88c21d68d 100644
--- a/gtk2_ardour/automation_time_axis.h
+++ b/gtk2_ardour/automation_time_axis.h
@@ -23,6 +23,7 @@
#include <vector>
#include <list>
#include <string>
+#include <utility>
#include <boost/shared_ptr.hpp>
@@ -31,6 +32,7 @@
#include "canvas.h"
#include "time_axis_view.h"
#include "simplerect.h"
+#include "automation_controller.h"
using std::vector;
using std::list;
@@ -50,6 +52,8 @@ class GhostRegion;
class Selection;
class Selectable;
+/** TODO: All the derived types of this can probably be merged into this cleanly.
+ */
class AutomationTimeAxisView : public TimeAxisView {
public:
AutomationTimeAxisView (ARDOUR::Session&,
@@ -72,7 +76,8 @@ class AutomationTimeAxisView : public TimeAxisView {
virtual void clear_lines ();
virtual void add_line (AutomationLine&);
- vector<AutomationLine*> lines;
+ typedef vector<std::pair<AutomationLine*,boost::shared_ptr<AutomationController> > > Lines;
+ Lines lines;
void set_selected_points (PointSelection&);
void get_selectables (nframes_t start, nframes_t end, double top, double bot, list<Selectable *>&);
@@ -102,6 +107,7 @@ class AutomationTimeAxisView : public TimeAxisView {
string _name;
string _state_name;
bool in_destructor;
+ bool ignore_toggle;
bool first_call_to_set_height;
@@ -132,7 +138,7 @@ class AutomationTimeAxisView : public TimeAxisView {
bool paste_one (AutomationLine&, nframes_t, float times, Selection&, size_t nth);
void reset_objects_one (AutomationLine&, PointSelection&);
- virtual void set_automation_state (ARDOUR::AutoState) = 0;
+ void set_automation_state (ARDOUR::AutoState);
bool ignore_state_request;
void automation_state_changed ();