This maintains a list of known AudioPluginFormats. More...
#include <juce_AudioPluginFormatManager.h>
Public Member Functions | |
AudioPluginFormatManager () | |
~AudioPluginFormatManager () | |
Destructor. More... | |
void | addDefaultFormats () |
Adds any formats that it knows about, e.g. More... | |
void | addFormat (AudioPluginFormat *format) |
Adds a format to the list. More... | |
AudioPluginInstance * | createPluginInstance (const PluginDescription &description, double initialSampleRate, int initialBufferSize, String &errorMessage) const |
Tries to load the type for this description, by trying all the formats that this manager knows about. More... | |
void | createPluginInstanceAsync (const PluginDescription &description, double initialSampleRate, int initialBufferSize, AudioPluginFormat::InstantiationCompletionCallback *callback) |
Tries to asynchronously load the type for this description, by trying all the formats that this manager knows about. More... | |
void | createPluginInstanceAsync (const PluginDescription &description, double initialSampleRate, int initialBufferSize, std::function< void(AudioPluginInstance *, const String &)> completionCallback) |
bool | doesPluginStillExist (const PluginDescription &description) const |
Checks that the file or component for this plugin actually still exists. More... | |
AudioPluginFormat * | getFormat (int index) |
Returns one of the available formats. More... | |
int | getNumFormats () |
Returns the number of types of format that are available. More... | |
Private Member Functions | |
AudioPluginFormat * | findFormatForDescription (const PluginDescription &, String &errorMessage) const |
Private Attributes | |
OwnedArray< AudioPluginFormat > | formats |
This maintains a list of known AudioPluginFormats.
AudioPluginFormatManager::AudioPluginFormatManager | ( | ) |
AudioPluginFormatManager::~AudioPluginFormatManager | ( | ) |
Destructor.
void AudioPluginFormatManager::addDefaultFormats | ( | ) |
Adds any formats that it knows about, e.g.
VST.
void AudioPluginFormatManager::addFormat | ( | AudioPluginFormat * | format | ) |
Adds a format to the list.
The object passed in will be owned and deleted by the manager.
AudioPluginInstance* AudioPluginFormatManager::createPluginInstance | ( | const PluginDescription & | description, |
double | initialSampleRate, | ||
int | initialBufferSize, | ||
String & | errorMessage | ||
) | const |
Tries to load the type for this description, by trying all the formats that this manager knows about.
The caller is responsible for deleting the object that is returned.
If it can't load the plugin, it returns nullptr and leaves a message in the errorMessage string.
If you intend to instantiate a AudioUnit v3 plug-in then you must either use the non-blocking asynchrous version below - or call this method from a thread other than the message thread and without blocking the message thread.
void AudioPluginFormatManager::createPluginInstanceAsync | ( | const PluginDescription & | description, |
double | initialSampleRate, | ||
int | initialBufferSize, | ||
AudioPluginFormat::InstantiationCompletionCallback * | callback | ||
) |
Tries to asynchronously load the type for this description, by trying all the formats that this manager knows about.
The caller must supply a callback object which will be called when the instantantiation has completed.
If it can't load the plugin then the callback function will be called passing a nullptr as the instance argument along with an error message.
The callback function will be called on the message thread so the caller must not block the message thread.
The callback object will be deleted automatically after it has been invoked.
The caller is responsible for deleting the instance that is passed to the callback function.
If you intend to instantiate a AudioUnit v3 plug-in then you must use this non-blocking asynchrous version - or call the synchrous method from an auxiliary thread.
void AudioPluginFormatManager::createPluginInstanceAsync | ( | const PluginDescription & | description, |
double | initialSampleRate, | ||
int | initialBufferSize, | ||
std::function< void(AudioPluginInstance *, const String &)> | completionCallback | ||
) |
bool AudioPluginFormatManager::doesPluginStillExist | ( | const PluginDescription & | description | ) | const |
Checks that the file or component for this plugin actually still exists.
(This won't try to load the plugin)
|
private |
AudioPluginFormat* AudioPluginFormatManager::getFormat | ( | int | index | ) |
Returns one of the available formats.
int AudioPluginFormatManager::getNumFormats | ( | ) |
Returns the number of types of format that are available.
Use getFormat() to get one of them.
|
private |