diff options
author | Sampo Savolainen <v2@iki.fi> | 2006-01-22 00:08:38 +0000 |
---|---|---|
committer | Sampo Savolainen <v2@iki.fi> | 2006-01-22 00:08:38 +0000 |
commit | 860749eb130317f9db999331c558ef57d95de2d9 (patch) | |
tree | d7debebd01ee7efe60139690f9a1d53328c9bfec /libs/ardour/plugin_manager.cc | |
parent | 897d071e97bf87ef7f759b985b67331623314bf4 (diff) |
Added the property "unique-id" to PluginInserts so that ladspa plugins
will be loaded by their UID instead of their name.
git-svn-id: svn://localhost/trunk/ardour2@285 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/plugin_manager.cc')
-rw-r--r-- | libs/ardour/plugin_manager.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 0adf8203b6..36cc80a660 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -258,6 +258,7 @@ PluginManager::ladspa_discover (string path) info->n_inputs = 0; info->n_outputs = 0; info->type = PluginInfo::LADSPA; + info->unique_id = descriptor->UniqueID; for (uint32_t n=0; n < descriptor->PortCount; ++n) { if ( LADSPA_IS_PORT_AUDIO (descriptor->PortDescriptors[n]) ) { @@ -326,7 +327,7 @@ PluginManager::load (Session& session, PluginInfo *info) } Plugin * -ARDOUR::find_plugin(Session& session, string name, PluginInfo::Type type) +ARDOUR::find_plugin(Session& session, string name, long unique_id, PluginInfo::Type type) { PluginManager *mgr = PluginManager::the_manager(); list<PluginInfo *>::iterator i; @@ -338,11 +339,13 @@ ARDOUR::find_plugin(Session& session, string name, PluginInfo::Type type) break; case PluginInfo::VST: plugs = &mgr->vst_plugin_info(); + unique_id = 0; // VST plugins don't have a unique id. break; } for (i = plugs->begin(); i != plugs->end(); ++i) { - if ((*i)->name == name) { + if ((name == "" || (*i)->name == name) && + (unique_id == 0 || (*i)->unique_id == unique_id)) { return mgr->load (session, *i); } } |