LMMS
Loading...
Searching...
No Matches
juce_PluginDirectoryScanner.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//==============================================================================
39{
40public:
41 //==============================================================================
65 PluginDirectoryScanner (KnownPluginList& listToAddResultsTo,
66 AudioPluginFormat& formatToLookFor,
67 FileSearchPath directoriesToSearch,
68 bool searchRecursively,
70 bool allowPluginsWhichRequireAsynchronousInstantiation = false);
71
74
75 //==============================================================================
81
93 bool scanNextFile (bool dontRescanIfAlreadyInList,
94 String& nameOfPluginBeingScanned);
95
99 bool skipNextFile();
100
108
110 float getProgress() const { return progress; }
111
116
118 static void applyBlacklistingsFromDeadMansPedal (KnownPluginList& listToApplyTo,
119 const File& deadMansPedalFile);
120
121private:
122 //==============================================================================
129 std::atomic<float> progress { 0.0f };
130 const bool allowAsync;
131
132 void updateProgress();
133 void setDeadMansPedalFile (const StringArray& newContents);
134
136};
137
138} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AudioPluginFormat.h:38
Definition juce_File.h:45
Definition juce_FileSearchPath.h:35
Definition juce_KnownPluginList.h:41
float getProgress() const
Definition juce_PluginDirectoryScanner.h:110
const bool allowAsync
Definition juce_PluginDirectoryScanner.h:130
StringArray filesOrIdentifiersToScan
Definition juce_PluginDirectoryScanner.h:125
PluginDirectoryScanner(KnownPluginList &listToAddResultsTo, AudioPluginFormat &formatToLookFor, FileSearchPath directoriesToSearch, bool searchRecursively, const File &deadMansPedalFile, bool allowPluginsWhichRequireAsynchronousInstantiation=false)
Definition juce_PluginDirectoryScanner.cpp:37
bool skipNextFile()
Definition juce_PluginDirectoryScanner.cpp:119
String getNextPluginFileThatWillBeScanned() const
Definition juce_PluginDirectoryScanner.cpp:73
std::atomic< float > progress
Definition juce_PluginDirectoryScanner.h:129
StringArray failedFiles
Definition juce_PluginDirectoryScanner.h:127
File deadMansPedalFile
Definition juce_PluginDirectoryScanner.h:126
const StringArray & getFailedFiles() const noexcept
Definition juce_PluginDirectoryScanner.h:115
void setDeadMansPedalFile(const StringArray &newContents)
Definition juce_PluginDirectoryScanner.cpp:125
AudioPluginFormat & format
Definition juce_PluginDirectoryScanner.h:124
void updateProgress()
Definition juce_PluginDirectoryScanner.cpp:78
Atomic< int > nextIndex
Definition juce_PluginDirectoryScanner.h:128
bool scanNextFile(bool dontRescanIfAlreadyInList, String &nameOfPluginBeingScanned)
Definition juce_PluginDirectoryScanner.cpp:83
KnownPluginList & list
Definition juce_PluginDirectoryScanner.h:123
void setFilesOrIdentifiersToScan(const StringArray &filesOrIdentifiersToScan)
Definition juce_PluginDirectoryScanner.cpp:58
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_Atomic.h:42
#define const
Definition zconf.h:137