29AudioPluginFormatManager::AudioPluginFormatManager() {}
35 #if JUCE_PLUGINHOST_VST && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD || JUCE_IOS)
41 #if JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)
47 #if JUCE_PLUGINHOST_AU && (JUCE_MAC || JUCE_IOS)
53 #if JUCE_PLUGINHOST_LADSPA && (JUCE_LINUX || JUCE_BSD)
59 #if JUCE_PLUGINHOST_LV2 && (JUCE_MAC || JUCE_LINUX || JUCE_BSD || JUCE_WINDOWS)
124 formats.add (format);
128 double rate,
int blockSize,
129 String& errorMessage)
const
131 if (
auto* format = findFormatForDescription (description, errorMessage))
132 return format->createInstanceFromDescription (description, rate, blockSize, errorMessage);
142 if (
auto* format = findFormatForDescription (description, errorMessage))
144 format->createARAFactoryAsync (description, callback);
148 errorMessage =
NEEDS_TRANS (
"Couldn't find format for the provided description");
149 callback ({ {}, std::move (errorMessage) });
159 if (
auto* format = findFormatForDescription (description, error))
165 : call (std::move (c)), error (e)
170 void messageCallback()
override { call (
nullptr, error); }
180 String& errorMessage)
const
184 for (
auto* format : formats)
185 if (format->getName() == description.pluginFormatName
186 && format->fileMightContainThisPluginType (description.fileOrIdentifier))
189 errorMessage =
NEEDS_TRANS (
"No compatible plug-in format exists for this plug-in");
196 for (
auto* format : formats)
198 return format->doesPluginStillExist (description);
Holds a resizable array of primitive or copy-by-value objects.
void addArray(const Type *elementsToAdd, int numElementsToAdd)
Adds elements from an array to the end of this array.
A message that invokes a callback method when it gets delivered.
A small class to represent some facts about a particular type of plug-in.
String pluginFormatName
The plug-in format, e.g.
#define NEEDS_TRANS(stringLiteral)
A dummy version of the TRANS macro, used to indicate a string literal that should be added to the tra...
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...