TracktionEngine
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
engine::LFOModifier Class Reference

#include <tracktion_LFOModifier.h>

Inheritance diagram for engine::LFOModifier:

Classes

struct  Assignment
 

Public Types

enum  Wave {
  waveSine = 0 , waveTriangle = 1 , waveSawUp = 2 , waveSawDown = 3 ,
  waveSquare = 4 , fourStepsUp = 5 , fourStepsDown = 6 , eightStepsUp = 7 ,
  eightStepsDown = 8 , random = 9 , noise = 10
}
 
using Ptr = juce::ReferenceCountedObjectPtr< LFOModifier >
 
using Array = juce::ReferenceCountedArray< LFOModifier >
 
- Public Types inherited from 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 engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 LFOModifier (Edit &, const juce::ValueTree &)
 
 ~LFOModifier () override
 
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 LFO.
 
float getCurrentPhase () const
 Returns the current phase between 0 & 1.
 
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.
 
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 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
 
- Public Member Functions inherited from engine::AutomatableEditItem
 AutomatableEditItem (Edit &, const juce::ValueTree &)
 
 ~AutomatableEditItem () override
 
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 resetRecordingStatus ()
 Marks the end of an automation recording stream.
 
void updateStreamIterators ()
 
void addActiveParameter (const AutomatableParameter &)
 
void removeActiveParameter (const AutomatableParameter &)
 
bool isActiveParameter (AutomatableParameter &)
 
- Public Member Functions inherited from engine::EditItem
 EditItem (EditItemID, Edit &)
 
 EditItem (Edit &, const juce::ValueTree &)
 
virtual ~EditItem ()=default
 
- Public Member Functions inherited from 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.
 
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 engine::AutomatableParameter::ModifierSource
 ModifierSource ()=default
 
virtual ~ModifierSource ()
 

Static Public Member Functions

static juce::StringArray getWaveNames ()
 
- Static Public Member Functions inherited from engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

Public Attributes

juce::CachedValue< floatwave
 
juce::CachedValue< floatsyncType
 
juce::CachedValue< floatrate
 
juce::CachedValue< floatrateType
 
juce::CachedValue< floatdepth
 
juce::CachedValue< floatbipolar
 
juce::CachedValue< floatphase
 
juce::CachedValue< floatoffset
 
AutomatableParameter::Ptr waveParam
 
AutomatableParameter::Ptr syncTypeParam
 
AutomatableParameter::Ptr rateParam
 
AutomatableParameter::Ptr rateTypeParam
 
AutomatableParameter::Ptr depthParam
 
AutomatableParameter::Ptr bipolarParam
 
AutomatableParameter::Ptr phaseParam
 
AutomatableParameter::Ptr offsetParam
 
- Public Attributes inherited from engine::Modifier
juce::ValueTree state
 Modifier internal state.
 
juce::CachedValue< juce::Colour > colour
 Colour property.
 
juce::CachedValue< floatenabled
 Enabled property.
 
AutomatableParameter::Ptr enabledParam
 Parameter to change the enabled state.
 
- Public Attributes inherited from engine::AutomatableEditItem
juce::ValueTree elementState
 
juce::CachedValue< bool > remapOnTempoChange
 
- Public Attributes inherited from engine::EditItem
Editedit
 
const EditItemID itemID
 Every EditItem has an ID which is unique within the edit.
 
- Public Attributes inherited from engine::Selectable
WeakRef::Master masterReference
 

Additional Inherited Members

- Static Public Attributes inherited from engine::Modifier
static constexpr TimeDuration maxHistoryTime = TimeDuration::fromSeconds (3.0)
 The max number of seconds of modifier value history that is stored.
 
- Protected Member Functions inherited from engine::Modifier
void setEditTime (TimePosition newEditTime)
 Subclasses can call this to update the edit time of the current value.
 
- Protected Member Functions inherited from 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.
 

