summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-30 19:33:29 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-30 19:33:29 +0000
commit4927f54300d0df934e9da6b90e9586853242df86 (patch)
treee3db69009e948cab24a38ee26240f703d5a089fe /libs/ardour/plugin_insert.cc
parent74933f58659051f6d4ef52d1103b2b7ba4643883 (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.cc15
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)));
}
}
}