diff options
author | falkTX <falktx@gmail.com> | 2019-01-31 13:36:23 +0000 |
---|---|---|
committer | falkTX <falktx@gmail.com> | 2019-01-31 13:36:23 +0000 |
commit | 3a4320438440193a9aa1b579219ef6e7024f3e5e (patch) | |
tree | b244d967131d64235f79a5dd99436c720a798255 | |
parent | 1174260296a0a0296ffb974827223aea5a9fff4e (diff) |
AU: Tell host when we have an UIau
-rw-r--r-- | distrho/src/DistrhoPluginAU.cpp | 24 |
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; |