LMMS
Loading...
Searching...
No Matches
juce_VST3PluginFormat.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29#if (JUCE_PLUGINHOST_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD)) || DOXYGEN
30
36class JUCE_API VST3PluginFormat : public AudioPluginFormat
37{
38public:
40 VST3PluginFormat();
41
43 ~VST3PluginFormat() override;
44
45 //==============================================================================
46 #ifndef DOXYGEN
51 [[deprecated ("Instead of using this function, use AudioPluginInstance::getExtensions() "
52 "to visit the ExtensionsVisitor::VST3 struct for the instance, if it exists. "
53 "Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the "
54 "contents of a vstpreset file.")]]
55 static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&);
56 #endif
57
58 //==============================================================================
59 static String getFormatName() { return "VST3"; }
60 String getName() const override { return getFormatName(); }
61 bool canScanForPlugins() const override { return true; }
62 bool isTrivialToScan() const override { return false; }
63
64 void findAllTypesForFile (OwnedArray<PluginDescription>&, const String& fileOrIdentifier) override;
65 bool fileMightContainThisPluginType (const String& fileOrIdentifier) override;
66 String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override;
67 bool pluginNeedsRescanning (const PluginDescription&) override;
68 StringArray searchPathsForPlugins (const FileSearchPath&, bool recursive, bool) override;
69 bool doesPluginStillExist (const PluginDescription&) override;
70 FileSearchPath getDefaultLocationsToSearch() override;
71 void createARAFactoryAsync (const PluginDescription&, ARAFactoryCreationCallback callback) override;
72
73private:
74 //==============================================================================
75 void createPluginInstance (const PluginDescription&, double initialSampleRate,
76 int initialBufferSize, PluginCreationCallback) override;
77 bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const override;
78 void recursiveFileSearch (StringArray&, const File&, bool recursive);
79
81};
82
83#endif // JUCE_PLUGINHOST_VST3
84
85} // namespace juce
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004