mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-06 05:35:47 +01:00
AU: Support loading sessions using numeric AU IDs
This commit is contained in:
parent
088ccd24f0
commit
23c9d1b732
1 changed files with 13 additions and 0 deletions
|
|
@ -271,6 +271,18 @@ ARDOUR::find_plugin(Session& session, string identifier, PluginType type)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef AUDIOUNIT_SUPPORT
|
||||
if (type == ARDOUR::AudioUnit) {
|
||||
/* old versions saved three 32bit (really OSType) integers
|
||||
* e.g. 112233-445566-778899 (due to stringstream misinterpreting OSType)
|
||||
* instead of using Apple's UTCreateStringForOSType, which results in
|
||||
* "aaaa - bbbb - cccc"
|
||||
*/
|
||||
identifier = AUPluginInfo::convert_old_unique_id (identifier);
|
||||
for (i = plugs.begin(); i != plugs.end(); ++i) {
|
||||
if (identifier == (*i)->unique_id){
|
||||
return (*i)->load (session);
|
||||
}
|
||||
#ifdef LXVST_SUPPORT
|
||||
/* hmm, we didn't find it. could be because in older versions of Ardour.
|
||||
we used to store the name of a VST plugin, not its unique ID. so try
|
||||
|
|
@ -282,6 +294,7 @@ ARDOUR::find_plugin(Session& session, string identifier, PluginType type)
|
|||
return (*i)->load (session);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
return PluginPtr ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue