TracktionEngine
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::RackType Class Reference
Inheritance diagram for tracktion::engine::RackType:

Classes

struct  WindowState
 

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< RackType >
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 RackType (const juce::ValueTree &, Edit &)
 
 ~RackType () override
 
juce::ValueTree createStateCopy (bool includeAutomation)
 
juce::Result restoreStateFromValueTree (const juce::ValueTree &)
 
void registerInstance (RackInstance *, const PluginInitialisationInfo &)
 
void initialisePluginsIfNeeded (const PluginInitialisationInfo &) const
 
void deregisterInstance (RackInstance *)
 
void updateAutomatableParamPositions (TimePosition)
 
double getLatencySeconds (double sampleRate, int blockSize)
 
juce::Array< Plugin * > getPlugins () const
 
bool addPlugin (const Plugin::Ptr &, juce::Point< float > pos, bool canAutoConnect)
 Adds a plugin to the Rack optionally connecting it to the input and outputs. More...
 
PlugingetPluginForID (EditItemID)
 
juce::Point< float > getPluginPosition (const Plugin::Ptr &) const
 
juce::Point< float > getPluginPosition (int index) const
 
void setPluginPosition (int index, juce::Point< float > pos)
 
juce::Array< const RackConnection * > getConnections () const noexcept
 
bool addConnection (EditItemID source, int sourcePin, EditItemID dest, int destPin)
 
bool removeConnection (EditItemID source, int sourcePin, EditItemID dest, int destPin)
 
bool isConnectionLegal (EditItemID source, int sourcePin, EditItemID dest, int destPin) const
 
juce::Array< EditItemIDgetPluginsWhichTakeInputFrom (EditItemID) const
 
void checkConnections ()
 
void createInstanceForSideChain (Track &, const juce::BigInteger &channelMask, EditItemID pluginID, int pinIndex)
 
juce::StringArray getInputNames () const
 
juce::StringArray getOutputNames () const
 
int addInput (int index, const juce::String &name)
 
int addOutput (int index, const juce::String &name)
 
void removeInput (int index)
 
void removeOutput (int index)
 
void renameInput (int index, const juce::String &name)
 
void renameOutput (int index, const juce::String &name)
 
bool pasteClipboard ()
 
ModifierListgetModifierList () const noexcept
 
juce::UndoManager * getUndoManager () const
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are. More...
 
juce::StringArray getAudioInputNamesWithChannels () const
 
juce::StringArray getAudioOutputNamesWithChannels () const
 
juce::Array< WindowState * > getWindowStates () const
 
void loadWindowPosition ()
 
void saveWindowPosition ()
 
void hideWindowForShutdown ()
 
- Public Member Functions inherited from tracktion::engine::Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected. More...
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object. More...
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More...
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions. More...
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 
- Public Member Functions inherited from tracktion::engine::MacroParameterElement
 MacroParameterElement (Edit &, const juce::ValueTree &)
 Constructor. More...
 
virtual ~MacroParameterElement ()=default
 Destructor. More...
 
int getNumMacroParameters () const
 Returns the number of macro parameters for this object. More...
 

Static Public Member Functions

static Ptr createTypeToWrapPlugins (const Plugin::Array &, Edit &)
 
static bool isPluginAllowed (const Plugin::Ptr &)
 
static void removeBrokenConnections (juce::ValueTree &, juce::UndoManager *)
 
static RackType::Ptr findRackTypeContaining (const Plugin &)
 
static const char * getRackPresetPrefix () noexcept
 
- Static Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted. More...
 

Public Attributes

Editedit
 
juce::ValueTree state
 
const EditItemID rackID
 
juce::CachedValue< juce::String > rackName
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Public Attributes inherited from tracktion::engine::MacroParameterElement
MacroParameterList macroParameterList
 

Member Typedef Documentation

◆ Ptr

using tracktion::engine::RackType::Ptr = juce::ReferenceCountedObjectPtr<RackType>

Constructor & Destructor Documentation

◆ RackType()

tracktion::engine::RackType::RackType ( const juce::ValueTree &  ,
Edit  
)

◆ ~RackType()

tracktion::engine::RackType::~RackType ( )
override

Member Function Documentation

◆ createStateCopy()

juce::ValueTree tracktion::engine::RackType::createStateCopy ( bool  includeAutomation)

◆ restoreStateFromValueTree()

juce::Result tracktion::engine::RackType::restoreStateFromValueTree ( const juce::ValueTree &  )

◆ createTypeToWrapPlugins()

static Ptr tracktion::engine::RackType::createTypeToWrapPlugins ( const Plugin::Array ,
Edit  
)
static

◆ registerInstance()

void tracktion::engine::RackType::registerInstance ( RackInstance ,
const PluginInitialisationInfo  
)

◆ initialisePluginsIfNeeded()

void tracktion::engine::RackType::initialisePluginsIfNeeded ( const PluginInitialisationInfo ) const

◆ deregisterInstance()

void tracktion::engine::RackType::deregisterInstance ( RackInstance )

◆ updateAutomatableParamPositions()

