tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
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:
tracktion::engine::Selectable juce::ReferenceCountedObject tracktion::engine::MacroParameterElement juce::ValueTree::Listener

Classes

struct  ConnectionList
 
struct  RackPluginList
 
struct  WindowState
 
struct  WindowStateList
 

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 &)
 
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.
 
PlugingetPluginForID (EditItemID)
 
juce::Point< floatgetPluginPosition (const Plugin::Ptr &) const
 
juce::Point< floatgetPluginPosition (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::UndoManagergetUndoManager () const
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
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
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected.
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object.
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void addListener (SelectableListener *)
 
void removeListener (SelectableListener *)
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions.
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 
- Public Member Functions inherited from juce::ReferenceCountedObject
void incReferenceCount () noexcept
 
void decReferenceCount () noexcept
 
bool decReferenceCountWithoutDeleting () noexcept
 
int getReferenceCount () const noexcept
 
- Public Member Functions inherited from tracktion::engine::MacroParameterElement
 MacroParameterElement (Edit &, const juce::ValueTree &)
 Constructor.
 
virtual ~MacroParameterElement ()=default
 Destructor.
 
MacroParameterListgetMacroParameterList ()
 If no parameters have been created, this may return nullptr.
 
MacroParameterListgetMacroParameterListForWriting ()
 This ensures that the list has been created.
 
juce::ReferenceCountedArray< MacroParametergetMacroParameters () const
 

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

Public Attributes

Editedit
 
juce::ValueTree state
 
EditItemID rackID
 
juce::CachedValue< juce::StringrackName
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Public Attributes inherited from tracktion::engine::MacroParameterElement
EditownerEdit
 
juce::ValueTree parentStateForList
 

Additional Inherited Members

- Protected Member Functions inherited from juce::ReferenceCountedObject
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
 
void resetReferenceCount () noexcept
 

Detailed Description

Definition at line 26 of file tracktion_RackType.h.

Member Typedef Documentation

◆ Ptr

Definition at line 35 of file tracktion_RackType.h.

Constructor & Destructor Documentation

◆ RackType()

tracktion::engine::RackType::RackType ( const juce::ValueTree v,
Edit owner 
)

Definition at line 190 of file tracktion_RackType.cpp.

◆ ~RackType()

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

Definition at line 234 of file tracktion_RackType.cpp.

Member Function Documentation

◆ addConnection()

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

Definition at line 638 of file tracktion_RackType.cpp.

◆ addInput()

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

Definition at line 923 of file tracktion_RackType.cpp.

◆ addOutput()

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

Definition at line 951 of file tracktion_RackType.cpp.

◆ addPlugin()

bool tracktion::engine::RackType::addPlugin ( const Plugin::Ptr p,
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

Definition at line 490 of file tracktion_RackType.cpp.

◆ checkConnections()

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

Definition at line 680 of file tracktion_RackType.cpp.

◆ createInstanceForSideChain()

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

Definition at line 818 of file tracktion_RackType.cpp.

◆ createStateCopy()

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

Definition at line 340 of file tracktion_RackType.cpp.

◆ createTypeToWrapPlugins()

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

Definition at line 382 of file tracktion_RackType.cpp.

◆ deregisterInstance()

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

Definition at line 1061 of file tracktion_RackType.cpp.

◆ findRackTypeContaining()

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

Definition at line 1079 of file tracktion_RackType.cpp.

◆ getAudioInputNamesWithChannels()

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

Definition at line 1102 of file tracktion_RackType.cpp.

◆ getAudioOutputNamesWithChannels()

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

Definition at line 1107 of file tracktion_RackType.cpp.

◆ getConnections()

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

Definition at line 729 of file tracktion_RackType.cpp.

◆ getInputNames()

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

Definition at line 452 of file tracktion_RackType.cpp.

◆ getModifierList()

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

Definition at line 1186 of file tracktion_RackType.cpp.

◆ getOutputNames()

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

Definition at line 463 of file tracktion_RackType.cpp.

◆ getPluginForID()

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

Definition at line 1113 of file tracktion_RackType.cpp.

◆ getPluginPosition() [1/2]

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

Definition at line 533 of file tracktion_RackType.cpp.

◆ getPluginPosition() [2/2]

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

Definition at line 543 of file tracktion_RackType.cpp.

◆ getPlugins()

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

Definition at line 474 of file tracktion_RackType.cpp.

◆ getPluginsWhichTakeInputFrom()

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

Definition at line 562 of file tracktion_RackType.cpp.

◆ getRackPresetPrefix()

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

Definition at line 122 of file tracktion_RackType.h.

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 901 of file tracktion_RackType.cpp.

◆ getUndoManager()

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

Definition at line 1033 of file tracktion_RackType.cpp.

◆ getWindowStates()

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

Definition at line 355 of file tracktion_RackType.cpp.

◆ hideWindowForShutdown()

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

Definition at line 1125 of file tracktion_RackType.cpp.

◆ isConnectionLegal()

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

Definition at line 592 of file tracktion_RackType.cpp.

◆ isPluginAllowed()

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

Definition at line 485 of file tracktion_RackType.cpp.

◆ loadWindowPosition()

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

Definition at line 360 of file tracktion_RackType.cpp.

◆ pasteClipboard()

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

Definition at line 1135 of file tracktion_RackType.cpp.

◆ registerInstance()

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

Definition at line 1052 of file tracktion_RackType.cpp.

◆ removeBrokenConnections()

void tracktion::engine::RackType::removeBrokenConnections ( juce::ValueTree rack,
juce::UndoManager um 
)
static

Definition at line 804 of file tracktion_RackType.cpp.

◆ removeConnection()

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

Definition at line 659 of file tracktion_RackType.cpp.

◆ removeInput()

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

Definition at line 979 of file tracktion_RackType.cpp.

◆ removeOutput()

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

Definition at line 995 of file tracktion_RackType.cpp.

◆ renameInput()

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

Definition at line 1016 of file tracktion_RackType.cpp.

◆ renameOutput()

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

Definition at line 1024 of file tracktion_RackType.cpp.

◆ restoreStateFromValueTree()

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

Definition at line 289 of file tracktion_RackType.cpp.

◆ saveWindowPosition()

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

Definition at line 372 of file tracktion_RackType.cpp.

◆ setPluginPosition()

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

Definition at line 552 of file tracktion_RackType.cpp.

◆ updateAutomatableParamPositions()

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

Definition at line 1069 of file tracktion_RackType.cpp.

Member Data Documentation

◆ edit

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

Definition at line 140 of file tracktion_RackType.h.

◆ rackID

EditItemID tracktion::engine::RackType::rackID

Definition at line 143 of file tracktion_RackType.h.

◆ rackName

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

Definition at line 145 of file tracktion_RackType.h.

◆ state

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

Definition at line 142 of file tracktion_RackType.h.


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