improved version of last commit, for tracking plugin control changes and mapping them to PluginInsert automation controls
git-svn-id: svn://localhost/ardour2/branches/3.0@13025 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
67f8063256
commit
bfd2ee48ce
@ -2790,11 +2790,6 @@ AUPlugin::parameter_change_listener (void* /*arg*/, void* /*src*/, const AudioUn
|
|||||||
ParameterMap::iterator i = parameter_map.find (event->mArgument.mParameter.mParameterID);
|
ParameterMap::iterator i = parameter_map.find (event->mArgument.mParameter.mParameterID);
|
||||||
|
|
||||||
if (i != parameter_map.end()) {
|
if (i != parameter_map.end()) {
|
||||||
boost::shared_ptr<AutomationControl> ac = automation_control (Evoral::Parameter (PluginAutomation, 0, i->second));
|
|
||||||
if (ac) {
|
|
||||||
cerr << "updating " << ac->name() << " to << new_value << endl;
|
|
||||||
ac->set_double (new_value);
|
|
||||||
}
|
|
||||||
ParameterChanged (i->second, new_value);
|
ParameterChanged (i->second, new_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -264,8 +264,18 @@ PluginInsert::create_automatable_parameters ()
|
|||||||
void
|
void
|
||||||
PluginInsert::parameter_changed (Evoral::Parameter which, float val)
|
PluginInsert::parameter_changed (Evoral::Parameter which, float val)
|
||||||
{
|
{
|
||||||
if (which.type() != PluginAutomation)
|
if (which.type() != PluginAutomation) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cerr << "Param change: " << which << endl;
|
||||||
|
|
||||||
|
boost::shared_ptr<AutomationControl> ac = automation_control (which);
|
||||||
|
|
||||||
|
if (ac) {
|
||||||
|
cerr << "updating " << ac->name() << " to " << val << endl;
|
||||||
|
ac->set_double (val);
|
||||||
|
}
|
||||||
|
|
||||||
Plugins::iterator i = _plugins.begin();
|
Plugins::iterator i = _plugins.begin();
|
||||||
|
|
||||||
@ -1258,6 +1268,11 @@ void
|
|||||||
PluginInsert::add_plugin (boost::shared_ptr<Plugin> plugin)
|
PluginInsert::add_plugin (boost::shared_ptr<Plugin> plugin)
|
||||||
{
|
{
|
||||||
plugin->set_insert_info (this);
|
plugin->set_insert_info (this);
|
||||||
|
|
||||||
|
if (_plugins.empty()) {
|
||||||
|
plugin->ParameterChanged.connect_same_thread (*this, boost::bind (&PluginInsert::parameter_changed, this, _1, _2));
|
||||||
|
}
|
||||||
|
|
||||||
_plugins.push_back (plugin);
|
_plugins.push_back (plugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user