Browse Source

Cleaned up some audio plugin creation function prototypes

tags/2021-05-28
jules 7 years ago
parent
commit
f3e1e52c88
11 changed files with 81 additions and 114 deletions
  1. +1
    -1
      extras/AudioPluginHost/Source/Filters/InternalFilters.cpp
  2. +1
    -1
      extras/AudioPluginHost/Source/Filters/InternalFilters.h
  3. +3
    -1
      modules/juce_audio_processors/format/juce_AudioPluginFormat.h
  4. +2
    -4
      modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h
  5. +64
    -93
      modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm
  6. +3
    -2
      modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp
  7. +1
    -2
      modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h
  8. +2
    -2
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp
  9. +1
    -2
      modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h
  10. +2
    -4
      modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
  11. +1
    -2
      modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h

+ 1
- 1
extras/AudioPluginHost/Source/Filters/InternalFilters.cpp View File

@@ -377,7 +377,7 @@ void InternalPluginFormat::createPluginInstance (const PluginDescription& desc,
double /*initialSampleRate*/, double /*initialSampleRate*/,
int /*initialBufferSize*/, int /*initialBufferSize*/,
void* userData, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&))
PluginCreationCallback callback)
{ {
auto* p = createInstance (desc.name); auto* p = createInstance (desc.name);


+ 1
- 1
extras/AudioPluginHost/Source/Filters/InternalFilters.h View File

@@ -59,7 +59,7 @@ public:
private: private:
//============================================================================== //==============================================================================
void createPluginInstance (const PluginDescription&, double initialSampleRate, int initialBufferSize, void createPluginInstance (const PluginDescription&, double initialSampleRate, int initialBufferSize,
void* userData, void (*callback) (void*, AudioPluginInstance*, const String&)) override;
void* userData, PluginCreationCallback) override;
AudioPluginInstance* createInstance (const String& name); AudioPluginInstance* createInstance (const String& name);
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override;


+ 3
- 1
modules/juce_audio_processors/format/juce_AudioPluginFormat.h View File

@@ -151,12 +151,14 @@ protected:
AudioPluginFormat() noexcept; AudioPluginFormat() noexcept;
using PluginCreationCallback = void (*) (void*, AudioPluginInstance*, const String&);
/** Implementors must override this function. This is guaranteed to be called on /** Implementors must override this function. This is guaranteed to be called on
the message thread. You may call the callback on any thread. the message thread. You may call the callback on any thread.
*/ */
virtual void createPluginInstance (const PluginDescription&, double initialSampleRate, virtual void createPluginInstance (const PluginDescription&, double initialSampleRate,
int initialBufferSize, void* userData, int initialBufferSize, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&)) = 0;
PluginCreationCallback) = 0;
virtual bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept = 0; virtual bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept = 0;


+ 2
- 4
modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h View File

@@ -56,10 +56,8 @@ public:
private: private:
//============================================================================== //==============================================================================
void createPluginInstance (const PluginDescription&, void createPluginInstance (const PluginDescription&,
double initialSampleRate,
int initialBufferSize,
void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&)) override;
double initialSampleRate, int initialBufferSize,
void* userData, PluginCreationCallback) override;
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override;


+ 64
- 93
modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm View File

