TracktionEngine
|
#include <tracktion_MIDITrackerModifier.h>
Classes | |
struct | Assignment |
Public Types | |
enum | Type { pitch = 0 , velocity = 1 } |
enum | Mode { absolute = 0 , relative = 1 } |
using | Ptr = juce::ReferenceCountedObjectPtr< MIDITrackerModifier > |
using | Array = juce::ReferenceCountedArray< MIDITrackerModifier > |
![]() | |
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 | |
MIDITrackerModifier (Edit &, const juce::ValueTree &) | |
~MIDITrackerModifier () 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 modifier. | |
int | getCurrentMIDIValue () const noexcept |
Returns the MIDI value, either a pitch or velocity. | |
AutomatableParameter::ModifierAssignment * | createAssignment (const juce::ValueTree &) override |
Must return a new ModifierAssignment for a given state. | |
juce::StringArray | getMidiInputNames () override |
Can return an array of names represeting MIDI inputs. | |
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. | |
juce::ValueTree | getNodeState () const |
Returns a ValueTree representing the absolute nodes of the map. | |
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 | 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 | getTypeNames () |
static juce::StringArray | getModeNames () |
![]() | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
Public Attributes | |
juce::CachedValue< float > | type |
juce::CachedValue< float > | mode |
juce::CachedValue< float > | relativeRoot |
juce::CachedValue< float > | relativeSpread |
AutomatableParameter::Ptr | typeParam |
AutomatableParameter::Ptr | modeParam |
AutomatableParameter::Ptr | relativeRootParam |
AutomatableParameter::Ptr | relativeSpreadParam |
![]() | |
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::MIDITrackerModifier::Ptr = juce::ReferenceCountedObjectPtr<MIDITrackerModifier> |
using tracktion::engine::MIDITrackerModifier::Array = juce::ReferenceCountedArray<MIDITrackerModifier> |
|
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 modifier.
Implements tracktion::engine::Modifier.
|
noexcept |
Returns the MIDI value, either a pitch or velocity.
|
overridevirtual |
Must return a new ModifierAssignment for a given state.
Implements tracktion::engine::Modifier.
|
overridevirtual |
Can return an array of names represeting MIDI inputs.
Reimplemented from 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 |
|
static |
juce::ValueTree tracktion::engine::MIDITrackerModifier::getNodeState | ( | ) | const |
Returns a ValueTree representing the absolute nodes of the map.
This will have 5 children each with a midi and value property which you can adjust.
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::MIDITrackerModifier::type |
juce::CachedValue<float> tracktion::engine::MIDITrackerModifier::mode |
juce::CachedValue<float> tracktion::engine::MIDITrackerModifier::relativeRoot |
juce::CachedValue<float> tracktion::engine::MIDITrackerModifier::relativeSpread |
AutomatableParameter::Ptr tracktion::engine::MIDITrackerModifier::typeParam |
AutomatableParameter::Ptr tracktion::engine::MIDITrackerModifier::modeParam |
AutomatableParameter::Ptr tracktion::engine::MIDITrackerModifier::relativeRootParam |
AutomatableParameter::Ptr tracktion::engine::MIDITrackerModifier::relativeSpreadParam |