void tracktion::engine::RackType::updateAutomatableParamPositions ( TimePosition  )

◆ getLatencySeconds()

double tracktion::engine::RackType::getLatencySeconds ( double  sampleRate,
int  blockSize 
)

◆ getPlugins()

juce::Array<Plugin*> tracktion::engine::RackType::getPlugins ( ) const

◆ isPluginAllowed()

static bool tracktion::engine::RackType::isPluginAllowed ( const Plugin::Ptr )
static

◆ addPlugin()

bool tracktion::engine::RackType::addPlugin ( const Plugin::Ptr ,
juce::Point< float >  pos,
bool  canAutoConnect 
)

Adds a plugin to the Rack optionally connecting it to the input and outputs.

Returns
true if the plugin was added, false otherwise

◆ getPluginForID()

Plugin* tracktion::engine::RackType::getPluginForID ( EditItemID  )

◆ getPluginPosition() [1/2]

juce::Point<float> tracktion::engine::RackType::getPluginPosition ( const Plugin::Ptr ) const

◆ getPluginPosition() [2/2]

juce::Point<float> tracktion::engine::RackType::getPluginPosition ( int  index) const

◆ setPluginPosition()

void tracktion::engine::RackType::setPluginPosition ( int  index,
juce::Point< float >  pos 
)

◆ getConnections()

juce::Array<const RackConnection*> tracktion::engine::RackType::getConnections ( ) const
noexcept

◆ addConnection()

bool tracktion::engine::RackType::addConnection ( EditItemID  source,
int  sourcePin,
EditItemID  dest,
int  destPin 
)

◆ removeConnection()

bool tracktion::engine::RackType::removeConnection ( EditItemID  source,
int  sourcePin,
EditItemID  dest,
int  destPin 
)

◆ isConnectionLegal()

bool tracktion::engine::RackType::isConnectionLegal ( EditItemID  source,
int  sourcePin,
EditItemID  dest,
int  destPin 
) const

◆ getPluginsWhichTakeInputFrom()

juce::Array<EditItemID> tracktion::engine::RackType::getPluginsWhichTakeInputFrom ( EditItemID  ) const

◆ checkConnections()

void tracktion::engine::RackType::checkConnections ( )

◆ removeBrokenConnections()

static void tracktion::engine::RackType::removeBrokenConnections ( juce::ValueTree &  ,
juce::UndoManager *   
)
static

◆ createInstanceForSideChain()

void tracktion::engine::RackType::createInstanceForSideChain ( Track ,
const juce::BigInteger &  channelMask,
EditItemID  pluginID,
int  pinIndex 
)

◆ getInputNames()

juce::StringArray tracktion::engine::RackType::getInputNames ( ) const

◆ getOutputNames()

juce::StringArray tracktion::engine::RackType::getOutputNames ( ) const

◆ addInput()

int tracktion::engine::RackType::addInput ( int  index,
const juce::String &  name 
)

◆ addOutput()

int tracktion::engine::RackType::addOutput ( int  index,
const juce::String &  name 
)

◆ removeInput()

void tracktion::engine::RackType::removeInput ( int  index)

◆ removeOutput()

void tracktion::engine::RackType::removeOutput ( int  index)

◆ renameInput()

void tracktion::engine::RackType::renameInput ( int  index,
const juce::String &  name 
)

◆ renameOutput()

void tracktion::engine::RackType::renameOutput ( int  index,
const juce::String &  name 
)

◆ pasteClipboard()

bool tracktion::engine::RackType::pasteClipboard ( )

◆ getModifierList()

ModifierList& tracktion::engine::RackType::getModifierList ( ) const
noexcept

◆ getUndoManager()

juce::UndoManager* tracktion::engine::RackType::getUndoManager ( ) const

◆ getSelectableDescription()

juce::String tracktion::engine::RackType::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

◆ getAudioInputNamesWithChannels()

juce::StringArray tracktion::engine::RackType::getAudioInputNamesWithChannels ( ) const

◆ getAudioOutputNamesWithChannels()

juce::StringArray tracktion::engine::RackType::getAudioOutputNamesWithChannels ( ) const

◆ findRackTypeContaining()

static RackType::Ptr tracktion::engine::RackType::findRackTypeContaining ( const Plugin )
static

◆ getRackPresetPrefix()

static const char* tracktion::engine::RackType::getRackPresetPrefix ( )
staticnoexcept

◆ getWindowStates()

juce::Array<WindowState*> tracktion::engine::RackType::getWindowStates ( ) const

◆ loadWindowPosition()

void tracktion::engine::RackType::loadWindowPosition ( )

◆ saveWindowPosition()

void tracktion::engine::RackType::saveWindowPosition ( )

◆ hideWindowForShutdown()

void tracktion::engine::RackType::hideWindowForShutdown ( )

Member Data Documentation

◆ edit

Edit& tracktion::engine::RackType::edit

◆ state

juce::ValueTree tracktion::engine::RackType::state

◆ rackID

const EditItemID tracktion::engine::RackType::rackID

◆ rackName

juce::CachedValue<juce::String> tracktion::engine::RackType::rackName

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