summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_region.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-06 02:30:39 +0000
committerDavid Robillard <d@drobilla.net>2007-09-06 02:30:39 +0000
commitc190aca4a0debe1220558d14afb8f1ab4adb959f (patch)
tree1c2749473afe96f41cd99d1036533342db98a1ba /libs/ardour/ardour/midi_region.h
parent7423ad46a742fbfd03ee4e54e78167c9006a2e8d (diff)
Deep "automation regions" support.
Fix zoom/height/etc changing for automation region views. Broke smooth automation region dragging (make omelette, break eggs, etc). git-svn-id: svn://localhost/ardour2/trunk@2424 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_region.h')
-rw-r--r--libs/ardour/ardour/midi_region.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h
index 294c2d3291..869436e423 100644
--- a/libs/ardour/ardour/midi_region.h
+++ b/libs/ardour/ardour/midi_region.h
@@ -31,6 +31,7 @@
#include <ardour/gain.h>
#include <ardour/logcurve.h>
#include <ardour/export.h>
+#include <ardour/midi_source.h>
class XMLNode;
@@ -69,6 +70,17 @@ class MidiRegion : public Region
UndoAction get_memento() const;
+ // Act as a proxy for MidiModel automation stuff (for CC)
+ // Yep, this is pretty ugly...
+ Controls& controls() { return midi_source()->model()->controls(); }
+ const Controls& controls() const { return midi_source()->model()->controls(); }
+
+ boost::shared_ptr<AutomationControl> control(Parameter id, bool create_if_missing=false)
+ { return midi_source()->model()->control(id, create_if_missing); }
+
+ boost::shared_ptr<const AutomationControl> control(Parameter id) const
+ { return midi_source()->model()->control(id); }
+
private:
friend class RegionFactory;