LMMS
Loading...
Searching...
No Matches
juce_AudioPluginFormat.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//==============================================================================
38{
39public:
41 ~AudioPluginFormat() override;
42
43 //==============================================================================
47 virtual String getName() const = 0;
48
59 const String& fileOrIdentifier) = 0;
60
64 std::unique_ptr<AudioPluginInstance> createInstanceFromDescription (const PluginDescription&,
65 double initialSampleRate,
66 int initialBufferSize);
67
71 std::unique_ptr<AudioPluginInstance> createInstanceFromDescription (const PluginDescription&,
72 double initialSampleRate,
73 int initialBufferSize,
74 String& errorMessage);
75
77 using PluginCreationCallback = std::function<void (std::unique_ptr<AudioPluginInstance>, const String&)>;
78
84 void createPluginInstanceAsync (const PluginDescription& description,
85 double initialSampleRate,
86 int initialBufferSize,
88
95 virtual bool fileMightContainThisPluginType (const String& fileOrIdentifier) = 0;
96
98 virtual String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) = 0;
99
101 virtual bool pluginNeedsRescanning (const PluginDescription&) = 0;
102
107 virtual bool doesPluginStillExist (const PluginDescription&) = 0;
108
110 virtual bool canScanForPlugins() const = 0;
111
116 virtual bool isTrivialToScan() const = 0;
117
129 virtual StringArray searchPathsForPlugins (const FileSearchPath& directoriesToSearch,
130 bool recursive,
131 bool allowPluginsWhichRequireAsynchronousInstantiation = false) = 0;
132
139
142
145
154
155protected:
156 //==============================================================================
158
160
164 virtual void createPluginInstance (const PluginDescription&, double initialSampleRate,
165 int initialBufferSize, PluginCreationCallback) = 0;
166
167private:
168 struct AsyncCreateMessage;
169 void handleMessage (const Message&) override;
170
172};
173
174} // namespace juce
virtual void findAllTypesForFile(OwnedArray< PluginDescription > &results, const String &fileOrIdentifier)=0
virtual String getName() const =0
friend class AudioPluginFormatManager
Definition juce_AudioPluginFormat.h:157
virtual bool requiresUnblockedMessageThreadDuringCreation(const PluginDescription &) const =0
virtual FileSearchPath getDefaultLocationsToSearch()=0
virtual String getNameOfPluginFromIdentifier(const String &fileOrIdentifier)=0
std::function< void(ARAFactoryResult)> ARAFactoryCreationCallback
Definition juce_AudioPluginFormat.h:144
virtual void createPluginInstance(const PluginDescription &, double initialSampleRate, int initialBufferSize, PluginCreationCallback)=0
virtual bool fileMightContainThisPluginType(const String &fileOrIdentifier)=0
std::unique_ptr< AudioPluginInstance > createInstanceFromDescription(const PluginDescription &, double initialSampleRate, int initialBufferSize)
Definition juce_AudioPluginFormat.cpp:32
virtual StringArray searchPathsForPlugins(const FileSearchPath &directoriesToSearch, bool recursive, bool allowPluginsWhichRequireAsynchronousInstantiation=false)=0
virtual bool doesPluginStillExist(const PluginDescription &)=0
void createPluginInstanceAsync(const PluginDescription &description, double initialSampleRate, int initialBufferSize, PluginCreationCallback)
Definition juce_AudioPluginFormat.cpp:84
virtual bool isTrivialToScan() const =0
AudioPluginFormat()
Definition juce_AudioPluginFormat.cpp:29
virtual bool canScanForPlugins() const =0
virtual bool pluginNeedsRescanning(const PluginDescription &)=0
std::function< void(std::unique_ptr< AudioPluginInstance >, const String &)> PluginCreationCallback
Definition juce_AudioPluginFormat.h:77
virtual void createARAFactoryAsync(const PluginDescription &, ARAFactoryCreationCallback callback)
Definition juce_AudioPluginFormat.h:153
Definition juce_FileSearchPath.h:35
Definition juce_Message.h:44
MessageListener() noexcept
Definition juce_MessageListener.cpp:35
Definition juce_OwnedArray.h:51
Definition juce_PluginDescription.h:43
Definition juce_StringArray.h:35
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_ARACommon.h:73
Definition juce_AudioPluginFormat.cpp:72
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
#define void
Definition unzip.h:396
static LRESULT handleMessage(PuglView *view, UINT message, WPARAM wParam, LPARAM lParam)
Definition win.c:596