mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Added method VSTPluginFormat::getPluginInstanceFromVstEffectInterface() which can be used for devious purposes to retrieve a plugin's AudioPluginInstance object from an AEffect
This commit is contained in:
parent
f54b7fb104
commit
23a248fe75
2 changed files with 14 additions and 0 deletions
|
|
@ -3037,6 +3037,15 @@ void VSTPluginFormat::setExtraFunctions (AudioPluginInstance* plugin, ExtraFunct
|
|||
vst->extraFunctions = f;
|
||||
}
|
||||
|
||||
AudioPluginInstance* VSTPluginFormat::getPluginInstanceFromVstEffectInterface (void* aEffect)
|
||||
{
|
||||
if (VstEffectInterface* vstAEffect = reinterpret_cast<VstEffectInterface*> (aEffect))
|
||||
if (VSTPluginInstance* instanceVST = reinterpret_cast<VSTPluginInstance*> (vstAEffect->hostSpace2))
|
||||
return dynamic_cast<AudioPluginInstance*> (instanceVST);
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
pointer_sized_int JUCE_CALLTYPE VSTPluginFormat::dispatcher (AudioPluginInstance* plugin, int32 opcode, int32 index, pointer_sized_int value, void* ptr, float opt)
|
||||
{
|
||||
if (VSTPluginInstance* vst = dynamic_cast<VSTPluginInstance*> (plugin))
|
||||
|
|
|
|||
|
|
@ -85,6 +85,11 @@ public:
|
|||
/** This simply calls directly to the VST's AEffect::dispatcher() function. */
|
||||
static pointer_sized_int JUCE_CALLTYPE dispatcher (AudioPluginInstance*, int32, int32, pointer_sized_int, void*, float);
|
||||
|
||||
/** Given a VstEffectInterface* (aka vst::AEffect*), this will return the juce AudioPluginInstance
|
||||
that is being used to wrap it
|
||||
*/
|
||||
static AudioPluginInstance* getPluginInstanceFromVstEffectInterface (void* aEffect);
|
||||
|
||||
//==============================================================================
|
||||
String getName() const override { return "VST"; }
|
||||
void findAllTypesForFile (OwnedArray<PluginDescription>&, const String& fileOrIdentifier) override;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue