summaryrefslogtreecommitdiff
path: root/libs/ardour/automatable.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-11-28 18:31:18 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-11-28 18:31:18 +0000
commit9b7a35cdc0d63d05d91f9deba294bcb7113a9106 (patch)
tree566657c72ba088461bdcd858402a01fab2738090 /libs/ardour/automatable.cc
parent422309880c0448d95c7be2cec43384b604fa427c (diff)
more or less complete restoration of Controllable::_id from XML, with all that implies for MIDI bindings continuing to work across session reloads, and also that the controlled parameter is now set from Controllable::set_value() during session loading, not directly from its "own" XML value; still some funny stuff going on with Panners. This may have broken 2.X session loading in that panners may not be setup correctly
git-svn-id: svn://localhost/ardour2/branches/3.0@8117 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/automatable.cc')
-rw-r--r--libs/ardour/automatable.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc
index 4de2e89b41..903ae5df75 100644
--- a/libs/ardour/automatable.cc
+++ b/libs/ardour/automatable.cc
@@ -456,9 +456,10 @@ Automatable::control_factory(const Evoral::Parameter& param)
warning << "GainAutomation for non-Amp" << endl;
}
} else if (param.type() == PanAutomation) {
- Panner* me = dynamic_cast<Panner*>(this);
- if (me) {
- control = new Panner::PanControllable(me->session(), X_("panner"), *me, param);
+ Panner* panner = dynamic_cast<Panner*>(this);
+ if (panner) {
+ StreamPanner& sp (panner->streampanner (param.channel()));
+ control = new StreamPanner::PanControllable (_a_session, X_("direction"), sp, param);
} else {
warning << "PanAutomation for non-Panner" << endl;
}