diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-30 19:33:29 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-30 19:33:29 +0000 |
commit | 4927f54300d0df934e9da6b90e9586853242df86 (patch) | |
tree | e3db69009e948cab24a38ee26240f703d5a089fe /libs/ardour/plugin_insert.cc | |
parent | 74933f58659051f6d4ef52d1103b2b7ba4643883 (diff) |
make sure that Parameter that is used by a PluginInsert AutomationControl is the one with the ranges set
git-svn-id: svn://localhost/ardour2/branches/3.0@6415 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index a85cc1ee86..518473a8c9 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -205,12 +205,19 @@ PluginInsert::set_automatable () for (set<Evoral::Parameter>::iterator i = a.begin(); i != a.end(); ++i) { if (i->type() == PluginAutomation) { - can_automate (*i); - _plugins.front()->get_parameter_descriptor(i->id(), desc); + Evoral::Parameter param(*i); - param.set_range(desc.lower, desc.upper, _plugins.front()->default_value(i->id())); + + _plugins.front()->get_parameter_descriptor(i->id(), desc); + + /* the Parameter belonging to the actual plugin doesn't have its range set + but we want the Controllable related to this Parameter to have those limits. + */ + + param.set_range (desc.lower, desc.upper, _plugins.front()->default_value(i->id())); + can_automate (param); boost::shared_ptr<AutomationList> list(new AutomationList(param)); - add_control(boost::shared_ptr<AutomationControl>(new PluginControl(this, *i, list))); + add_control (boost::shared_ptr<AutomationControl>(new PluginControl(this, param, list))); } } } |