JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_LV2PluginFormat.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_LV2 && (! (JUCE_ANDROID || JUCE_IOS))) || DOXYGEN
30
36class JUCE_API LV2PluginFormat : public AudioPluginFormat
37{
38public:
40 ~LV2PluginFormat() override;
41
42 static String getFormatName() { return "LV2"; }
43 String getName() const override { return getFormatName(); }
44
46 const String& fileOrIdentifier) override;
47
48 bool fileMightContainThisPluginType (const String& fileOrIdentifier) override;
49
50 String getNameOfPluginFromIdentifier (const String& fileOrIdentifier) override;
51
53
55
56 bool canScanForPlugins() const override;
57
58 bool isTrivialToScan() const override;
59
61 bool recursive,
62 bool allowPluginsWhichRequireAsynchronousInstantiation = false) override;
63
65
66private:
67 bool requiresUnblockedMessageThreadDuringCreation (const PluginDescription&) const override;
68 void createPluginInstance (const PluginDescription&, double, int, PluginCreationCallback) override;
69
70 class Pimpl;
72
74};
75
76#endif
77
78} // namespace juce
The base class for a type of plugin format, such as VST, AudioUnit, LADSPA, etc.
Represents a set of folders that make up a search path.
Implements a plugin format for LV2 plugins.
StringArray searchPathsForPlugins(const FileSearchPath &directoriesToSearch, bool recursive, bool allowPluginsWhichRequireAsynchronousInstantiation=false) override
Searches a suggested set of directories for any plugins in this format.
void findAllTypesForFile(OwnedArray< PluginDescription > &results, const String &fileOrIdentifier) override
This tries to create descriptions for all the plugin types available in a binary module file.
bool fileMightContainThisPluginType(const String &fileOrIdentifier) override
Should do a quick check to see if this file or directory might be a plugin of this format.
String getName() const override
Returns the format name.
bool pluginNeedsRescanning(const PluginDescription &) override
Returns true if this plugin's version or date has changed and it should be re-checked.
String getNameOfPluginFromIdentifier(const String &fileOrIdentifier) override
Returns a readable version of the name of the plugin that this identifier refers to.
FileSearchPath getDefaultLocationsToSearch() override
Returns the typical places to look for this kind of plugin.
bool isTrivialToScan() const override
Should return true if this format is both safe and quick to scan - i.e.
bool canScanForPlugins() const override
Returns true if this format needs to run a scan to find its list of plugins.
bool doesPluginStillExist(const PluginDescription &) override
Checks whether this plugin could possibly be loaded.
An array designed for holding objects.
A small class to represent some facts about a particular type of plug-in.
A special array for holding a list of strings.
The JUCE String class!
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.