TracktionEngine
|
#include <tracktion_LFOModifier.h>
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 > |
![]() | |
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 > |
![]() | |
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::ModifierAssignment * | createAssignment (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. | |
![]() | |
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< float > | getValues (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 |
![]() | |
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 ¶mID) const |
void | visitAllAutomatableParams (const std::function< void(AutomatableParameter &)> &visit) const |
void | deleteParameter (AutomatableParameter *) |
void | deleteAutomatableParameters () |
int | indexOfAutomatableParameter (const AutomatableParameter::Ptr &) const |
AutomatableParameterTree & | getParameterTree () const |
juce::ReferenceCountedArray< AutomatableParameter > | getFlattenedParameterTree () 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. | |
![]() | |
EditItem (EditItemID, Edit &) | |
EditItem (Edit &, const juce::ValueTree &) | |
virtual | ~EditItem ()=default |
![]() | |
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 () |
![]() | |
ModifierSource ()=default | |
virtual | ~ModifierSource () |
Static Public Member Functions | |
static juce::StringArray | getWaveNames () |
![]() | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
Public Attributes | |
juce::CachedValue< float > | wave |
juce::CachedValue< float > | syncType |
juce::CachedValue< float > | rate |
juce::CachedValue< float > | rateType |
juce::CachedValue< float > | depth |
juce::CachedValue< float > | bipolar |
juce::CachedValue< float > | phase |
juce::CachedValue< float > | offset |
AutomatableParameter::Ptr | waveParam |
AutomatableParameter::Ptr | syncTypeParam |
AutomatableParameter::Ptr | rateParam |
AutomatableParameter::Ptr | rateTypeParam |
AutomatableParameter::Ptr | depthParam |
AutomatableParameter::Ptr | bipolarParam |
AutomatableParameter::Ptr | phaseParam |
AutomatableParameter::Ptr | offsetParam |
![]() | |
juce::ValueTree | state |
Modifier internal state. | |
juce::CachedValue< juce::Colour > | colour |
Colour property. | |
juce::CachedValue< float > | enabled |
Enabled property. | |
AutomatableParameter::Ptr | enabledParam |
Parameter to change the enabled state. | |
![]() | |
juce::ValueTree | elementState |
juce::CachedValue< bool > | remapOnTempoChange |
![]() | |
Edit & | edit |
const EditItemID | itemID |
Every EditItem has an ID which is unique within the edit. | |
![]() | |
WeakRef::Master | masterReference |
Additional Inherited Members | |
![]() | |
static constexpr TimeDuration | maxHistoryTime = TimeDuration::fromSeconds (3.0) |
The max number of seconds of modifier value history that is stored. | |
![]() | |
void | setEditTime (TimePosition newEditTime) |
Subclasses can call this to update the edit time of the current value. | |
![]() | |
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. | |
using tracktion::engine::LFOModifier::Ptr = juce::ReferenceCountedObjectPtr<LFOModifier> |
using tracktion::engine::LFOModifier::Array = juce::ReferenceCountedArray<LFOModifier> |
|
override |
|
overridevirtual |
Call this once after construction to connect it to the audio graph.
Implements tracktion::engine::Modifier.
|
overridevirtual |
Implements tracktion::engine::EditItem.
Referenced by getSelectableDescription().
|
overridevirtual |
Returns the current value of the LFO.
N.B. this may be greater than +-1 if a suitable offset has been applied.
Implements tracktion::engine::Modifier.
float tracktion::engine::LFOModifier::getCurrentPhase | ( | ) | const |
Returns the current phase between 0 & 1.
|
overridevirtual |
Must return a new ModifierAssignment for a given state.
Implements tracktion::engine::Modifier.
|
overridevirtual |
Should return the position in the plugin chain that this Modifier should be processed.
Reimplemented from tracktion::engine::Modifier.
References tracktion::engine::Modifier::preFX.
|
overridevirtual |
Sub classes should implement this to process the Modifier.
Reimplemented from tracktion::engine::Modifier.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
References getName().
|
static |
Call this once after construction to connect it to the audio graph.
Implements tracktion::engine::Modifier.
Sub classes should implement this to initialise the Modifier.
Reimplemented from tracktion::engine::Modifier.
juce::CachedValue<float> tracktion::engine::LFOModifier::wave |
juce::CachedValue<float> tracktion::engine::LFOModifier::syncType |
juce::CachedValue<float> tracktion::engine::LFOModifier::rate |
juce::CachedValue<float> tracktion::engine::LFOModifier::rateType |
juce::CachedValue<float> tracktion::engine::LFOModifier::depth |
juce::CachedValue<float> tracktion::engine::LFOModifier::bipolar |
juce::CachedValue<float> tracktion::engine::LFOModifier::phase |
juce::CachedValue<float> tracktion::engine::LFOModifier::offset |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::waveParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::syncTypeParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::rateParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::rateTypeParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::depthParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::bipolarParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::phaseParam |
AutomatableParameter::Ptr tracktion::engine::LFOModifier::offsetParam |