Member Typedef Documentation

◆ Ptr

using engine::LFOModifier::Ptr = juce::ReferenceCountedObjectPtr<LFOModifier>

◆ Array

using engine::LFOModifier::Array = juce::ReferenceCountedArray<LFOModifier>

Member Enumeration Documentation

◆ Wave

Enumerator
waveSine 
waveTriangle 
waveSawUp 
waveSawDown 
waveSquare 
fourStepsUp 
fourStepsDown 
eightStepsUp 
eightStepsDown 
random 
noise 

Constructor & Destructor Documentation

◆ LFOModifier()

engine::LFOModifier::LFOModifier ( Edit ,
const juce::ValueTree &   
)

◆ ~LFOModifier()

engine::LFOModifier::~LFOModifier ( )
override

Member Function Documentation

◆ initialise() [1/3]

void engine::LFOModifier::initialise ( )
overridevirtual

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

Implements engine::Modifier.

◆ getName()

juce::String engine::LFOModifier::getName ( ) const
overridevirtual

Implements engine::EditItem.

◆ getCurrentValue()

float engine::LFOModifier::getCurrentValue ( )
overridevirtual

Returns the current value of the LFO.

N.B. this may be greater than +-1 if a suitable offset has been applied.

Implements engine::Modifier.

◆ getCurrentPhase()

float engine::LFOModifier::getCurrentPhase ( ) const

Returns the current phase between 0 & 1.

◆ createAssignment()

AutomatableParameter::ModifierAssignment * engine::LFOModifier::createAssignment ( const juce::ValueTree &  )
overridevirtual

Must return a new ModifierAssignment for a given state.

Implements engine::Modifier.

◆ getProcessingPosition()

ProcessingPosition engine::LFOModifier::getProcessingPosition ( )
overridevirtual

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

Reimplemented from engine::Modifier.

◆ applyToBuffer()

void engine::LFOModifier::applyToBuffer ( const PluginRenderContext )
overridevirtual

Sub classes should implement this to process the Modifier.

Reimplemented from engine::Modifier.

◆ getSelectableDescription()

juce::String engine::LFOModifier::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements engine::Selectable.

References engine::getName().

◆ getWaveNames()

static juce::StringArray engine::LFOModifier::getWaveNames ( )
static

◆ initialise() [2/3]

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

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

Implements engine::Modifier.

◆ initialise() [3/3]

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

Sub classes should implement this to initialise the Modifier.

Reimplemented from engine::Modifier.

Member Data Documentation

◆ wave

juce::CachedValue<float> engine::LFOModifier::wave

◆ syncType

juce::CachedValue<float> engine::LFOModifier::syncType

◆ rate

juce::CachedValue<float> engine::LFOModifier::rate

◆ rateType

juce::CachedValue<float> engine::LFOModifier::rateType

◆ depth

juce::CachedValue<float> engine::LFOModifier::depth

◆ bipolar

juce::CachedValue<float> engine::LFOModifier::bipolar

◆ phase

juce::CachedValue<float> engine::LFOModifier::phase

◆ offset

juce::CachedValue<float> engine::LFOModifier::offset

◆ waveParam

AutomatableParameter::Ptr engine::LFOModifier::waveParam

◆ syncTypeParam

AutomatableParameter::Ptr engine::LFOModifier::syncTypeParam

◆ rateParam

AutomatableParameter::Ptr engine::LFOModifier::rateParam

◆ rateTypeParam

AutomatableParameter::Ptr engine::LFOModifier::rateTypeParam

◆ depthParam

AutomatableParameter::Ptr engine::LFOModifier::depthParam

◆ bipolarParam

AutomatableParameter::Ptr engine::LFOModifier::bipolarParam

◆ phaseParam

AutomatableParameter::Ptr engine::LFOModifier::phaseParam

◆ offsetParam

AutomatableParameter::Ptr engine::LFOModifier::offsetParam

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