@@ -341,12 +341,7 @@ public:
if (auto* au = pluginInstance.audioUnit) if (auto* au = pluginInstance.audioUnit)
{ {
AudioUnitGetParameter (au,
paramID,
kAudioUnitScope_Global,
0,
&value);
AudioUnitGetParameter (au, paramID, kAudioUnitScope_Global, 0, &value);
value = normaliseParamValue (value); value = normaliseParamValue (value);
} }
@@ -359,12 +354,8 @@ public:
if (auto* au = pluginInstance.audioUnit) if (auto* au = pluginInstance.audioUnit)
{ {
AudioUnitSetParameter (au,
paramID,
kAudioUnitScope_Global,
0,
scaleParamValue (newValue),
0);
AudioUnitSetParameter (au, paramID, kAudioUnitScope_Global,
0, scaleParamValue (newValue), 0);
sendParameterChangeEvent(); sendParameterChangeEvent();
} }
@@ -406,12 +397,12 @@ public:
UInt32 propertySize = sizeof (stringValue); UInt32 propertySize = sizeof (stringValue);
OSStatus err = AudioUnitGetProperty (au,
kAudioUnitProperty_ParameterStringFromValue,
kAudioUnitScope_Global,
0,
&stringValue,
&propertySize);
auto err = AudioUnitGetProperty (au,
kAudioUnitProperty_ParameterStringFromValue,
kAudioUnitScope_Global,
0,
&stringValue,
&propertySize);
if (! err && stringValue.outString != nullptr) if (! err && stringValue.outString != nullptr)
return String::fromCFString (stringValue.outString).substring (0, maximumLength); return String::fromCFString (stringValue.outString).substring (0, maximumLength);
@@ -441,12 +432,12 @@ public:
UInt32 propertySize = sizeof (valueString); UInt32 propertySize = sizeof (valueString);
OSStatus err = AudioUnitGetProperty (au,
kAudioUnitProperty_ParameterValueFromString,
kAudioUnitScope_Global,
0,
&valueString,
&propertySize);
auto err = AudioUnitGetProperty (au,
kAudioUnitProperty_ParameterValueFromString,
kAudioUnitScope_Global,
0,
&valueString,
&propertySize);
if (! err) if (! err)
return normaliseParamValue (valueString.outValue); return normaliseParamValue (valueString.outValue);
@@ -456,25 +447,10 @@ public:
return Parameter::getValueForText (text); return Parameter::getValueForText (text);
} }
bool isAutomatable() const override
{
return automatable;
}
bool isDiscrete() const override
{
return discrete;
}
bool isBoolean() const override
{
return isSwitch;
}
int getNumSteps() const override
{
return numSteps;
}
bool isAutomatable() const override { return automatable; }
bool isDiscrete() const override { return discrete; }
bool isBoolean() const override { return isSwitch; }
int getNumSteps() const override { return numSteps; }
StringArray getAllValueStrings() const override StringArray getAllValueStrings() const override
{ {
@@ -528,12 +504,6 @@ public:
AudioUnitPluginInstance (AudioComponentInstance au) AudioUnitPluginInstance (AudioComponentInstance au)
: AudioPluginInstance (getBusesProperties (au)), : AudioPluginInstance (getBusesProperties (au)),
auComponent (AudioComponentInstanceGetComponent (au)), auComponent (AudioComponentInstanceGetComponent (au)),
wantsMidiMessages (false),
producesMidiMessages (false),
wasPlaying (false),
prepared (false),
isAUv3 (false),
currentBuffer (nullptr),
audioUnit (au), audioUnit (au),
#if JUCE_MAC #if JUCE_MAC
eventListenerRef (0), eventListenerRef (0),
@@ -735,7 +705,7 @@ public:
if (getElementCount (scope) != n && isBusCountWritable (isInput)) if (getElementCount (scope) != n && isBusCountWritable (isInput))
{ {
OSStatus err; OSStatus err;
UInt32 newCount = static_cast<UInt32> (n);
auto newCount = static_cast<UInt32> (n);
layoutHasChanged = true; layoutHasChanged = true;
err = AudioUnitSetProperty (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &newCount, sizeof (newCount)); err = AudioUnitSetProperty (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &newCount, sizeof (newCount));
@@ -755,7 +725,8 @@ public:
{ {
AudioStreamBasicDescription stream; AudioStreamBasicDescription stream;
UInt32 dataSize = sizeof (stream); UInt32 dataSize = sizeof (stream);
OSStatus err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (i), &stream, &dataSize);
auto err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (i), &stream, &dataSize);
if (err != noErr || dataSize < sizeof (stream)) if (err != noErr || dataSize < sizeof (stream))
return false; return false;
@@ -788,7 +759,7 @@ public:
UInt32 dataSize = minDataSize; UInt32 dataSize = minDataSize;
AudioChannelLayoutTag actualTag = kAudioChannelLayoutTag_Unknown; AudioChannelLayoutTag actualTag = kAudioChannelLayoutTag_Unknown;
OSStatus err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (i), &layout, &dataSize);
auto err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (i), &layout, &dataSize);
bool supportsLayouts = (err == noErr && dataSize >= minDataSize); bool supportsLayouts = (err == noErr && dataSize >= minDataSize);
if (supportsLayouts) if (supportsLayouts)
@@ -1484,7 +1455,10 @@ private:
String pluginName, manufacturer, version; String pluginName, manufacturer, version;
String fileOrIdentifier; String fileOrIdentifier;
CriticalSection lock; CriticalSection lock;
bool wantsMidiMessages, producesMidiMessages, wasPlaying, prepared, isAUv3, isMidiEffectPlugin, lastBypassValue = false;
bool wantsMidiMessages = false, producesMidiMessages = false,
wasPlaying = false, prepared = false,
isAUv3 = false, isMidiEffectPlugin = false;
struct AUBuffer struct AUBuffer
{ {
@@ -1521,7 +1495,7 @@ private:
if (AudioUnitGetProperty (parent.audioUnit, kAudioUnitProperty_BypassEffect, if (AudioUnitGetProperty (parent.audioUnit, kAudioUnitProperty_BypassEffect,
kAudioUnitScope_Global, 0, &value, &dataSize) == noErr kAudioUnitScope_Global, 0, &value, &dataSize) == noErr
&& dataSize == sizeof (UInt32)) && dataSize == sizeof (UInt32))
return (value != 0);
return value != 0;
} }
return false; return false;
@@ -1599,7 +1573,7 @@ private:
OwnedArray<AUBuffer> outputBufferList; OwnedArray<AUBuffer> outputBufferList;
AudioTimeStamp timeStamp; AudioTimeStamp timeStamp;
AudioBuffer<float>* currentBuffer;
AudioBuffer<float>* currentBuffer = nullptr;
Array<Array<AudioChannelSet>> supportedInLayouts, supportedOutLayouts; Array<Array<AudioChannelSet>> supportedInLayouts, supportedOutLayouts;
int numChannelInfos; int numChannelInfos;
@@ -1802,7 +1776,7 @@ private:
{ {
if (pktlist != nullptr && pktlist->numPackets) if (pktlist != nullptr && pktlist->numPackets)
{ {
const double time = Time::getMillisecondCounterHiRes() * 0.001;
auto time = Time::getMillisecondCounterHiRes() * 0.001;
const MIDIPacket* packet = &pktlist->packet[0]; const MIDIPacket* packet = &pktlist->packet[0];
for (UInt32 i = 0; i < pktlist->numPackets; ++i) for (UInt32 i = 0; i < pktlist->numPackets; ++i)
@@ -1823,27 +1797,27 @@ private:
OSStatus getBeatAndTempo (Float64* outCurrentBeat, Float64* outCurrentTempo) const OSStatus getBeatAndTempo (Float64* outCurrentBeat, Float64* outCurrentTempo) const
{ {
AudioPlayHead* const ph = getPlayHead();
AudioPlayHead::CurrentPositionInfo result;
if (ph != nullptr && ph->getCurrentPosition (result))
if (auto* ph = getPlayHead())
{ {
setIfNotNull (outCurrentBeat, result.ppqPosition);
setIfNotNull (outCurrentTempo, result.bpm);
}
else
{
setIfNotNull (outCurrentBeat, 0);
setIfNotNull (outCurrentTempo, 120.0);
AudioPlayHead::CurrentPositionInfo result;
if (ph->getCurrentPosition (result))
{
setIfNotNull (outCurrentBeat, result.ppqPosition);
setIfNotNull (outCurrentTempo, result.bpm);
return noErr;
}
} }
setIfNotNull (outCurrentBeat, 0);
setIfNotNull (outCurrentTempo, 120.0);
return noErr; return noErr;
} }
OSStatus getMusicalTimeLocation (UInt32* outDeltaSampleOffsetToNextBeat, Float32* outTimeSig_Numerator, OSStatus getMusicalTimeLocation (UInt32* outDeltaSampleOffsetToNextBeat, Float32* outTimeSig_Numerator,
UInt32* outTimeSig_Denominator, Float64* outCurrentMeasureDownBeat) const UInt32* outTimeSig_Denominator, Float64* outCurrentMeasureDownBeat) const
{ {
if (AudioPlayHead* const ph = getPlayHead())
if (auto* ph = getPlayHead())
{ {
AudioPlayHead::CurrentPositionInfo result; AudioPlayHead::CurrentPositionInfo result;
@@ -1868,7 +1842,7 @@ private:
Float64* outCurrentSampleInTimeLine, Boolean* outIsCycling, Float64* outCurrentSampleInTimeLine, Boolean* outIsCycling,
Float64* outCycleStartBeat, Float64* outCycleEndBeat) Float64* outCycleStartBeat, Float64* outCycleEndBeat)
{ {
if (AudioPlayHead* const ph = getPlayHead())
if (auto* ph = getPlayHead())
{ {
AudioPlayHead::CurrentPositionInfo result; AudioPlayHead::CurrentPositionInfo result;
@@ -1905,7 +1879,7 @@ private:
UInt32 inNumberFrames, AudioBufferList* ioData) UInt32 inNumberFrames, AudioBufferList* ioData)
{ {
return static_cast<AudioUnitPluginInstance*> (hostRef) return static_cast<AudioUnitPluginInstance*> (hostRef)
->renderGetInput (ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
->renderGetInput (ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
} }
static OSStatus renderMidiOutputCallback (void* hostRef, const AudioTimeStamp*, UInt32 /*midiOutNum*/, static OSStatus renderMidiOutputCallback (void* hostRef, const AudioTimeStamp*, UInt32 /*midiOutNum*/,
@@ -1948,13 +1922,14 @@ private:
#endif #endif
UInt64 currentTime = mach_absolute_time(); UInt64 currentTime = mach_absolute_time();
static mach_timebase_info_data_t sTimebaseInfo = {0, 0};
static mach_timebase_info_data_t sTimebaseInfo = { 0, 0 };
if (sTimebaseInfo.denom == 0) if (sTimebaseInfo.denom == 0)
mach_timebase_info (&sTimebaseInfo); mach_timebase_info (&sTimebaseInfo);
double bufferNanos = static_cast<double> (numSamples) * 1.0e9 / sampleRate;
UInt64 bufferTicks = static_cast<UInt64> (std::ceil (bufferNanos * (static_cast<double> (sTimebaseInfo.denom) / static_cast<double> (sTimebaseInfo.numer))));
auto bufferNanos = static_cast<double> (numSamples) * 1.0e9 / sampleRate;
auto bufferTicks = static_cast<UInt64> (std::ceil (bufferNanos * (static_cast<double> (sTimebaseInfo.denom)
/ static_cast<double> (sTimebaseInfo.numer))));
currentTime += bufferTicks; currentTime += bufferTicks;
return currentTime; return currentTime;
@@ -1964,10 +1939,9 @@ private:
{ {
UInt32 countSize; UInt32 countSize;
Boolean writable; Boolean writable;
OSStatus err;
AudioUnitScope scope = (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output); AudioUnitScope scope = (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output);
err = AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &countSize, &writable);
auto err = AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &countSize, &writable);
return (err == noErr && writable != 0 && countSize == sizeof (UInt32)); return (err == noErr && writable != 0 && countSize == sizeof (UInt32));
} }
@@ -1983,7 +1957,7 @@ private:
UInt32 count; UInt32 count;
UInt32 countSize = sizeof (count); UInt32 countSize = sizeof (count);
OSStatus err = AudioUnitGetProperty (comp, kAudioUnitProperty_ElementCount, scope, 0, &count, &countSize);
auto err = AudioUnitGetProperty (comp, kAudioUnitProperty_ElementCount, scope, 0, &count, &countSize);
jassert (err == noErr); jassert (err == noErr);
ignoreUnused (err); ignoreUnused (err);
@@ -2048,7 +2022,7 @@ private:
{ {
const bool isInput = (dir == 0); const bool isInput = (dir == 0);
const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output; const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;
const int n = getElementCount (scope);
auto n = getElementCount (scope);
for (int busIdx = 0; busIdx < n; ++busIdx) for (int busIdx = 0; busIdx < n; ++busIdx)
{ {
@@ -2208,7 +2182,7 @@ class AudioUnitPluginWindowCocoa : public AudioProcessorEditor
public: public:
AudioUnitPluginWindowCocoa (AudioUnitPluginInstance& p, bool createGenericViewIfNeeded) AudioUnitPluginWindowCocoa (AudioUnitPluginInstance& p, bool createGenericViewIfNeeded)
: AudioProcessorEditor (&p), : AudioProcessorEditor (&p),
plugin (p), waitingForViewCallback (false)
plugin (p)
{ {
addAndMakeVisible (wrapper); addAndMakeVisible (wrapper);
@@ -2279,9 +2253,9 @@ private:
ObjCBlock<ViewControllerCallbackBlock> viewControllerCallback; ObjCBlock<ViewControllerCallbackBlock> viewControllerCallback;
#endif #endif
bool waitingForViewCallback;
bool waitingForViewCallback = false;
bool createView (const bool createGenericViewIfNeeded)
bool createView (bool createGenericViewIfNeeded)
{ {
JUCE_IOS_MAC_VIEW* pluginView = nil; JUCE_IOS_MAC_VIEW* pluginView = nil;
UInt32 dataSize = 0; UInt32 dataSize = 0;
@@ -2604,10 +2578,8 @@ void AudioUnitPluginFormat::findAllTypesForFile (OwnedArray<PluginDescription>&
} }
void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc, void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc,
double rate,
int blockSize,
void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&))
double rate, int blockSize,
void* userData, PluginCreationCallback callback)
{ {
using namespace AudioUnitFormatHelpers; using namespace AudioUnitFormatHelpers;
@@ -2645,9 +2617,9 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc,
#endif #endif
AUAsyncInitializationCallback (double inSampleRate, int inFramesPerBuffer, AUAsyncInitializationCallback (double inSampleRate, int inFramesPerBuffer,
void* inUserData, void (*inOriginalCallback) (void*, AudioPluginInstance*, const String&))
: sampleRate (inSampleRate), framesPerBuffer (inFramesPerBuffer),
passUserData (inUserData), originalCallback (inOriginalCallback)
void* inUserData, PluginCreationCallback inOriginalCallback)
: sampleRate (inSampleRate), framesPerBuffer (inFramesPerBuffer),
passUserData (inUserData), originalCallback (inOriginalCallback)
{ {
#if JUCE_SUPPORTS_AUv3 #if JUCE_SUPPORTS_AUv3
block = CreateObjCBlock (this, &AUAsyncInitializationCallback::completion); block = CreateObjCBlock (this, &AUAsyncInitializationCallback::completion);
@@ -2682,15 +2654,14 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc,
double sampleRate; double sampleRate;
int framesPerBuffer; int framesPerBuffer;
void* passUserData; void* passUserData;
void (*originalCallback) (void*, AudioPluginInstance*, const String&);
PluginCreationCallback originalCallback;
#if JUCE_SUPPORTS_AUv3 #if JUCE_SUPPORTS_AUv3
ObjCBlock<AUCompletionCallbackBlock> block; ObjCBlock<AUCompletionCallbackBlock> block;
#endif #endif
}; };
AUAsyncInitializationCallback* callbackBlock
= new AUAsyncInitializationCallback (rate, blockSize, userData, callback);
auto callbackBlock = new AUAsyncInitializationCallback (rate, blockSize, userData, callback);
#if JUCE_SUPPORTS_AUv3 #if JUCE_SUPPORTS_AUv3
//============================================================================== //==============================================================================
@@ -2706,7 +2677,7 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc,
#endif // JUCE_SUPPORTS_AUv3 #endif // JUCE_SUPPORTS_AUv3
AudioComponentInstance audioUnit; AudioComponentInstance audioUnit;
OSStatus err = AudioComponentInstanceNew(auComponent, &audioUnit);
auto err = AudioComponentInstanceNew(auComponent, &audioUnit);
callbackBlock->completion (err != noErr ? nullptr : audioUnit, err); callbackBlock->completion (err != noErr ? nullptr : audioUnit, err);
} }
else else
@@ -2780,12 +2751,12 @@ StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&,
bool AudioUnitPluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier) bool AudioUnitPluginFormat::fileMightContainThisPluginType (const String& fileOrIdentifier)
{ {
AudioComponentDescription desc; AudioComponentDescription desc;
String name, version, manufacturer; String name, version, manufacturer;
if (AudioUnitFormatHelpers::getComponentDescFromIdentifier (fileOrIdentifier, desc, name, version, manufacturer)) if (AudioUnitFormatHelpers::getComponentDescFromIdentifier (fileOrIdentifier, desc, name, version, manufacturer))
return AudioComponentFindNext (nullptr, &desc) != nullptr; return AudioComponentFindNext (nullptr, &desc) != nullptr;
const File f (File::createFileWithoutCheckingPath (fileOrIdentifier));
auto f = File::createFileWithoutCheckingPath (fileOrIdentifier);
return (f.hasFileExtension (".component") || f.hasFileExtension (".appex")) return (f.hasFileExtension (".component") || f.hasFileExtension (".appex"))
&& f.isDirectory(); && f.isDirectory();


+ 3
- 2
modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp View File

@@ -608,8 +608,9 @@ void LADSPAPluginFormat::findAllTypesForFile (OwnedArray<PluginDescription>& res
} }
} }
void LADSPAPluginFormat::createPluginInstance (const PluginDescription& desc, double sampleRate, int blockSize,
void* userData, void (*callback) (void*, AudioPluginInstance*, const String&))
void LADSPAPluginFormat::createPluginInstance (const PluginDescription& desc,
double sampleRate, int blockSize,
void* userData, PluginCreationCallback callback)
{ {
std::unique_ptr<LADSPAPluginInstance> result; std::unique_ptr<LADSPAPluginInstance> result;


+ 1
- 2
modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h View File

@@ -55,8 +55,7 @@ public:
private: private:
//============================================================================== //==============================================================================
void createPluginInstance (const PluginDescription&, double initialSampleRate, void createPluginInstance (const PluginDescription&, double initialSampleRate,
int initialBufferSize, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&)) override;
int initialBufferSize, void* userData, PluginCreationCallback) override;
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override;


+ 2
- 2
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp View File

@@ -2922,8 +2922,8 @@ void VST3PluginFormat::findAllTypesForFile (OwnedArray<PluginDescription>& resul
VST3Classes::VST3ModuleHandle::getAllDescriptionsForFile (results, fileOrIdentifier); VST3Classes::VST3ModuleHandle::getAllDescriptionsForFile (results, fileOrIdentifier);
} }
void VST3PluginFormat::createPluginInstance (const PluginDescription& description, double, int, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&))
void VST3PluginFormat::createPluginInstance (const PluginDescription& description, double, int,
void* userData, PluginCreationCallback callback)
{ {
std::unique_ptr<VST3Classes::VST3PluginInstance> result; std::unique_ptr<VST3Classes::VST3PluginInstance> result;


+ 1
- 2
modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h View File

@@ -63,8 +63,7 @@ public:
private: private:
void createPluginInstance (const PluginDescription&, double initialSampleRate, void createPluginInstance (const PluginDescription&, double initialSampleRate,
int initialBufferSize, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&)) override;
int initialBufferSize, void* userData, PluginCreationCallback) override;
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override;


+ 2
- 4
modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp View File

@@ -3428,10 +3428,8 @@ void VSTPluginFormat::findAllTypesForFile (OwnedArray<PluginDescription>& result
} }
void VSTPluginFormat::createPluginInstance (const PluginDescription& desc, void VSTPluginFormat::createPluginInstance (const PluginDescription& desc,
double sampleRate,
int blockSize,
void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&))
double sampleRate, int blockSize,
void* userData, PluginCreationCallback callback)
{ {
std::unique_ptr<VSTPluginInstance> result; std::unique_ptr<VSTPluginInstance> result;


+ 1
- 2
modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h View File

@@ -118,8 +118,7 @@ public:
private: private:
//============================================================================== //==============================================================================
void createPluginInstance (const PluginDescription&, double initialSampleRate, void createPluginInstance (const PluginDescription&, double initialSampleRate,
int initialBufferSize, void* userData,
void (*callback) (void*, AudioPluginInstance*, const String&)) override;
int initialBufferSize, void* userData, PluginCreationCallback) override;
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override; bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const noexcept override;


Loading…
Cancel
Save