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::BreakpointOscillatorModifier Class Reference
Inheritance diagram for tracktion::engine::BreakpointOscillatorModifier:
tracktion::engine::Modifier tracktion::engine::ValueTreeAllEventListener tracktion::engine::AutomatableEditItem tracktion::engine::Selectable tracktion::engine::AutomatableParameter::ModifierSource juce::ReferenceCountedObject tracktion::engine::EditItem

Classes

struct  Assignment
 
struct  BreakpointOscillatorModifierTimer
 
struct  Stage
 

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< BreakpointOscillatorModifier >
 
using Array = juce::ReferenceCountedArray< BreakpointOscillatorModifier >
 
- 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

 BreakpointOscillatorModifier (Edit &, const juce::ValueTree &)
 
void initialise () override
 Call this once after construction to connect it to the audio graph.
 
juce::String getName () const override
 
float getCurrentValue () override
 Returns the current value of the modifier.
 
float getCurrentEnvelopeValue () const noexcept
 Returns the envelope value before the bipolar and depth have been applied.
 
float getCurrentPhase () const noexcept
 Returns the current phase between 0 & 1.
 
float getTotalTime () const
 Returns the total time for this envelope.
 
AutomatableParameter::ModifierAssignmentcreateAssignment (const juce::ValueTree &) override
 Must return a new ModifierAssignment for a given state.
 
ProcessingPosition getProcessingPosition () override
 Should return the position in the plugin chain that this Modifier should be processed.
 
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.
 
Stage getStage (int index) const
 
virtual void initialise ()=0
 Call this once after construction to connect it to the audio graph.
 
virtual void initialise (double, int)
 Sub classes should implement this to initialise the Modifier.
 
- 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.
 
virtual juce::StringArray getAudioInputNames ()
 Can return an array of names represeting audio inputs.
 
virtual void deinitialise ()
 Sub classes should implement this to deinitialise the Modifier.
 
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< floatnumActivePoints
 
juce::CachedValue< floatsyncType
 
juce::CachedValue< floatrate
 
juce::CachedValue< floatrateType
 
juce::CachedValue< floatdepth
 
juce::CachedValue< floatbipolar
 
juce::CachedValue< floatstageZeroValue
 
juce::CachedValue< floatstageOneValue
 
juce::CachedValue< floatstageOneTime
 
juce::CachedValue< floatstageOneCurve
 
juce::CachedValue< floatstageTwoValue
 
juce::CachedValue< floatstageTwoTime
 
juce::CachedValue< floatstageTwoCurve
 
juce::CachedValue< floatstageThreeValue
 
juce::CachedValue< floatstageThreeTime
 
juce::CachedValue< floatstageThreeCurve
 
juce::CachedValue< floatstageFourValue
 
juce::CachedValue< floatstageFourTime
 
juce::CachedValue< floatstageFourCurve
 
AutomatableParameter::Ptr numActivePointsParam
 
AutomatableParameter::Ptr syncTypeParam
 
AutomatableParameter::Ptr rateParam
 
AutomatableParameter::Ptr rateTypeParam
 
AutomatableParameter::Ptr depthParam
 
AutomatableParameter::Ptr bipolarParam
 
AutomatableParameter::Ptr stageZeroValueParam
 
AutomatableParameter::Ptr stageOneValueParam
 
AutomatableParameter::Ptr stageOneTimeParam
 
AutomatableParameter::Ptr stageOneCurveParam
 
AutomatableParameter::Ptr stageTwoValueParam
 
AutomatableParameter::Ptr stageTwoTimeParam
 
AutomatableParameter::Ptr stageTwoCurveParam
 
AutomatableParameter::Ptr stageThreeValueParam
 
AutomatableParameter::Ptr stageThreeTimeParam
 
AutomatableParameter::Ptr stageThreeCurveParam
 
AutomatableParameter::Ptr stageFourValueParam
 
AutomatableParameter::Ptr stageFourTimeParam
 
AutomatableParameter::Ptr stageFourCurveParam
 
- 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 14 of file tracktion_BreakpointOscillatorModifier.h.


Class Documentation

◆ tracktion::engine::BreakpointOscillatorModifier::Stage

struct tracktion::engine::BreakpointOscillatorModifier::Stage

Definition at line 79 of file tracktion_BreakpointOscillatorModifier.h.

Class Members
AutomatableParameter * curveParam
AutomatableParameter * timeParam
AutomatableParameter * valueParam

Member Typedef Documentation

◆ Array

Definition at line 23 of file tracktion_BreakpointOscillatorModifier.h.

◆ Ptr

Definition at line 22 of file tracktion_BreakpointOscillatorModifier.h.

Constructor & Destructor Documentation

◆ BreakpointOscillatorModifier()

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

Definition at line 188 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ ~BreakpointOscillatorModifier()

