TracktionEngine
Classes | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
tracktion::engine::AutomatableEditItem Class Reference

Base class for elements that have some kind of automatable parameters. More...

Inheritance diagram for tracktion::engine::AutomatableEditItem:

Classes

struct  ParameterListChangeListener
 

Public Member Functions

 AutomatableEditItem (Edit &, const juce::ValueTree &)
 
virtual ~AutomatableEditItem ()
 
virtual void flushPluginStateToValueTree ()
 
virtual void restorePluginStateFromValueTree (const juce::ValueTree &)
 
juce::Array< AutomatableParameter * > getAutomatableParameters () const
 
int getNumAutomatableParameters () const
 
AutomatableParameter::Ptr getAutomatableParameter (int index) const
 
AutomatableParameter::Ptr getAutomatableParameterByID (const juce::String &paramID) const
 
void deleteParameter (AutomatableParameter *)
 
void deleteAutomatableParameters ()
 
int indexOfAutomatableParameter (const AutomatableParameter::Ptr &) const
 
AutomatableParameterTreegetParameterTree () const
 
juce::ReferenceCountedArray< AutomatableParametergetFlattenedParameterTree () const
 
void addParameterListChangeListener (ParameterListChangeListener *)
 
void removeParameterListChangeListener (ParameterListChangeListener *)
 
bool isAutomationNeeded () const noexcept
 
void setAutomatableParamPosition (TimePosition)
 
bool isBeingActivelyPlayed () const
 
virtual void updateAutomatableParamPosition (TimePosition)
 Updates all the auto params to their positions at this time. More...
 
void updateParameterStreams (TimePosition)
 Updates all the parameter streams to their positions at this time. More...
 
void updateActiveParameters ()
 Iterates all the parameters to find out which ones need to be automated. More...
 
void resetRecordingStatus ()
 Marks the end of an automation recording stream. More...
 
- Public Member Functions inherited from tracktion::engine::EditItem
 EditItem (EditItemID, Edit &)
 
virtual ~EditItem ()=default
 
virtual juce::String getName () const =0
 

Public Attributes

juce::ValueTree elementState
 
juce::CachedValue< bool > remapOnTempoChange
 
- Public Attributes inherited from tracktion::engine::EditItem
Editedit
 
const EditItemID itemID
 Every EditItem has an ID which is unique within the edit. More...
 

Protected Member Functions

virtual void buildParameterTree () const
 
void updateLastPlaybackTime ()
 
void clearParameterList ()
 
void addAutomatableParameter (const AutomatableParameter::Ptr &)
 
void rebuildParameterTree ()
 
void saveChangedParametersToState ()
 Saves the explicit value of any parameters that have deviated to the state. More...
 
void restoreChangedParametersFromState ()
 Restores the value of any explicitly set parameters. More...
 

Detailed Description

Base class for elements that have some kind of automatable parameters.

Constructor & Destructor Documentation

◆ AutomatableEditItem()

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

◆ ~AutomatableEditItem()

virtual tracktion::engine::AutomatableEditItem::~AutomatableEditItem ( )
virtual

Member Function Documentation

◆ flushPluginStateToValueTree()

virtual void tracktion::engine::AutomatableEditItem::flushPluginStateToValueTree ( )
virtual

◆ restorePluginStateFromValueTree()

virtual void tracktion::engine::AutomatableEditItem::restorePluginStateFromValueTree ( const juce::ValueTree &  )
virtual

◆ getAutomatableParameters()

juce::Array<AutomatableParameter*> tracktion::engine::AutomatableEditItem::getAutomatableParameters ( ) const

◆ getNumAutomatableParameters()

int tracktion::engine::AutomatableEditItem::getNumAutomatableParameters ( ) const

◆ getAutomatableParameter()

AutomatableParameter::Ptr tracktion::engine::AutomatableEditItem::getAutomatableParameter ( int  index) const

◆ getAutomatableParameterByID()

AutomatableParameter::Ptr tracktion::engine::AutomatableEditItem::getAutomatableParameterByID ( const juce::String &  paramID) const

◆ deleteParameter()

void tracktion::engine::AutomatableEditItem::deleteParameter ( AutomatableParameter )

◆ deleteAutomatableParameters()

void tracktion::engine::AutomatableEditItem::deleteAutomatableParameters ( )

◆ indexOfAutomatableParameter()

int tracktion::engine::AutomatableEditItem::indexOfAutomatableParameter ( const AutomatableParameter::Ptr ) const

◆ getParameterTree()

AutomatableParameterTree& tracktion::engine::AutomatableEditItem::getParameterTree ( ) const

◆ getFlattenedParameterTree()

juce::ReferenceCountedArray<AutomatableParameter> tracktion::engine::AutomatableEditItem::getFlattenedParameterTree ( ) const

◆ addParameterListChangeListener()

void tracktion::engine::AutomatableEditItem::addParameterListChangeListener ( ParameterListChangeListener )

◆ removeParameterListChangeListener()

void tracktion::engine::AutomatableEditItem::removeParameterListChangeListener ( ParameterListChangeListener )

◆ isAutomationNeeded()

bool tracktion::engine::AutomatableEditItem::isAutomationNeeded ( ) const
noexcept

◆ setAutomatableParamPosition()

void tracktion::engine::AutomatableEditItem::setAutomatableParamPosition ( TimePosition  )

◆ isBeingActivelyPlayed()

bool tracktion::engine::AutomatableEditItem::isBeingActivelyPlayed ( ) const

◆ updateAutomatableParamPosition()

virtual void tracktion::engine::AutomatableEditItem::updateAutomatableParamPosition ( TimePosition  )
virtual

Updates all the auto params to their positions at this time.

Reimplemented in tracktion::engine::RackInstance.

◆ updateParameterStreams()

void tracktion::engine::AutomatableEditItem::updateParameterStreams ( TimePosition  )

Updates all the parameter streams to their positions at this time.

This should be used during real time processing as it's a lot quicker than the above method.

◆ updateActiveParameters()

void tracktion::engine::AutomatableEditItem::updateActiveParameters ( )

Iterates all the parameters to find out which ones need to be automated.

◆ resetRecordingStatus()

void tracktion::engine::AutomatableEditItem::resetRecordingStatus ( )

Marks the end of an automation recording stream.

Call this when play stops or starts.

◆ buildParameterTree()

virtual void tracktion::engine::AutomatableEditItem::buildParameterTree ( ) const
protectedvirtual

◆ updateLastPlaybackTime()

void tracktion::engine::AutomatableEditItem::updateLastPlaybackTime ( )
protected

◆ clearParameterList()

void tracktion::engine::AutomatableEditItem::clearParameterList ( )
protected

◆ addAutomatableParameter()

void tracktion::engine::AutomatableEditItem::addAutomatableParameter ( const AutomatableParameter::Ptr )
protected

◆ rebuildParameterTree()

void tracktion::engine::AutomatableEditItem::rebuildParameterTree ( )
protected

◆ saveChangedParametersToState()

void tracktion::engine::AutomatableEditItem::saveChangedParametersToState ( )
protected

Saves the explicit value of any parameters that have deviated to the state.

◆ restoreChangedParametersFromState()

void tracktion::engine::AutomatableEditItem::restoreChangedParametersFromState ( )
protected

Restores the value of any explicitly set parameters.

Member Data Documentation

◆ elementState

juce::ValueTree tracktion::engine::AutomatableEditItem::elementState

◆ remapOnTempoChange

juce::CachedValue<bool> tracktion::engine::AutomatableEditItem::remapOnTempoChange

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