openshot-audio  0.1.4
Classes | Public Types | Public Member Functions | List of all members
KnownPluginList Class Reference

#include <juce_KnownPluginList.h>

Inheritance diagram for KnownPluginList:
ChangeBroadcaster

Classes

class  CustomScanner
 
struct  PluginTree
 

Public Types

enum  SortMethod {
  defaultOrder = 0, sortAlphabetically, sortByCategory, sortByManufacturer,
  sortByFormat, sortByFileSystemLocation
}
 

Public Member Functions

 KnownPluginList ()
 
 ~KnownPluginList ()
 
void clear ()
 
int getNumTypes () const noexcept
 
PluginDescriptiongetType (int index) const noexcept
 
PluginDescription ** begin () const noexcept
 
PluginDescription ** end () const noexcept
 
PluginDescriptiongetTypeForFile (const String &fileOrIdentifier) const
 
PluginDescriptiongetTypeForIdentifierString (const String &identifierString) const
 
bool addType (const PluginDescription &type)
 
void removeType (int index)
 
bool scanAndAddFile (const String &possiblePluginFileOrIdentifier, bool dontRescanIfAlreadyInList, OwnedArray< PluginDescription > &typesFound, AudioPluginFormat &formatToUse)
 
void scanFinished ()
 
bool isListingUpToDate (const String &possiblePluginFileOrIdentifier, AudioPluginFormat &formatToUse) const
 
void scanAndAddDragAndDroppedFiles (AudioPluginFormatManager &formatManager, const StringArray &filenames, OwnedArray< PluginDescription > &typesFound)
 
const StringArraygetBlacklistedFiles () const
 
void addToBlacklist (const String &pluginID)
 
void removeFromBlacklist (const String &pluginID)
 
void clearBlacklistedFiles ()
 
void addToMenu (PopupMenu &menu, SortMethod sortMethod) const
 
int getIndexChosenByMenu (int menuResultCode) const
 
void sort (SortMethod method, bool forwards)
 
XmlElementcreateXml () const
 
void recreateFromXml (const XmlElement &xml)
 
PluginTreecreateTree (const SortMethod sortMethod) const
 
void setCustomScanner (CustomScanner *)
 
- Public Member Functions inherited from ChangeBroadcaster
 ChangeBroadcaster () noexcept
 
virtual ~ChangeBroadcaster ()
 
void addChangeListener (ChangeListener *listener)
 
void removeChangeListener (ChangeListener *listener)
 
void removeAllChangeListeners ()
 
void sendChangeMessage ()
 
void sendSynchronousChangeMessage ()
 
void dispatchPendingMessages ()
 

Detailed Description

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.

See also
PluginListComponent

Member Enumeration Documentation

◆ SortMethod

Sort methods used to change the order of the plugins in the list.

Enumerator
defaultOrder 
sortAlphabetically 
sortByCategory 
sortByManufacturer 
sortByFormat 
sortByFileSystemLocation 

Constructor & Destructor Documentation

◆ KnownPluginList()

KnownPluginList::KnownPluginList ( )

Creates an empty list.

◆ ~KnownPluginList()

KnownPluginList::~KnownPluginList ( )

Destructor.

Member Function Documentation

◆ addToBlacklist()

void KnownPluginList::addToBlacklist ( const String pluginID)

Adds a plugin ID to the black-list.

◆ addToMenu()

void KnownPluginList::addToMenu ( PopupMenu menu,
SortMethod  sortMethod 
) 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.

◆ addType()

bool KnownPluginList::addType ( const PluginDescription type)

Adds a type manually from its description.

◆ begin()

PluginDescription** KnownPluginList::begin ( ) const
inlinenoexcept

Type iteration.

◆ clear()

void KnownPluginList::clear ( )

Clears the list.

◆ clearBlacklistedFiles()

void KnownPluginList::clearBlacklistedFiles ( )

Clears all the blacklisted files.

◆ createTree()

KnownPluginList::PluginTree * KnownPluginList::createTree ( const SortMethod  sortMethod) const

Creates a PluginTree object containing all the known plugins.

◆ createXml()

XmlElement * KnownPluginList::createXml ( ) const

Creates some XML that can be used to store the state of this list.

◆ end()

PluginDescription** KnownPluginList::end ( ) const
inlinenoexcept

Type iteration.

◆ getBlacklistedFiles()

const StringArray & KnownPluginList::getBlacklistedFiles ( ) const

Returns the list of blacklisted files.

◆ getIndexChosenByMenu()

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.

See also
addToMenu

◆ getNumTypes()

int KnownPluginList::getNumTypes ( ) const
inlinenoexcept

Returns the number of types currently in the list.

See also
getType

◆ getType()

PluginDescription* KnownPluginList::getType ( int  index) const
inlinenoexcept

Returns one of the types.

See also
getNumTypes

◆ getTypeForFile()

PluginDescription * KnownPluginList::getTypeForFile ( const String fileOrIdentifier) const

Looks for a type in the list which comes from this file.

◆ getTypeForIdentifierString()

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().

◆ isListingUpToDate()

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.

◆ recreateFromXml()

void KnownPluginList::recreateFromXml ( const XmlElement xml)

Recreates the state of this list from its stored XML format.

◆ removeFromBlacklist()

void KnownPluginList::removeFromBlacklist ( const String pluginID)

Removes a plugin ID from the black-list.

◆ removeType()

void KnownPluginList::removeType ( int  index)

Removes a type.

◆ scanAndAddDragAndDroppedFiles()

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.

◆ scanAndAddFile()

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.

◆ scanFinished()

void KnownPluginList::scanFinished ( )

Tells a custom scanner that a scan has finished, and it can release any resources.

◆ setCustomScanner()

void KnownPluginList::setCustomScanner ( CustomScanner newScanner)

Supplies a custom scanner to be used in future scans. The KnownPluginList will take ownership of the object passed in.

◆ sort()

void KnownPluginList::sort ( SortMethod  method,
bool  forwards 
)

Sorts the list.


The documentation for this class was generated from the following files: