summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_time_axis.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-08-31 17:52:09 -0400
committerDavid Robillard <d@drobilla.net>2014-08-31 17:54:16 -0400
commitb469cd217f2c205872310022202ab25a71b77169 (patch)
tree2084817025f5d2dfa3d32ac90b6750e9bfb1ca23 /gtk2_ardour/midi_time_axis.cc
parent885f1c71ec62dbfa2250d8821e698dfe01be93d7 (diff)
Bring back control slider on MIDI controller "tracks".
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r--gtk2_ardour/midi_time_axis.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 00f16ce1b6..7ccb480e59 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -1318,6 +1318,8 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
}
boost::shared_ptr<AutomationTimeAxisView> track;
+ boost::shared_ptr<AutomationControl> control;
+
switch (param.type()) {
@@ -1340,15 +1342,19 @@ MidiTimeAxisView::create_automation_child (const Evoral::Parameter& param, bool
case MidiSystemExclusiveAutomation:
/* These controllers are region "automation" - they are owned
* by regions (and their MidiModels), not by the track. As a
- * result we do not create an AutomationList/Line for the track
- * ... except here we are doing something!! XXX
+ * result there is no AutomationList/Line for the track, but we create
+ * a controller for the user to write immediate events, so the editor
+ * can act as a control surface for the present MIDI controllers.
+ *
+ * TODO: Record manipulation of the controller to regions?
*/
+ control = _route->automation_control(param, true);
track.reset (new AutomationTimeAxisView (
_session,
_route,
- boost::shared_ptr<Automatable> (),
- boost::shared_ptr<AutomationControl> (),
+ control ? _route : boost::shared_ptr<Automatable> (),
+ control,
param,
_editor,
*this,