diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-07-13 00:26:28 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-07-13 00:26:28 +0000 |
commit | 88beef2e93d26d28467fe151f5ef2972d0ca9169 (patch) | |
tree | ca2460f7e8fa7dd87d2ba79301d8aa8fc7314479 /libs/ardour/audio_unit.cc | |
parent | 402cc384ced6cb152c8abe4294009fe0de0a6dea (diff) |
merge pre- and post-fader processor boxes; start removing Placement (not finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode
git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r-- | libs/ardour/audio_unit.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc index 0d069c0c23..9b313a3659 100644 --- a/libs/ardour/audio_unit.cc +++ b/libs/ardour/audio_unit.cc @@ -798,6 +798,9 @@ AUPlugin::can_do (int32_t in, int32_t& out) } } + if (plugcnt == 1) { + break; + } } /* no fit */ @@ -1650,8 +1653,10 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip if (cached_io_configuration (info->unique_id, info->version, cacomp, info->cache, info->name)) { /* here we have to map apple's wildcard system to a simple pair - of values. - */ + of values. in ::can_do() we use the whole system, but here + we need a single pair of values. XXX probably means we should + remove any use of these values. + */ info->n_inputs = info->cache.io_configs.front().first; info->n_outputs = info->cache.io_configs.front().second; @@ -1824,7 +1829,8 @@ AUPluginInfo::load_cached_info () } std::string id = prop->value(); - + AUPluginCachedInfo cinfo; + for (XMLNodeConstIterator giter = gchildren.begin(); giter != gchildren.end(); giter++) { gchild = *giter; @@ -1841,12 +1847,14 @@ AUPluginInfo::load_cached_info () in = atoi (iprop->value()); out = atoi (iprop->value()); - AUPluginCachedInfo cinfo; cinfo.io_configs.push_back (pair<int,int> (in, out)); - add_cached_info (id, cinfo); } } } + + if (cinfo.io_configs.size()) { + add_cached_info (id, cinfo); + } } } |