tracktion::engine::BreakpointOscillatorModifier::~BreakpointOscillatorModifier ( )
override

Definition at line 267 of file tracktion_BreakpointOscillatorModifier.cpp.

Member Function Documentation

◆ applyToBuffer()

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

Sub classes should implement this to process the Modifier.

Reimplemented from tracktion::engine::Modifier.

Definition at line 315 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ createAssignment()

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

Must return a new ModifierAssignment for a given state.

Implements tracktion::engine::Modifier.

Definition at line 310 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ getCurrentEnvelopeValue()

float tracktion::engine::BreakpointOscillatorModifier::getCurrentEnvelopeValue ( ) const
noexcept

Returns the envelope value before the bipolar and depth have been applied.

Definition at line 295 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ getCurrentPhase()

float tracktion::engine::BreakpointOscillatorModifier::getCurrentPhase ( ) const
noexcept

Returns the current phase between 0 & 1.

Definition at line 300 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ getCurrentValue()

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

Returns the current value of the modifier.


Implements tracktion::engine::Modifier.

Definition at line 290 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ getName()

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

◆ getProcessingPosition()

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

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

Reimplemented from tracktion::engine::Modifier.

Definition at line 44 of file tracktion_BreakpointOscillatorModifier.h.

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 62 of file tracktion_BreakpointOscillatorModifier.h.

◆ getStage()

BreakpointOscillatorModifier::Stage tracktion::engine::BreakpointOscillatorModifier::getStage ( int  index) const

Definition at line 349 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ getTotalTime()

float tracktion::engine::BreakpointOscillatorModifier::getTotalTime ( ) const

Returns the total time for this envelope.

Definition at line 305 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ initialise() [1/3]

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

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

Implements tracktion::engine::Modifier.

Definition at line 280 of file tracktion_BreakpointOscillatorModifier.cpp.

◆ initialise() [2/3]

virtual void tracktion::engine::Modifier::initialise ( )
virtual

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

Implements tracktion::engine::Modifier.

◆ initialise() [3/3]

virtual void tracktion::engine::Modifier::initialise ( double  ,
int   
)
virtual

Sub classes should implement this to initialise the Modifier.

Reimplemented from tracktion::engine::Modifier.

Definition at line 81 of file tracktion_Modifier.h.

Member Data Documentation

◆ bipolar

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::bipolar

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ bipolarParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::bipolarParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.

◆ depth

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

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ depthParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::depthParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.

◆ numActivePoints

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::numActivePoints

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ numActivePointsParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::numActivePointsParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.

◆ rate

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::rate

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ rateParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::rateParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.

◆ rateType

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::rateType

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ rateTypeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::rateTypeParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourCurve

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageFourCurve

Definition at line 70 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourCurveParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageFourCurveParam

Definition at line 77 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourTime

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageFourTime

Definition at line 70 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourTimeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageFourTimeParam

Definition at line 77 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourValue

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageFourValue

Definition at line 70 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageFourValueParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageFourValueParam

Definition at line 77 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneCurve

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageOneCurve

Definition at line 67 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneCurveParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageOneCurveParam

Definition at line 74 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneTime

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageOneTime

Definition at line 67 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneTimeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageOneTimeParam

Definition at line 74 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneValue

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageOneValue

Definition at line 67 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageOneValueParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageOneValueParam

Definition at line 74 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeCurve

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageThreeCurve

Definition at line 69 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeCurveParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageThreeCurveParam

Definition at line 76 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeTime

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageThreeTime

Definition at line 69 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeTimeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageThreeTimeParam

Definition at line 76 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeValue

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageThreeValue

Definition at line 69 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageThreeValueParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageThreeValueParam

Definition at line 76 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoCurve

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageTwoCurve

Definition at line 68 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoCurveParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageTwoCurveParam

Definition at line 75 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoTime

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageTwoTime

Definition at line 68 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoTimeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageTwoTimeParam

Definition at line 75 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoValue

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageTwoValue

Definition at line 68 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageTwoValueParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageTwoValueParam

Definition at line 75 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageZeroValue

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::stageZeroValue

Definition at line 66 of file tracktion_BreakpointOscillatorModifier.h.

◆ stageZeroValueParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::stageZeroValueParam

Definition at line 73 of file tracktion_BreakpointOscillatorModifier.h.

◆ syncType

juce::CachedValue<float> tracktion::engine::BreakpointOscillatorModifier::syncType

Definition at line 65 of file tracktion_BreakpointOscillatorModifier.h.

◆ syncTypeParam

AutomatableParameter::Ptr tracktion::engine::BreakpointOscillatorModifier::syncTypeParam

Definition at line 72 of file tracktion_BreakpointOscillatorModifier.h.


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