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_PluginListComponent.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//==============================================================================
36class JUCE_API PluginListComponent : public Component,
38 private ChangeListener
39{
40public:
41 //==============================================================================
49 KnownPluginList& listToRepresent,
50 const File& deadMansPedalFile,
51 PropertiesFile* propertiesToUse,
52 bool allowPluginsWhichRequireAsynchronousInstantiation = false);
53
55 ~PluginListComponent() override;
56
58 void setOptionsButtonText (const String& newText);
59
61 PopupMenu createOptionsMenu();
62
66 PopupMenu createMenuForRow (int rowNumber);
67
69 void setScanDialogText (const String& textForProgressWindowTitle,
70 const String& textForProgressWindowDescription);
71
77 void setNumberOfThreadsForScanning (int numThreads);
78
80 static FileSearchPath getLastSearchPath (PropertiesFile&, AudioPluginFormat&);
81
83 static void setLastSearchPath (PropertiesFile&, AudioPluginFormat&, const FileSearchPath&);
84
86 void scanFor (AudioPluginFormat&);
87
91 void scanFor (AudioPluginFormat&, const StringArray& filesOrIdentifiersToScan);
92
94 bool isScanning() const noexcept;
95
97 void removeSelectedPlugins();
98
102 void setTableModel (TableListBoxModel*);
103
105 TableListBox& getTableListBox() noexcept { return table; }
106
110 TextButton& getOptionsButton() { return optionsButton; }
111
113 void resized() override;
114
115private:
116 //==============================================================================
117 AudioPluginFormatManager& formatManager;
118 KnownPluginList& list;
119 File deadMansPedalFile;
120 TableListBox table;
121 TextButton optionsButton;
122 PropertiesFile* propertiesToUse;
123 String dialogTitle, dialogText;
124 bool allowAsync;
125 int numThreads;
126
127 class TableModel;
129
130 class Scanner;
131 std::unique_ptr<Scanner> currentScanner;
132
133 ScopedMessageBox messageBox;
134
135 void scanFinished (const StringArray&, const std::vector<String>&);
136 void updateList();
137 void removeMissingPlugins();
138 void removePluginItem (int index);
139
140 bool isInterestedInFileDrag (const StringArray&) override;
141 void filesDropped (const StringArray&, int, int) override;
142 void changeListenerCallback (ChangeBroadcaster*) override;
143
145};
146
147} // namespace juce
This maintains a list of known AudioPluginFormats.
The base class for a type of plugin format, such as VST, AudioUnit, LADSPA, etc.
Holds a list of ChangeListeners, and sends messages to them when instructed.
Receives change event callbacks that are sent out by a ChangeBroadcaster.
The base class for all JUCE user-interface objects.
Components derived from this class can have files dropped onto them by an external application.
Represents a set of folders that make up a search path.
Represents a local file or directory.
Definition juce_File.h:45
Manages a list of plugin types.
A component displaying a list of plugins, with options to scan for them, add, remove and sort them.
TableListBox & getTableListBox() noexcept
Returns the table used to display the plugin list.
TextButton & getOptionsButton()
Returns the button used to display the options menu - you can make this invisible if you want to hide...
Creates and displays a popup-menu.
Wrapper on a file that stores a list of key/value data pairs.
Objects of this type can be used to programmatically close message boxes.
A special array for holding a list of strings.
The JUCE String class!
Definition juce_String.h:53
One of these is used by a TableListBox as the data model for the table's contents.
A table of cells, using a TableHeaderComponent as its header.
A button that uses the standard lozenge-shaped background with a line of text on it.
#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.