26#if (JUCE_PLUGINHOST_VST || DOXYGEN)
37class JUCE_API VSTPluginFormat :
public AudioPluginFormat
42 ~VSTPluginFormat()
override;
48 static const XmlElement* getVSTXML (AudioPluginInstance* plugin);
51 static bool loadFromFXBFile (AudioPluginInstance* plugin,
const void*
data,
size_t dataSize);
54 static bool saveToFXBFile (AudioPluginInstance* plugin, MemoryBlock&
result,
bool asFXB);
57 static bool getChunkData (AudioPluginInstance* plugin, MemoryBlock&
result,
bool isPreset);
60 static bool setChunkData (AudioPluginInstance* plugin,
const void*
data,
int size,
bool isPreset);
65 static AudioPluginInstance* createCustomVSTFromMainCall (
void* entryPointFunction,
66 double initialSampleRate,
67 int initialBufferSize);
74 virtual ~ExtraFunctions() {}
77 virtual int64 getTempoAt (
int64 samplePos) = 0;
82 virtual int getAutomationState() = 0;
88 static void setExtraFunctions (AudioPluginInstance* plugin, ExtraFunctions* functions);
97 static AudioPluginInstance* getPluginInstanceFromVstEffectInterface (
void* aEffect);
100 static String getFormatName() {
return "VST"; }
101 String getName()
const override {
return getFormatName(); }
102 bool canScanForPlugins()
const override {
return true; }
103 bool isTrivialToScan()
const override {
return false; }
105 void findAllTypesForFile (OwnedArray<PluginDescription>&,
const String& fileOrIdentifier)
override;
106 bool fileMightContainThisPluginType (
const String& fileOrIdentifier)
override;
107 String getNameOfPluginFromIdentifier (
const String& fileOrIdentifier)
override;
108 bool pluginNeedsRescanning (
const PluginDescription&)
override;
109 StringArray searchPathsForPlugins (
const FileSearchPath&,
bool recursive,
bool)
override;
110 bool doesPluginStillExist (
const PluginDescription&)
override;
111 FileSearchPath getDefaultLocationsToSearch()
override;
118 virtual void aboutToScanVSTShellPlugin (
const PluginDescription&);
122 void createPluginInstance (
const PluginDescription&,
double initialSampleRate,
123 int initialBufferSize, PluginCreationCallback)
override;
124 bool requiresUnblockedMessageThreadDuringCreation (
const PluginDescription&)
const override;
125 void recursiveFileSearch (StringArray&,
const File&,
bool recursive);
int64_t int64
Definition basics.h:91
int32_t int32
Definition basics.h:89
static intptr_t dispatcher(NativeHostHandle h, NativeHostDispatcherOpcode c, int32_t i, intptr_t v, void *p, float o)
Definition carla-host-plugin.c:48
JSAMPIMAGE data
Definition jpeglib.h:945
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
int pointer_sized_int
Definition juce_MathsFunctions.h:80
int result
Definition process.c:1455