JUCE
|
Manages a list of plugin types. More...
Classes | |
class | CustomScanner |
struct | PluginTree |
A structure that recursively holds a tree of plugins. More... | |
Public Types | |
enum | SortMethod { defaultOrder = 0, sortAlphabetically, sortByCategory, sortByManufacturer, sortByFormat, sortByFileSystemLocation, sortByInfoUpdateTime } |
Sort methods used to change the order of the plugins in the list. More... | |
Public Member Functions | |
KnownPluginList () | |
Creates an empty list. More... | |
~KnownPluginList () | |
Destructor. More... | |
void | clear () |
Clears the list. More... | |
int | getNumTypes () const noexcept |
Returns the number of types currently in the list. More... | |
PluginDescription * | getType (int index) const noexcept |
Returns one of the types. More... | |
PluginDescription ** | begin () const noexcept |
Type iteration. More... | |
PluginDescription ** | end () const noexcept |
Type iteration. More... | |
PluginDescription * | getTypeForFile (const String &fileOrIdentifier) const |
Looks for a type in the list which comes from this file. More... | |
PluginDescription * | getTypeForIdentifierString (const String &identifierString) const |
Looks for a type in the list which matches a plugin type ID. More... | |
bool | addType (const PluginDescription &type) |
Adds a type manually from its description. More... | |
void | removeType (int index) |
Removes a type. More... | |
bool | scanAndAddFile (const String &possiblePluginFileOrIdentifier, bool dontRescanIfAlreadyInList, OwnedArray< PluginDescription > &typesFound, AudioPluginFormat &formatToUse) |
Looks for all types that can be loaded from a given file, and adds them to the list. More... | |
void | scanFinished () |
Tells a custom scanner that a scan has finished, and it can release any resources. More... | |
bool | isListingUpToDate (const String &possiblePluginFileOrIdentifier, AudioPluginFormat &formatToUse) const |
Returns true if the specified file is already known about and if it hasn't been modified since our entry was created. More... | |
void | scanAndAddDragAndDroppedFiles (AudioPluginFormatManager &formatManager, const StringArray &filenames, OwnedArray< PluginDescription > &typesFound) |
Scans and adds a bunch of files that might have been dragged-and-dropped. More... | |
const StringArray & | getBlacklistedFiles () const |
Returns the list of blacklisted files. More... | |
void | addToBlacklist (const String &pluginID) |
Adds a plugin ID to the black-list. More... | |
void | removeFromBlacklist (const String &pluginID) |
Removes a plugin ID from the black-list. More... | |
void | clearBlacklistedFiles () |
Clears all the blacklisted files. More... | |
void | addToMenu (PopupMenu &menu, SortMethod sortMethod, const String ¤tlyTickedPluginID=String()) const |
Adds all the plugin types to a popup menu so that the user can select one. More... | |
int | getIndexChosenByMenu (int menuResultCode) const |
Converts a menu item index that has been chosen into its index in this list. More... | |
void | sort (SortMethod method, bool forwards) |
Sorts the list. More... | |
XmlElement * | createXml () const |
Creates some XML that can be used to store the state of this list. More... | |
void | recreateFromXml (const XmlElement &xml) |
Recreates the state of this list from its stored XML format. More... | |
PluginTree * | createTree (const SortMethod sortMethod) const |
Creates a PluginTree object containing all the known plugins. More... | |
void | setCustomScanner (CustomScanner *) |
Supplies a custom scanner to be used in future scans. More... | |
![]() | |
ChangeBroadcaster () noexcept | |
Creates an ChangeBroadcaster. More... | |
virtual | ~ChangeBroadcaster () |
Destructor. More... | |
void | addChangeListener (ChangeListener *listener) |
Registers a listener to receive change callbacks from this broadcaster. More... | |
void | removeChangeListener (ChangeListener *listener) |
Unregisters a listener from the list. More... | |
void | removeAllChangeListeners () |
Removes all listeners from the list. More... | |
void | sendChangeMessage () |
Causes an asynchronous change message to be sent to all the registered listeners. More... | |
void | sendSynchronousChangeMessage () |
Sends a synchronous change message to all the registered listeners. More... | |
void | dispatchPendingMessages () |
If a change message has been sent but not yet dispatched, this will call sendSynchronousChangeMessage() to make the callback immediately. More... | |
Manages a list of plugin types.
This can be easily edited, saved and loaded, and used to create instances of the plugin types in it.
KnownPluginList::KnownPluginList | ( | ) |
Creates an empty list.
KnownPluginList::~KnownPluginList | ( | ) |
Destructor.
void KnownPluginList::clear | ( | ) |
Clears the list.
|
noexcept |
Returns the number of types currently in the list.
|
noexcept |
Returns one of the types.
|
noexcept |
Type iteration.
|
noexcept |
Type iteration.
PluginDescription* KnownPluginList::getTypeForFile | ( | const String & | fileOrIdentifier | ) | const |
Looks for a type in the list which comes from this file.
PluginDescription* KnownPluginList::getTypeForIdentifierString | ( | const String & | identifierString | ) | const |
Looks for a type in the list which matches a plugin type ID.
The identifierString parameter must have been created by PluginDescription::createIdentifierString().
bool KnownPluginList::addType | ( | const PluginDescription & | type | ) |
Adds a type manually from its description.
void KnownPluginList::removeType | ( | int | index | ) |
Removes a type.
bool KnownPluginList::scanAndAddFile | ( | const String & | possiblePluginFileOrIdentifier, |
bool | dontRescanIfAlreadyInList, | ||
OwnedArray< PluginDescription > & | typesFound, | ||
AudioPluginFormat & | formatToUse | ||
) |
Looks for all types that can be loaded from a given file, and adds them to the list.
If dontRescanIfAlreadyInList is true, then the file will only be loaded and re-tested if it's not already in the list, or if the file's modification time has changed since the list was created. If dontRescanIfAlreadyInList is false, the file will always be reloaded and tested.
Returns true if any new types were added, and all the types found in this file (even if it was already known and hasn't been re-scanned) get returned in the array.
void KnownPluginList::scanFinished | ( | ) |
Tells a custom scanner that a scan has finished, and it can release any resources.
bool KnownPluginList::isListingUpToDate | ( | const String & | possiblePluginFileOrIdentifier, |
AudioPluginFormat & | formatToUse | ||
) | const |
Returns true if the specified file is already known about and if it hasn't been modified since our entry was created.
void KnownPluginList::scanAndAddDragAndDroppedFiles | ( | AudioPluginFormatManager & | formatManager, |
const StringArray & | filenames, | ||
OwnedArray< PluginDescription > & | typesFound | ||
) |
Scans and adds a bunch of files that might have been dragged-and-dropped.
If any types are found in the files, their descriptions are returned in the array.
const StringArray& KnownPluginList::getBlacklistedFiles | ( | ) | const |
Returns the list of blacklisted files.
void KnownPluginList::addToBlacklist | ( | const String & | pluginID | ) |
Adds a plugin ID to the black-list.
void KnownPluginList::removeFromBlacklist | ( | const String & | pluginID | ) |
Removes a plugin ID from the black-list.
void KnownPluginList::clearBlacklistedFiles | ( | ) |
Clears all the blacklisted files.
void KnownPluginList::addToMenu | ( | PopupMenu & | menu, |
SortMethod | sortMethod, | ||
const String & | currentlyTickedPluginID = String() |
||
) | const |
Adds all the plugin types to a popup menu so that the user can select one.
Depending on the sort method, it may add sub-menus for categories, manufacturers, etc.
Use getIndexChosenByMenu() to find out the type that was chosen.
int KnownPluginList::getIndexChosenByMenu | ( | int | menuResultCode | ) | const |
Converts a menu item index that has been chosen into its index in this list.
Returns -1 if it's not an ID that was used.
void KnownPluginList::sort | ( | SortMethod | method, |
bool | forwards | ||
) |
Sorts the list.
XmlElement* KnownPluginList::createXml | ( | ) | const |
Creates some XML that can be used to store the state of this list.
void KnownPluginList::recreateFromXml | ( | const XmlElement & | xml | ) |
Recreates the state of this list from its stored XML format.
PluginTree* KnownPluginList::createTree | ( | const SortMethod | sortMethod | ) | const |
Creates a PluginTree object containing all the known plugins.
void KnownPluginList::setCustomScanner | ( | CustomScanner * | ) |
Supplies a custom scanner to be used in future scans.
The KnownPluginList will take ownership of the object passed in.