LMMS
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//==============================================================================
38 private ChangeListener
39{
40public:
41 //==============================================================================
49 KnownPluginList& listToRepresent,
52 bool allowPluginsWhichRequireAsynchronousInstantiation = false);
53
55 ~PluginListComponent() override;
56
58 void setOptionsButtonText (const String& newText);
59
62
66 PopupMenu createMenuForRow (int rowNumber);
67
69 void setScanDialogText (const String& textForProgressWindowTitle,
70 const String& textForProgressWindowDescription);
71
78
81
84
87
91 void scanFor (AudioPluginFormat&, const StringArray& filesOrIdentifiersToScan);
92
94 bool isScanning() const noexcept;
95
98
103
106
111
113 void resized() override;
114
115private:
116 //==============================================================================
126
127 class TableModel;
128 std::unique_ptr<TableListBoxModel> tableModel;
129
130 class Scanner;
131 std::unique_ptr<Scanner> currentScanner;
132
133 void scanFinished (const StringArray&, const std::vector<String>&);
134 void updateList();
136 void removePluginItem (int index);
137
138 bool isInterestedInFileDrag (const StringArray&) override;
139 void filesDropped (const StringArray&, int, int) override;
141
143};
144
145} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AudioPluginFormat.h:38
Definition juce_AudioPluginFormatManager.h:38
Definition juce_ChangeBroadcaster.h:35
Definition juce_ChangeListener.h:45
Component() noexcept
Definition juce_Component.cpp:517
Definition juce_FileDragAndDropTarget.h:37
Definition juce_File.h:45
Definition juce_FileSearchPath.h:35
Definition juce_KnownPluginList.h:41
Definition juce_PluginListComponent.cpp:385
Definition juce_PluginListComponent.cpp:30
TableListBox & getTableListBox() noexcept
Definition juce_PluginListComponent.h:105
static FileSearchPath getLastSearchPath(PropertiesFile &, AudioPluginFormat &)
Definition juce_PluginListComponent.cpp:362
std::unique_ptr< Scanner > currentScanner
Definition juce_PluginListComponent.h:131
bool isInterestedInFileDrag(const StringArray &) override
Definition juce_PluginListComponent.cpp:351
KnownPluginList & list
Definition juce_PluginListComponent.h:118
void setTableModel(TableListBoxModel *)
Definition juce_PluginListComponent.cpp:246
void filesDropped(const StringArray &, int, int) override
Definition juce_PluginListComponent.cpp:356
String dialogText
Definition juce_PluginListComponent.h:123
bool allowAsync
Definition juce_PluginListComponent.h:124
bool isScanning() const noexcept
Definition juce_PluginListComponent.cpp:646
void changeListenerCallback(ChangeBroadcaster *) override
Definition juce_PluginListComponent.cpp:225
PopupMenu createOptionsMenu()
Definition juce_PluginListComponent.cpp:289
String dialogTitle
Definition juce_PluginListComponent.h:123
void updateList()
Definition juce_PluginListComponent.cpp:231
void removeSelectedPlugins()
Definition juce_PluginListComponent.cpp:237
PopupMenu createMenuForRow(int rowNumber)
Definition juce_PluginListComponent.cpp:334
File deadMansPedalFile
Definition juce_PluginListComponent.h:119
TableListBox table
Definition juce_PluginListComponent.h:120
AudioPluginFormatManager & formatManager
Definition juce_PluginListComponent.h:117
void setNumberOfThreadsForScanning(int numThreads)
Definition juce_PluginListComponent.cpp:206
static void setLastSearchPath(PropertiesFile &, AudioPluginFormat &, const FileSearchPath &)
Definition juce_PluginListComponent.cpp:372
int numThreads
Definition juce_PluginListComponent.h:125
PropertiesFile * propertiesToUse
Definition juce_PluginListComponent.h:122
void removePluginItem(int index)
Definition juce_PluginListComponent.cpp:281
void setOptionsButtonText(const String &newText)
Definition juce_PluginListComponent.cpp:194
PluginListComponent(AudioPluginFormatManager &formatManager, KnownPluginList &listToRepresent, const File &deadMansPedalFile, PropertiesFile *propertiesToUse, bool allowPluginsWhichRequireAsynchronousInstantiation=false)
Definition juce_PluginListComponent.cpp:143
TextButton optionsButton
Definition juce_PluginListComponent.h:121
void scanFinished(const StringArray &, const std::vector< String > &)
Definition juce_PluginListComponent.cpp:651
void removeMissingPlugins()
Definition juce_PluginListComponent.cpp:268
void scanFor(AudioPluginFormat &)
Definition juce_PluginListComponent.cpp:634
void setScanDialogText(const String &textForProgressWindowTitle, const String &textForProgressWindowDescription)
Definition juce_PluginListComponent.cpp:200
TextButton & getOptionsButton()
Definition juce_PluginListComponent.h:110
std::unique_ptr< TableListBoxModel > tableModel
Definition juce_PluginListComponent.h:128
Definition juce_PopupMenu.h:80
Definition juce_PropertiesFile.h:48
Definition juce_StringArray.h:35
Definition juce_String.h:53
Definition juce_TableListBox.h:207
Definition juce_TableListBox.h:41
Definition juce_TextButton.h:39
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31