diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-28 18:31:18 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-28 18:31:18 +0000 |
commit | 9b7a35cdc0d63d05d91f9deba294bcb7113a9106 (patch) | |
tree | 566657c72ba088461bdcd858402a01fab2738090 /libs/ardour/automatable.cc | |
parent | 422309880c0448d95c7be2cec43384b604fa427c (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.cc | 7 |
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; } |