TracktionEngine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tracktion::engine::PluginManager Class Reference

#include <tracktion_PluginManager.h>

Inherits juce::ChangeListener.

Classes

struct  BuiltInType
 
struct  BuiltInTypeBase
 

Public Member Functions

 PluginManager (Engine &)
 
 ~PluginManager () override
 
void initialise ()
 
bool areGUIsLockedByDefault ()
 
void setGUIsLockedByDefault (bool)
 
bool doubleClickToOpenWindows ()
 
void setDoubleClickToOpenWindows (bool)
 
int getNumberOfThreadsForScanning ()
 
void setNumberOfThreadsForScanning (int)
 
bool usesSeparateProcessForScanning ()
 
void setUsesSeparateProcessForScanning (bool)
 
Plugin::Ptr createExistingPlugin (Edit &, const juce::ValueTree &)
 
Plugin::Ptr createNewPlugin (Edit &, const juce::ValueTree &)
 
Plugin::Ptr createNewPlugin (Edit &, const juce::String &type, const juce::PluginDescription &)
 
juce::Array< juce::PluginDescription > getARACompatiblePlugDescriptions ()
 
void registerBuiltInType (std::unique_ptr< BuiltInType >)
 
template<typename Type >
void createBuiltInType ()
 

Static Public Member Functions

static bool startChildProcessPluginScan (const juce::String &commandLine)
 This is called by a child process in the app's start-up code, to invoke the actual scan.
 
static bool isBuiltInPlugin (const juce::PluginDescription &d)
 
template<class PluginClass >
static juce::PluginDescription createBuiltInPluginDescription (bool synth=false)
 

Public Attributes

juce::AudioPluginFormatManager pluginFormatManager
 
juce::KnownPluginList knownPluginList
 
std::function< void()> abortCurrentPluginScan
 May be called by clients to cancel a scan if one is active.
 
std::function< std::unique_ptr< juce::AudioPluginInstance >(const juce::PluginDescription &, double rate, int blockSize, juce::String &errorMessage)> createPluginInstance
 Callback that is used to create plugin instances from a PluginDescription.
 
std::function< bool(Plugin &)> canUseFineGrainAutomation
 Callback that is used to determine if a plugin should use fine-grain automation or not.
 
std::function< void()> scanCompletedCallback
 

Static Public Attributes

static constexpr const char * builtInPluginFormatName = "TracktionInternal"
 

Constructor & Destructor Documentation

◆ PluginManager()

tracktion::engine::PluginManager::PluginManager ( Engine )

◆ ~PluginManager()

tracktion::engine::PluginManager::~PluginManager ( )
override

Member Function Documentation

◆ initialise()

void tracktion::engine::PluginManager::initialise ( )

◆ startChildProcessPluginScan()

static bool tracktion::engine::PluginManager::startChildProcessPluginScan ( const juce::String &  commandLine)
static

This is called by a child process in the app's start-up code, to invoke the actual scan.

Returns true if the command-line params invoke a scan, or false if this is a normal run.

◆ areGUIsLockedByDefault()

bool tracktion::engine::PluginManager::areGUIsLockedByDefault ( )

◆ setGUIsLockedByDefault()

void tracktion::engine::PluginManager::setGUIsLockedByDefault ( bool  )

◆ doubleClickToOpenWindows()

bool tracktion::engine::PluginManager::doubleClickToOpenWindows ( )

◆ setDoubleClickToOpenWindows()

void tracktion::engine::PluginManager::setDoubleClickToOpenWindows ( bool  )

◆ getNumberOfThreadsForScanning()

int tracktion::engine::PluginManager::getNumberOfThreadsForScanning ( )

◆ setNumberOfThreadsForScanning()

void tracktion::engine::PluginManager::setNumberOfThreadsForScanning ( int  )

◆ usesSeparateProcessForScanning()

bool tracktion::engine::PluginManager::usesSeparateProcessForScanning ( )

◆ setUsesSeparateProcessForScanning()

void tracktion::engine::PluginManager::setUsesSeparateProcessForScanning ( bool  )

◆ createExistingPlugin()

Plugin::Ptr tracktion::engine::PluginManager::createExistingPlugin ( Edit ,
const juce::ValueTree &   
)

◆ createNewPlugin() [1/2]

Plugin::Ptr tracktion::engine::PluginManager::createNewPlugin ( Edit ,
const juce::ValueTree &   
)

◆ createNewPlugin() [2/2]

Plugin::Ptr tracktion::engine::PluginManager::createNewPlugin ( Edit ,
const juce::String &  type,
const juce::PluginDescription &   
)

◆ getARACompatiblePlugDescriptions()

juce::Array< juce::PluginDescription > tracktion::engine::PluginManager::getARACompatiblePlugDescriptions ( )

◆ registerBuiltInType()

void tracktion::engine::PluginManager::registerBuiltInType ( std::unique_ptr< BuiltInType )

Referenced by createBuiltInType().

◆ createBuiltInType()

template<typename Type >
void tracktion::engine::PluginManager::createBuiltInType ( )

References registerBuiltInType().

◆ isBuiltInPlugin()

static bool tracktion::engine::PluginManager::isBuiltInPlugin ( const juce::PluginDescription &  d)
static

◆ createBuiltInPluginDescription()

template<class PluginClass >
static juce::PluginDescription tracktion::engine::PluginManager::createBuiltInPluginDescription ( bool  synth = false)
static

Member Data Documentation

◆ pluginFormatManager

juce::AudioPluginFormatManager tracktion::engine::PluginManager::pluginFormatManager

◆ knownPluginList

juce::KnownPluginList tracktion::engine::PluginManager::knownPluginList

◆ abortCurrentPluginScan

std::function<void()> tracktion::engine::PluginManager::abortCurrentPluginScan

May be called by clients to cancel a scan if one is active.

◆ builtInPluginFormatName

constexpr const char* tracktion::engine::PluginManager::builtInPluginFormatName = "TracktionInternal"
staticconstexpr

◆ createPluginInstance

std::function<std::unique_ptr<juce::AudioPluginInstance>(const juce::PluginDescription&, double rate, int blockSize, juce::String& errorMessage)> tracktion::engine::PluginManager::createPluginInstance

Callback that is used to create plugin instances from a PluginDescription.

By default this simply uses the PluginManager's pluginFormatManager but it can be set to provide custom behaviour.

◆ canUseFineGrainAutomation

std::function<bool (Plugin&)> tracktion::engine::PluginManager::canUseFineGrainAutomation

Callback that is used to determine if a plugin should use fine-grain automation or not.

◆ scanCompletedCallback

std::function<void()> tracktion::engine::PluginManager::scanCompletedCallback

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