summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfalkTX <falktx@gmail.com>2019-01-31 13:36:23 +0000
committerfalkTX <falktx@gmail.com>2019-01-31 13:36:23 +0000
commit3a4320438440193a9aa1b579219ef6e7024f3e5e (patch)
treeb244d967131d64235f79a5dd99436c720a798255
parent1174260296a0a0296ffb974827223aea5a9fff4e (diff)
AU: Tell host when we have an UIau
-rw-r--r--distrho/src/DistrhoPluginAU.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/distrho/src/DistrhoPluginAU.cpp b/distrho/src/DistrhoPluginAU.cpp
index 453ded19..3b2fbc85 100644
--- a/distrho/src/DistrhoPluginAU.cpp
+++ b/distrho/src/DistrhoPluginAU.cpp
@@ -162,6 +162,16 @@ protected:
UInt32& outDataSize,
Boolean& outWritable) override
{
+#if DISTRHO_PLUGIN_HAS_UI
+ if (inID == kAudioUnitProperty_CocoaUI && inScope == kAudioUnitScope_Global)
+ {
+ d_stdout("GetPropertyInfo asked for CocoaUI");
+ outDataSize = sizeof(AudioUnitCocoaViewInfo);
+ outWritable = false;
+ return noErr;
+ }
+#endif
+
return AUEffectBase::GetPropertyInfo(inID, inScope, inElement, outDataSize, outWritable);
}
@@ -170,6 +180,17 @@ protected:
AudioUnitElement inElement,
void* outData) override
{
+#if DISTRHO_PLUGIN_HAS_UI
+ if (inID == kAudioUnitProperty_CocoaUI && inScope == kAudioUnitScope_Global && outData != nullptr)
+ {
+ d_stdout("GetProperty asked for CocoaUI");
+ AudioUnitCocoaViewInfo* const info = (AudioUnitCocoaViewInfo*)outData;
+ info->mCocoaAUViewBundleLocation = nullptr; // NSURL, CFURLRef
+ info->mCocoaAUViewClass[0] = nullptr; // NSString, CFStringRef
+ // return noErr;
+ }
+#endif
+
return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
}
@@ -241,7 +262,10 @@ protected:
if ((err = AUEffectBase::Initialize()) != noErr)
return err;
+ // make sure things are in sync
+ fPlugin.setBufferSize(GetMaxFramesPerSlice(), true);
fPlugin.setSampleRate(GetSampleRate(), true);
+
fPlugin.activate();
return noErr;