summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-07-13 00:26:28 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-07-13 00:26:28 +0000
commit88beef2e93d26d28467fe151f5ef2972d0ca9169 (patch)
treeca2460f7e8fa7dd87d2ba79301d8aa8fc7314479 /libs/ardour/audio_unit.cc
parent402cc384ced6cb152c8abe4294009fe0de0a6dea (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.cc18
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);
+ }
}
}