JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::AudioUnitPluginFormat Class Reference

Implements a plugin format manager for AudioUnits. More...

#include <juce_AudioUnitPluginFormat.h>

Inheritance diagram for juce::AudioUnitPluginFormat:
Collaboration diagram for juce::AudioUnitPluginFormat:

Public Member Functions

 AudioUnitPluginFormat ()
 
 ~AudioUnitPluginFormat ()
 
bool canScanForPlugins () const override
 Returns true if this format needs to run a scan to find its list of plugins. More...
 
AudioPluginInstancecreateInstanceFromDescription (const PluginDescription &, double initialSampleRate, int initialBufferSize)
 Tries to recreate a type from a previously generated PluginDescription. More...
 
AudioPluginInstancecreateInstanceFromDescription (const PluginDescription &, double initialSampleRate, int initialBufferSize, String &errorMessage)
 Same as above but with the possibility of returning an error message. More...
 
void createPluginInstanceAsync (const PluginDescription &description, double initialSampleRate, int initialBufferSize, InstantiationCompletionCallback *completionCallback)
 Tries to recreate a type from a previously generated PluginDescription. More...
 
void createPluginInstanceAsync (const PluginDescription &description, double initialSampleRate, int initialBufferSize, std::function< void(AudioPluginInstance *, const String &)> completionCallback)
 
bool doesPluginStillExist (const PluginDescription &) override
 Checks whether this plugin could possibly be loaded. More...
 
bool fileMightContainThisPluginType (const String &fileOrIdentifier) override
 Should do a quick check to see if this file or directory might be a plugin of this format. More...
 
void findAllTypesForFile (OwnedArray< PluginDescription > &, const String &fileOrIdentifier) override
 This tries to create descriptions for all the plugin types available in a binary module file. More...
 
FileSearchPath getDefaultLocationsToSearch () override
 Returns the typical places to look for this kind of plugin. More...
 
String getName () const override
 Returns the format name. More...
 
String getNameOfPluginFromIdentifier (const String &fileOrIdentifier) override
 Returns a readable version of the name of the plugin that this identifier refers to. More...
 
bool pluginNeedsRescanning (const PluginDescription &) override
 Returns true if this plugin's version or date has changed and it should be re-checked. More...
 
StringArray searchPathsForPlugins (const FileSearchPath &, bool recursive, bool) override
 Searches a suggested set of directories for any plugins in this format. More...
 

Protected Types

using PluginCreationCallback = void(*)(void *, AudioPluginInstance *, const String &)
 

Private Member Functions

void createPluginInstance (const PluginDescription &, double initialSampleRate, int initialBufferSize, void *userData, PluginCreationCallback) override
 Implementors must override this function. More...
 
bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription &) const noexcept override
 

Detailed Description

Implements a plugin format manager for AudioUnits.

{Audio}

Member Typedef Documentation

◆ PluginCreationCallback

using juce::AudioPluginFormat::PluginCreationCallback = void (*) (void*, AudioPluginInstance*, const String&)
protectedinherited

Constructor & Destructor Documentation

◆ AudioUnitPluginFormat()

juce::AudioUnitPluginFormat::AudioUnitPluginFormat ( )

◆ ~AudioUnitPluginFormat()

juce::AudioUnitPluginFormat::~AudioUnitPluginFormat ( )

Member Function Documentation

◆ canScanForPlugins()

bool juce::AudioUnitPluginFormat::canScanForPlugins ( ) const
inlineoverridevirtual

Returns true if this format needs to run a scan to find its list of plugins.

Implements juce::AudioPluginFormat.

References JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR.

◆ createInstanceFromDescription() [1/2]

AudioPluginInstance* juce::AudioPluginFormat::createInstanceFromDescription ( const PluginDescription ,
double  initialSampleRate,
int  initialBufferSize 
)
inherited

Tries to recreate a type from a previously generated PluginDescription.

See also
AudioPluginFormatManager::createInstance

◆ createInstanceFromDescription() [2/2]

AudioPluginInstance* juce::AudioPluginFormat::createInstanceFromDescription ( const PluginDescription ,
double  initialSampleRate,
int  initialBufferSize,
String errorMessage 
)
inherited

Same as above but with the possibility of returning an error message.

See also
AudioPluginFormatManager::createInstance

◆ createPluginInstance()

