TracktionEngine
|
Classes | |
struct | LFOParams |
struct | ModAssign |
struct | MODEnvParams |
struct | OscParams |
Public Types | |
enum | ModSource : int { none = -1 , lfo1 = 0 , lfo2 , env1 , env2 , mpePressure , mpeTimbre , midiNoteNum , midiVelocity , ccBankSelect , ccPolyMode = ccBankSelect + 127 , numModSources } |
Public Types inherited from tracktion::engine::Plugin | |
enum class | Type { allPlugins , folderTrackPlugins , effectPlugins } |
using | Ptr = juce::ReferenceCountedObjectPtr< Plugin > |
using | Array = juce::ReferenceCountedArray< Plugin > |
Public Types inherited from tracktion::engine::Selectable | |
using | WeakRef = juce::WeakReference< Selectable > |
Public Member Functions | |
FourOscPlugin (PluginCreationInfo) | |
~FourOscPlugin () override | |
bool | isMono () const |
bool | isLegato () const |
bool | isPoly () const |
juce::String | getName () const override |
The name of the type, e.g. More... | |
juce::String | getPluginType () override |
juce::String | getShortName (int) override |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. More... | |
bool | needsConstantBufferSize () override |
int | getNumOutputChannelsGivenInputs (int numInputChannels) override |
This must return the number of output channels that the plugin will produce, given a number of input channels. More... | |
void | initialise (const PluginInitialisationInfo &) override |
Gives the plugin a chance to set itself up before being played. More... | |
void | deinitialise () override |
Called after play stops to release resources. More... | |
void | reset () override |
Should reset synth voices, tails, clear delay buffers, etc. More... | |
void | applyToBuffer (const PluginRenderContext &) override |
Process the next block of data. More... | |
bool | takesMidiInput () override |
bool | takesAudioInput () override |
bool | isSynth () override |
bool | producesAudioWhenNoAudioInput () override |
double | getTailLength () const override |
void | restorePluginStateFromValueTree (const juce::ValueTree &) override |
float | getCurrentTempo () |
juce::String | modulationSourceToName (ModSource src) |
juce::String | modulationSourceToID (ModSource src) |
ModSource | idToModulationSource (juce::String idStr) |
bool | isModulated (AutomatableParameter::Ptr param) |
juce::Array< float > | getLiveModulationPositions (AutomatableParameter::Ptr param) |
juce::Array< ModSource > | getModulationSources (AutomatableParameter::Ptr param) |
float | getModulationDepth (ModSource src, AutomatableParameter::Ptr param) |
void | setModulationDepth (ModSource src, AutomatableParameter::Ptr param, float depth) |
void | clearModulation (ModSource src, AutomatableParameter::Ptr param) |
float | getLevel (int channel) |
Public Member Functions inherited from tracktion::engine::Plugin | |
Plugin (PluginCreationInfo) | |
~Plugin () override | |
void | selectableAboutToBeDeleted () override |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More... | |
void | playStartedOrStopped () |
called by the system to let the plugin manage its automation stuff More... | |
virtual void | initialiseFully () |
Gives the plugin a chance to do extra initialisation when it's been added to an edit. More... | |
virtual juce::String | getVendor () |
virtual juce::String | getIdentifierString () |
A unique string to idenitify plugin independant of install location. More... | |
virtual juce::String | getTooltip () |
default returns the name, others can return special stuff if needed More... | |
virtual void | setEnabled (bool) |
Enable/disable the plugin. More... | |
bool | isEnabled () const noexcept |
void | setFrozen (bool shouldBeFrozen) |
This is a bit different to being enabled as when frozen a plugin can't be interacted with. More... | |
bool | isFrozen () const noexcept |
void | setProcessingEnabled (bool p) |
Enable/Disable processing. More... | |
bool | isProcessingEnabled () const noexcept |
virtual void | initialiseWithoutStopping (const PluginInitialisationInfo &) |
Tells the plugin that the audio graph has changed but the plugin isn't being re-initialised - i.e. More... | |
virtual void | trackPropertiesChanged () |
Track name or colour has changed. More... | |
virtual void | prepareForNextBlock (TimePosition) |
Called between successive rendering blocks. More... | |
void | applyToBufferWithAutomation (const PluginRenderContext &) |
double | getCpuUsage () const noexcept |
virtual bool | noTail () |
virtual void | getChannelNames (juce::StringArray *ins, juce::StringArray *outs) |
virtual double | getLatencySeconds () |
virtual bool | canSidechain () |
juce::StringArray | getInputChannelNames () |
juce::StringArray | getSidechainSourceNames (bool allowNone) |
void | setSidechainSourceByName (const juce::String &name) |
juce::String | getSidechainSourceName () |
void | guessSidechainRouting () |
int | getNumWires () const |
Wire * | getWire (int index) const |
void | makeConnection (int srcChannel, int dstChannel, juce::UndoManager *) |
void | breakConnection (int srcChannel, int dstChannel) |
virtual bool | hasNameForMidiNoteNumber (int note, int midiChannel, juce::String &name) |
If it's a synth that names its notes, this can return the name it uses for this note 0-127. More... | |
virtual bool | hasNameForMidiProgram (int programNum, int bank, juce::String &name) |
Returns the name for a midi program, if there is one. More... | |
virtual bool | hasNameForMidiBank (int bank, juce::String &name) |
virtual bool | canBeAddedToClip () |
virtual bool | canBeAddedToRack () |
virtual bool | canBeAddedToFolderTrack () |
virtual bool | canBeAddedToMaster () |
virtual bool | canBeDisabled () |
virtual bool | canBeMoved () |
virtual bool | isMissing () |
for things like VSTs where the DLL is missing. More... | |
virtual bool | isDisabled () |
Plugins can be disabled to avoid them crashing Edits. More... | |
bool | isInRack () const |
juce::ReferenceCountedObjectPtr< RackType > | getOwnerRackType () const |
bool | isClipEffectPlugin () const |
virtual juce::AudioProcessor * | getWrappedAudioProcessor () const |
AutomatableParameter::Ptr | getQuickControlParameter () const |
void | setQuickControlParameter (AutomatableParameter *) |
virtual void | deleteFromParent () |
Attempts to delete this plugin, whether it's a master plugin, track plugin, etc. More... | |
void | removeFromParent () |
Detaches the plugin from any parent it might be in. More... | |
Track * | getOwnerTrack () const |
Returns the track if it's a track or clip plugin. More... | |
Clip * | getOwnerClip () const |
Returns the clip if that's what it's in. More... | |
PluginList * | getOwnerList () const |
Ptr | findPluginThatFeedsIntoThis () const |
Ptr | findPluginThatThisFeedsInto () const |
void | changed () override |
method from Selectable, that's been overridden here to also tell the edit that it's changed. More... | |
juce::Array< ReferencedItem > | getReferencedItems () override |
void | reassignReferencedItem (const ReferencedItem &, ProjectItemID newID, double newStartTime) override |
virtual void | sourceMediaChanged () |
Called when ProjectItem sources are re-assigned so you can reload from the new source. More... | |
bool | setPluginToMirror (const Plugin::Ptr &) |
virtual void | updateFromMirroredPluginIfNeeded (Plugin &) |
Plugin::Ptr | getMirroredPlugin () const |
bool | baseClassNeedsInitialising () const noexcept |
void | baseClassInitialise (const PluginInitialisationInfo &) |
void | baseClassDeinitialise () |
void | setSidechainSourceID (EditItemID newID) |
EditItemID | getSidechainSourceID () const |
void | showWindowExplicitly () |
void | hideWindowForShutdown () |
juce::UndoManager * | getUndoManager () const noexcept |
Public Member Functions inherited from tracktion::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. More... | |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. More... | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
Public Member Functions inherited from tracktion::engine::Exportable | |
virtual | ~Exportable ()=default |
Public Member Functions inherited from tracktion::engine::AutomatableEditItem | |
AutomatableEditItem (Edit &, const juce::ValueTree &) | |
virtual | ~AutomatableEditItem () |
juce::Array< AutomatableParameter * > | getAutomatableParameters () const |
int | getNumAutomatableParameters () const |
AutomatableParameter::Ptr | getAutomatableParameter (int index) const |
AutomatableParameter::Ptr | getAutomatableParameterByID (const juce::String ¶mID) 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. More... | |
void | updateParameterStreams (TimePosition) |
Updates all the parameter streams to their positions at this time. More... | |
void | updateActiveParameters () |
Iterates all the parameters to find out which ones need to be automated. More... | |
void | resetRecordingStatus () |
Marks the end of an automation recording stream. More... | |
Public Member Functions inherited from tracktion::engine::EditItem | |
EditItem (EditItemID, Edit &) | |
virtual | ~EditItem ()=default |
Public Member Functions inherited from tracktion::engine::MacroParameterElement | |
MacroParameterElement (Edit &, const juce::ValueTree &) | |
Constructor. More... | |
virtual | ~MacroParameterElement ()=default |
Destructor. More... | |
int | getNumMacroParameters () const |
Returns the number of macro parameters for this object. More... | |
Static Public Member Functions | |
static const char * | getPluginName () |
Static Public Member Functions inherited from tracktion::engine::Plugin | |
static bool | areSelectedPluginsRackable (SelectionManager &) |
static RackInstance * | wrapSelectedPluginsInRack (SelectionManager &) |
static void | sortPlugins (Plugin::Array &) |
static void | sortPlugins (std::vector< Plugin * > &) |
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. More... | |
Static Public Member Functions inherited from tracktion::engine::Exportable | |
static juce::Array< Exportable * > | addAllExportables (Edit &) |
Returns all the Exportables contained in an Edit. More... | |
Static Public Attributes | |
static const char * | xmlTypeName |
Additional Inherited Members | |
Protected Member Functions inherited from tracktion::engine::Plugin | |
void | valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override |
void | valueTreeChanged () override |
void | valueTreeChildAdded (juce::ValueTree &, juce::ValueTree &) override |
void | valueTreeChildRemoved (juce::ValueTree &, juce::ValueTree &, int) override |
void | valueTreeParentChanged (juce::ValueTree &) override |
virtual void | processingChanged () |
AutomatableParameter * | addParam (const juce::String ¶mID, const juce::String &name, juce::NormalisableRange< float > valueRange) |
AutomatableParameter * | addParam (const juce::String ¶mID, const juce::String &name, juce::NormalisableRange< float > valueRange, std::function< juce::String(float)> valueToStringFunction, std::function< float(const juce::String &)> stringToValueFunction) |
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. More... | |
void | restoreChangedParametersFromState () |
Restores the value of any explicitly set parameters. More... | |
Protected Member Functions inherited from tracktion::engine::ValueTreeAllEventListener | |
void | valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override |
void | valueTreeChildAdded (juce::ValueTree &, juce::ValueTree &) override |
void | valueTreeChildRemoved (juce::ValueTree &, juce::ValueTree &, int) override |
void | valueTreeChildOrderChanged (juce::ValueTree &, int, int) override |
void | valueTreeParentChanged (juce::ValueTree &) override |
void | valueTreeRedirected (juce::ValueTree &) override |
Static Protected Member Functions inherited from tracktion::engine::Plugin | |
static void | getLeftRightChannelNames (juce::StringArray *ins, juce::StringArray *outs) |
static void | getLeftRightChannelNames (juce::StringArray *chans) |
Protected Attributes inherited from tracktion::engine::Plugin | |
juce::CachedValue< AtomicWrapper< bool > > | enabled |
juce::CachedValue< bool > | frozen |
juce::CachedValue< bool > | processing |
juce::CachedValue< juce::String > | quickParamName |
juce::CachedValue< EditItemID > | masterPluginID |
juce::CachedValue< EditItemID > | sidechainSourceID |
double | sampleRate = 44100.0 |
int | blockSizeSamples = 512 |
enum tracktion::engine::FourOscPlugin::ModSource : int |
tracktion::engine::FourOscPlugin::FourOscPlugin | ( | PluginCreationInfo | ) |
|
override |
bool tracktion::engine::FourOscPlugin::isMono | ( | ) | const |
References voiceModeValue.
bool tracktion::engine::FourOscPlugin::isLegato | ( | ) | const |
References voiceModeValue.
bool tracktion::engine::FourOscPlugin::isPoly | ( | ) | const |
References voiceModeValue.
|
static |
|
overridevirtual |
|
overridevirtual |
Implements tracktion::engine::Plugin.
References xmlTypeName.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
overridevirtual |
Implements tracktion::engine::Plugin.
|
overridevirtual |
This must return the number of output channels that the plugin will produce, given a number of input channels.
E.g. some might be able to do mono, so will return 1 if the input is 1, 2 if it is 2, etc.
The default impl just returns the number of items that getChannelNames() returns.
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Gives the plugin a chance to set itself up before being played.
This won't be called concurrently with the process thread.
The sample rate and the average block size - although the blocks won't always be the same, and may be bigger.
Don't call this directly or the initialise count will become out of sync.
Implements tracktion::engine::Plugin.
|
overridevirtual |
Called after play stops to release resources.
Don't call this directly or the initialise count will become out of sync.
Implements tracktion::engine::Plugin.
|
overridevirtual |
Should reset synth voices, tails, clear delay buffers, etc.
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Process the next block of data.
The incoming buffer will have an unknown number of channels, and the plugin has to deal with them however it wants to.
The buffer should be resized to the number of output channels that the plugin wants to return (which should be the same or less than the number of output channel names it returns from getChannelNames() - never more than this).
Implements tracktion::engine::Plugin.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
|
overridevirtual |
Reimplemented from tracktion::engine::Plugin.
References ampRelease.
|
overridevirtual |
Reimplemented from tracktion::engine::AutomatableEditItem.
float tracktion::engine::FourOscPlugin::getCurrentTempo | ( | ) |
juce::String tracktion::engine::FourOscPlugin::modulationSourceToName | ( | ModSource | src | ) |
juce::String tracktion::engine::FourOscPlugin::modulationSourceToID | ( | ModSource | src | ) |
ModSource tracktion::engine::FourOscPlugin::idToModulationSource | ( | juce::String | idStr | ) |
bool tracktion::engine::FourOscPlugin::isModulated | ( | AutomatableParameter::Ptr | param | ) |
juce::Array<float> tracktion::engine::FourOscPlugin::getLiveModulationPositions | ( | AutomatableParameter::Ptr | param | ) |
juce::Array<ModSource> tracktion::engine::FourOscPlugin::getModulationSources | ( | AutomatableParameter::Ptr | param | ) |
float tracktion::engine::FourOscPlugin::getModulationDepth | ( | ModSource | src, |
AutomatableParameter::Ptr | param | ||
) |
void tracktion::engine::FourOscPlugin::setModulationDepth | ( | ModSource | src, |
AutomatableParameter::Ptr | param, | ||
float | depth | ||
) |
void tracktion::engine::FourOscPlugin::clearModulation | ( | ModSource | src, |
AutomatableParameter::Ptr | param | ||
) |
float tracktion::engine::FourOscPlugin::getLevel | ( | int | channel | ) |
|
static |
Referenced by getPluginType().
juce::OwnedArray<OscParams> tracktion::engine::FourOscPlugin::oscParams |
juce::OwnedArray<LFOParams> tracktion::engine::FourOscPlugin::lfoParams |
juce::OwnedArray<MODEnvParams> tracktion::engine::FourOscPlugin::modEnvParams |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::ampAttackValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::ampDecayValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::ampSustainValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::ampReleaseValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::ampVelocityValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterAttackValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterDecayValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterSustainValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterReleaseValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterFreqValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterResonanceValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterAmountValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterKeyValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::filterVelocityValue |
juce::CachedValue<int> tracktion::engine::FourOscPlugin::filterTypeValue |
juce::CachedValue<int> tracktion::engine::FourOscPlugin::filterSlopeValue |
juce::CachedValue<bool> tracktion::engine::FourOscPlugin::ampAnalogValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::ampAttack |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::ampDecay |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::ampSustain |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::ampRelease |
Referenced by getTailLength().
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::ampVelocity |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterAttack |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterDecay |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterSustain |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterRelease |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterFreq |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterResonance |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterAmount |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterKey |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::filterVelocity |
juce::CachedValue<bool> tracktion::engine::FourOscPlugin::distortionOnValue |
juce::CachedValue<bool> tracktion::engine::FourOscPlugin::reverbOnValue |
juce::CachedValue<bool> tracktion::engine::FourOscPlugin::delayOnValue |
juce::CachedValue<bool> tracktion::engine::FourOscPlugin::chorusOnValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::distortionValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::distortion |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::reverbSizeValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::reverbDampingValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::reverbWidthValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::reverbMixValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::reverbSize |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::reverbDamping |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::reverbWidth |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::reverbMix |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::delayValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::delayFeedbackValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::delayCrossfeedValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::delayMixValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::delayFeedback |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::delayCrossfeed |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::delayMix |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::chorusSpeedValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::chorusDepthValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::chorusWidthValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::chorusMixValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::chorusSpeed |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::chorusDepth |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::chorusWidth |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::chorusMix |
juce::CachedValue<int> tracktion::engine::FourOscPlugin::voiceModeValue |
Referenced by isLegato(), isMono(), and isPoly().
juce::CachedValue<int> tracktion::engine::FourOscPlugin::voicesValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::legatoValue |
juce::CachedValue<float> tracktion::engine::FourOscPlugin::masterLevelValue |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::legato |
AutomatableParameter::Ptr tracktion::engine::FourOscPlugin::masterLevel |
std::unordered_map<AutomatableParameter*, ModAssign> tracktion::engine::FourOscPlugin::modMatrix |
float tracktion::engine::FourOscPlugin::controllerValues[128] = {0} |