summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-08-12 19:43:09 +0000
committerDavid Robillard <d@drobilla.net>2006-08-12 19:43:09 +0000
commita98a67120eea8ebb817eebea048affc182ea054e (patch)
tree2c8c9db7c0d8d18bf5185e10d471d6daa7a7de3d /libs/ardour/audio_unit.cc
parent30ab1fd61569f9d7fb7410d483fa68cbf9865c37 (diff)
Merged with trunk R795
Fiddled with scrolling to leave a bit of context on each side. 'scroll interval' is a single float, should make it a configuration variable some day git-svn-id: svn://localhost/ardour2/branches/midi@796 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r--libs/ardour/audio_unit.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 0a31df40ee..ad98621814 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -137,7 +137,7 @@ AUPlugin::get_parameter (uint32_t which) const
int
AUPlugin::get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const
{
- return -1;
+ return 0;
}
uint32_t
@@ -325,6 +325,7 @@ AUPluginInfo::discover ()
plug->type = ARDOUR::AudioUnit;
plug->n_inputs = 0;
plug->n_outputs = 0;
+ // plug->setup_nchannels (temp);
plug->category = "AudioUnit";
plug->desc = new CAComponentDescription(temp);
@@ -376,3 +377,20 @@ AUPluginInfo::get_name (CAComponentDescription& comp_desc)
return CFStringRefToStdString(itemName);
}
+
+void
+AUPluginInfo::setup_nchannels (CAComponentDescription& comp_desc)
+{
+ CAAudioUnit unit;
+
+ CAAudioUnit::Open (comp_desc, unit);
+
+ if (unit.SupportsNumChannels()) {
+ n_inputs = n_outputs = 0;
+ } else {
+ AUChannelInfo cinfo;
+ size_t info_size = sizeof(cinfo);
+ OSStatus err = AudioUnitGetProperty (unit.AU(), kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global,
+ 0, &cinfo, &info_size);
+ }
+}