void juce::AudioUnitPluginFormat::createPluginInstance ( const PluginDescription ,
double  initialSampleRate,
int  initialBufferSize,
void *  userData,
PluginCreationCallback   
)
overrideprivatevirtual

Implementors must override this function.

This is guaranteed to be called on the message thread. You may call the callback on any thread.

Implements juce::AudioPluginFormat.

◆ createPluginInstanceAsync() [1/2]

void juce::AudioPluginFormat::createPluginInstanceAsync ( const PluginDescription description,
double  initialSampleRate,
int  initialBufferSize,
InstantiationCompletionCallback completionCallback 
)
inherited

Tries to recreate a type from a previously generated PluginDescription.

See also
AudioPluginFormatManager::createInstanceAsync

◆ createPluginInstanceAsync() [2/2]

void juce::AudioPluginFormat::createPluginInstanceAsync ( const PluginDescription description,
double  initialSampleRate,
int  initialBufferSize,
std::function< void(AudioPluginInstance *, const String &)>  completionCallback 
)
inherited

◆ doesPluginStillExist()

bool juce::AudioUnitPluginFormat::doesPluginStillExist ( const PluginDescription )
overridevirtual

Checks whether this plugin could possibly be loaded.

It doesn't actually need to load it, just to check whether the file or component still exists.

Implements juce::AudioPluginFormat.

◆ fileMightContainThisPluginType()

bool juce::AudioUnitPluginFormat::fileMightContainThisPluginType ( const String fileOrIdentifier)
overridevirtual

Should do a quick check to see if this file or directory might be a plugin of this format.

This is for searching for potential files, so it shouldn't actually try to load the plugin or do anything time-consuming.

Implements juce::AudioPluginFormat.

◆ findAllTypesForFile()

void juce::AudioUnitPluginFormat::findAllTypesForFile ( OwnedArray< PluginDescription > &  results,
const String fileOrIdentifier 
)
overridevirtual

This tries to create descriptions for all the plugin types available in a binary module file.

The file will be some kind of DLL or bundle.

Normally there will only be one type returned, but some plugins (e.g. VST shells) can use a single DLL to create a set of different plugin subtypes, so in that case, each subtype is returned as a separate object.

Implements juce::AudioPluginFormat.

◆ getDefaultLocationsToSearch()

FileSearchPath juce::AudioUnitPluginFormat::getDefaultLocationsToSearch ( )
overridevirtual

Returns the typical places to look for this kind of plugin.

Note that if this returns no paths, it means that the format doesn't search in files or folders, e.g. AudioUnits.

Implements juce::AudioPluginFormat.

◆ getName()

String juce::AudioUnitPluginFormat::getName ( ) const
inlineoverridevirtual

Returns the format name.

E.g. "VST", "AudioUnit", etc.

Implements juce::AudioPluginFormat.

◆ getNameOfPluginFromIdentifier()

String juce::AudioUnitPluginFormat::getNameOfPluginFromIdentifier ( const String fileOrIdentifier)
overridevirtual

Returns a readable version of the name of the plugin that this identifier refers to.

Implements juce::AudioPluginFormat.

◆ pluginNeedsRescanning()

bool juce::AudioUnitPluginFormat::pluginNeedsRescanning ( const PluginDescription )
overridevirtual

Returns true if this plugin's version or date has changed and it should be re-checked.

Implements juce::AudioPluginFormat.

◆ requiresUnblockedMessageThreadDuringCreation()

bool juce::AudioUnitPluginFormat::requiresUnblockedMessageThreadDuringCreation ( const PluginDescription ) const
overrideprivatevirtualnoexcept

◆ searchPathsForPlugins()

StringArray juce::AudioUnitPluginFormat::searchPathsForPlugins ( const FileSearchPath directoriesToSearch,
bool  recursive,
bool  allowPluginsWhichRequireAsynchronousInstantiation 
)
overridevirtual

Searches a suggested set of directories for any plugins in this format.

The path might be ignored, e.g. by AUs, which are found by the OS rather than manually.

Parameters
directoriesToSearchThis specifies which directories shall be searched for plug-ins.
recursiveShould the search recursively traverse folders.
allowPluginsWhichRequireAsynchronousInstantiationIf this is false then plug-ins which require asynchronous creation will be excluded.

Implements juce::AudioPluginFormat.


The documentation for this class was generated from the following file: