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 | Public Attributes | List of all members
tracktion::engine::EnvelopeFollowerModifier Class Reference
Inheritance diagram for tracktion::engine::EnvelopeFollowerModifier:
tracktion::engine::Modifier tracktion::engine::ValueTreeAllEventListener tracktion::engine::AutomatableEditItem tracktion::engine::Selectable tracktion::engine::AutomatableParameter::ModifierSource juce::ReferenceCountedObject tracktion::engine::EditItem

Classes

struct  Assignment
 
class  EnvelopeFollower
 Envelope follower with adjustable attack/release parameters as well as several detection and time constant modes. More...
 

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< EnvelopeFollowerModifier >
 
using Array = juce::ReferenceCountedArray< EnvelopeFollowerModifier >
 
- Public Types inherited from tracktion::engine::Modifier
enum class  ProcessingPosition { none , preFX , postFX }
 Determines the position in the FX chain where the modifier should be processed. More...
 
using Ptr = juce::ReferenceCountedObjectPtr< Modifier >
 
using Array = juce::ReferenceCountedArray< Modifier >
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 EnvelopeFollowerModifier (Edit &, const juce::ValueTree &)
 
void initialise () override
 Call this once after construction to connect it to the audio graph.
 
float getCurrentValue () override
 Must return the current value of the modifier.
 
juce::String getName () const override
 
float getEnvelopeValue () const noexcept
 
AutomatableParameter::ModifierAssignmentcreateAssignment (const juce::ValueTree &) override
 Must return a new ModifierAssignment for a given state.
 
juce::StringArray getAudioInputNames () override
 Can return an array of names represeting audio inputs.
 
ProcessingPosition getProcessingPosition () override
 Should return the position in the plugin chain that this Modifier should be processed.
 
void initialise (double sampleRate, int blockSizeSamples) override
 Sub classes should implement this to initialise the Modifier.
 
void deinitialise () override
 Sub classes should implement this to deinitialise the Modifier.
 
void applyToBuffer (const PluginRenderContext &) override
 Sub classes should implement this to process the Modifier.
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
- Public Member Functions inherited from tracktion::engine::Modifier
 Modifier (Edit &, const juce::ValueTree &)
 Creates a Modifier for a given state.
 
 ~Modifier () override
 Destructor.
 
void remove ()
 Removes this Modifier from its parent Track.
 
virtual juce::StringArray getMidiInputNames ()
 Can return an array of names represeting MIDI inputs.
 
bool baseClassNeedsInitialising () const noexcept
 Returns true if the Modifier needs initialising.
 
void baseClassInitialise (double sampleRate, int blockSizeSamples)
 Initialises the Modifier.
 
void baseClassDeinitialise ()
 Deinitialises the Modifier.
 
void baseClassApplyToBuffer (const PluginRenderContext &)
 Updates internal value history and calls the subclass's applyToBuffer method.
 
TimePosition getCurrentTime () const
 Returns the edit time of the current value.
 
float getValueAt (TimeDuration numSecondsBeforeNow) const
 Returns the value of the at a given time in the past.
 
std::vector< floatgetValues (TimeDuration numSecondsBeforeNow) const
 Returns a vector of previous sample values.
 
double getSampleRate () const
 Returns the sample rate the Modifier has been initialised with.
 
void selectableAboutToBeDeleted () override
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
- Public Member Functions inherited from tracktion::engine::AutomatableEditItem
 AutomatableEditItem (Edit &, const juce::ValueTree &)
 
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 visitAllAutomatableParams (const std::function< void(AutomatableParameter &)> &visit) 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.
 
void updateParameterStreams (TimePosition)
 Updates all the parameter streams to their positions at this time.
 
void updateActiveParameters ()
 Iterates all the parameters to find out which ones need to be automated.
 
void resetRecordingStatus ()
 Marks the end of an automation recording stream.
 
- Public Member Functions inherited from tracktion::engine::EditItem
 EditItem (EditItemID, Edit &)
 
- 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.
 
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 Attributes

juce::CachedValue< floatgainDb
 
juce::CachedValue< floatattack
 
juce::CachedValue< floathold
 
juce::CachedValue< floatrelease
 
juce::CachedValue< floatdepth
 
juce::CachedValue< floatoffset
 
juce::CachedValue< floatlowPassEnabled
 
juce::CachedValue< floathighPassEnabled
 
juce::CachedValue< floatlowPassFrequency
 
juce::CachedValue< floathighPassFrequency
 
AutomatableParameter::Ptr gainDbParam
 
AutomatableParameter::Ptr attackParam
 
AutomatableParameter::Ptr holdParam
 
AutomatableParameter::Ptr releaseParam
 
AutomatableParameter::Ptr depthParam
 
AutomatableParameter::Ptr offsetParam
 
AutomatableParameter::Ptr lowPassEnabledParam
 
AutomatableParameter::Ptr highPassEnabledParam
 
AutomatableParameter::Ptr lowPassFrequencyParam
 
AutomatableParameter::Ptr highPassFrequencyParam
 
- Public Attributes inherited from tracktion::engine::Modifier
juce::ValueTree state
 Modifier internal state.
 
juce::CachedValue< juce::Colourcolour
 Colour property.
 
juce::CachedValue< floatenabled
 Enabled property.
 
AutomatableParameter::Ptr enabledParam
 Parameter to change the enabled state.
 
- Public Attributes inherited from tracktion::engine::AutomatableEditItem
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.
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 

Additional Inherited Members

- 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.
 
- Static Public Attributes inherited from tracktion::engine::Modifier
static constexpr TimeDuration maxHistoryTime
 The max number of seconds of modifier value history that is stored.
 
- Protected Member Functions inherited from tracktion::engine::Modifier
void setEditTime (TimePosition newEditTime)
 Subclasses can call this to update the edit time of the current value.
 
- Protected Member Functions inherited from tracktion::engine::AutomatableEditItem
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.
 
void restoreChangedParametersFromState ()
 Restores the value of any explicitly set parameters.
 
- 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 15 of file tracktion_EnvelopeFollowerModifier.h.

Member Typedef Documentation

◆ Array

Definition at line 24 of file tracktion_EnvelopeFollowerModifier.h.

◆ Ptr

Definition at line 23 of file tracktion_EnvelopeFollowerModifier.h.

Constructor & Destructor Documentation

◆ EnvelopeFollowerModifier()

tracktion::engine::EnvelopeFollowerModifier::EnvelopeFollowerModifier ( Edit e,
const juce::ValueTree v 
)

Definition at line 219 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ ~EnvelopeFollowerModifier()

tracktion::engine::EnvelopeFollowerModifier::~EnvelopeFollowerModifier ( )
override

Definition at line 282 of file tracktion_EnvelopeFollowerModifier.cpp.

Member Function Documentation

◆ applyToBuffer()

void tracktion::engine::EnvelopeFollowerModifier::applyToBuffer ( const PluginRenderContext )
overridevirtual

Sub classes should implement this to process the Modifier.

Reimplemented from tracktion::engine::Modifier.

Definition at line 320 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ createAssignment()

AutomatableParameter::ModifierAssignment * tracktion::engine::EnvelopeFollowerModifier::createAssignment ( const juce::ValueTree )
overridevirtual

Must return a new ModifierAssignment for a given state.

Implements tracktion::engine::Modifier.

Definition at line 299 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ deinitialise()

void tracktion::engine::EnvelopeFollowerModifier::deinitialise ( )
overridevirtual

Sub classes should implement this to deinitialise the Modifier.

Reimplemented from tracktion::engine::Modifier.

Definition at line 315 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ getAudioInputNames()

juce::StringArray tracktion::engine::EnvelopeFollowerModifier::getAudioInputNames ( )
overridevirtual

Can return an array of names represeting audio inputs.

Reimplemented from tracktion::engine::Modifier.

Definition at line 304 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ getCurrentValue()

float tracktion::engine::EnvelopeFollowerModifier::getCurrentValue ( )
overridevirtual

Must return the current value of the modifier.

See also
getValueAt, getValues

Implements tracktion::engine::Modifier.

Definition at line 294 of file tracktion_EnvelopeFollowerModifier.cpp.

◆ getEnvelopeValue()

float tracktion::engine::EnvelopeFollowerModifier::getEnvelopeValue ( ) const
noexcept

Definition at line 32 of file tracktion_EnvelopeFollowerModifier.h.

◆ getName()

juce::String tracktion::engine::EnvelopeFollowerModifier::getName ( ) const
overridevirtual

Implements tracktion::engine::EditItem.

Definition at line 29 of file tracktion_EnvelopeFollowerModifier.h.

◆ getProcessingPosition()

ProcessingPosition tracktion::engine::EnvelopeFollowerModifier::getProcessingPosition ( )
overridevirtual

Should return the position in the plugin chain that this Modifier should be processed.

Reimplemented from tracktion::engine::Modifier.

Definition at line 37 of file tracktion_EnvelopeFollowerModifier.h.

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 57 of file tracktion_EnvelopeFollowerModifier.h.

◆ initialise() [1/2]

void tracktion::engine::EnvelopeFollowerModifier::initialise ( )
overridevirtual

Call this once after construction to connect it to the audio graph.

Implements tracktion::engine::Modifier.

Definition at line 26 of file tracktion_EnvelopeFollowerModifier.h.

◆ initialise() [2/2]

void tracktion::engine::EnvelopeFollowerModifier::initialise ( double  ,
int   
)
overridevirtual

Sub classes should implement this to initialise the Modifier.

Reimplemented from tracktion::engine::Modifier.

Definition at line 310 of file tracktion_EnvelopeFollowerModifier.cpp.

Member Data Documentation

◆ attack

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::attack

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ attackParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::attackParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.

◆ depth

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::depth

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ depthParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::depthParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.

◆ gainDb

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::gainDb

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ gainDbParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::gainDbParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.

◆ highPassEnabled

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::highPassEnabled

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ highPassEnabledParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::highPassEnabledParam

Definition at line 62 of file tracktion_EnvelopeFollowerModifier.h.

◆ highPassFrequency

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::highPassFrequency

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ highPassFrequencyParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::highPassFrequencyParam

Definition at line 62 of file tracktion_EnvelopeFollowerModifier.h.

◆ hold

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::hold

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ holdParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::holdParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.

◆ lowPassEnabled

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::lowPassEnabled

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ lowPassEnabledParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::lowPassEnabledParam

Definition at line 62 of file tracktion_EnvelopeFollowerModifier.h.

◆ lowPassFrequency

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::lowPassFrequency

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ lowPassFrequencyParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::lowPassFrequencyParam

Definition at line 62 of file tracktion_EnvelopeFollowerModifier.h.

◆ offset

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::offset

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ offsetParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::offsetParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.

◆ release

juce::CachedValue<float> tracktion::engine::EnvelopeFollowerModifier::release

Definition at line 60 of file tracktion_EnvelopeFollowerModifier.h.

◆ releaseParam

AutomatableParameter::Ptr tracktion::engine::EnvelopeFollowerModifier::releaseParam

Definition at line 61 of file tracktion_EnvelopeFollowerModifier.h.


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