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 | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
tracktion::engine::Plugin Class Referenceabstract
Inheritance diagram for tracktion::engine::Plugin:
tracktion::engine::Selectable juce::ReferenceCountedObject tracktion::engine::Exportable tracktion::engine::AutomatableEditItem tracktion::engine::MacroParameterElement tracktion::engine::ValueTreeAllEventListener tracktion::engine::EditItem juce::ValueTree::Listener tracktion::engine::AuxReturnPlugin tracktion::engine::AuxSendPlugin tracktion::engine::ChorusPlugin tracktion::engine::CompressorPlugin tracktion::engine::DelayPlugin tracktion::engine::EqualiserPlugin tracktion::engine::ExternalPlugin tracktion::engine::FourOscPlugin tracktion::engine::FreezePointPlugin tracktion::engine::ImpulseResponsePlugin tracktion::engine::InsertPlugin tracktion::engine::LatencyPlugin tracktion::engine::LevelMeterPlugin tracktion::engine::LowPassPlugin tracktion::engine::MidiModifierPlugin tracktion::engine::MidiPatchBayPlugin tracktion::engine::PatchBayPlugin tracktion::engine::PhaserPlugin tracktion::engine::PitchShiftPlugin tracktion::engine::RackInstance tracktion::engine::ReverbPlugin tracktion::engine::SamplerPlugin tracktion::engine::TextPlugin tracktion::engine::ToneGeneratorPlugin tracktion::engine::VCAPlugin tracktion::engine::VolumeAndPanPlugin

Classes

struct  EditorComponent
 
struct  WindowState
 
struct  Wire
 
struct  WireList
 

Public Types

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

 Plugin (PluginCreationInfo)
 
void selectableAboutToBeDeleted () override
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void playStartedOrStopped ()
 called by the system to let the plugin manage its automation stuff
 
virtual void initialiseFully ()
 Gives the plugin a chance to do extra initialisation when it's been added to an edit.
 
virtual void flushPluginStateToValueTree () override
 
virtual juce::String getName () const override=0
 The name of the type, e.g.
 
virtual juce::String getPluginType ()=0
 
virtual juce::String getVendor ()
 
virtual juce::String getShortName (int)
 
virtual juce::String getIdentifierString ()
 A unique string to idenitify plugin independant of install location.
 
virtual juce::String getTooltip ()
 default returns the name, others can return special stuff if needed
 
virtual void setEnabled (bool)
 Enable/disable the plugin.
 
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.
 
bool isFrozen () const noexcept
 
void setProcessingEnabled (bool p)
 Enable/Disable processing.
 
bool isProcessingEnabled () const noexcept
 
virtual void initialise (const PluginInitialisationInfo &)=0
 Gives the plugin a chance to set itself up before being played.
 
virtual void initialiseWithoutStopping (const PluginInitialisationInfo &)
 Tells the plugin that the audio graph has changed but the plugin isn't being re-initialised - i.e.
 
bool isInitialising () const
 
virtual void deinitialise ()=0
 Called after play stops to release resources.
 
virtual void reset ()
 Should reset synth voices, tails, clear delay buffers, etc.
 
virtual void trackPropertiesChanged ()
 Track name or colour has changed.
 
virtual void applyToBuffer (const PluginRenderContext &)=0
 Process the next block of data.
 
virtual void prepareForNextBlock (TimePosition)
 Called between successive rendering blocks.
 
void applyToBufferWithAutomation (const PluginRenderContext &)
 
virtual bool shoulMeasureCpuUsage () const noexcept
 Plugins can return false if they want to avoid the overhead of measuring the CPU usage.
 
double getCpuUsage () const noexcept
 Returns the proportion of the current buffer size spent processing this plugin.
 
virtual int getNumOutputChannelsGivenInputs (int numInputChannels)
 This must return the number of output channels that the plugin will produce, given a number of input channels.
 
virtual bool producesAudioWhenNoAudioInput ()
 
virtual bool noTail ()
 
virtual void getChannelNames (juce::StringArray *ins, juce::StringArray *outs)
 
virtual bool takesAudioInput ()
 
virtual bool takesMidiInput ()
 
virtual bool isSynth ()
 
virtual double getLatencySeconds ()
 
virtual double getTailLength () const
 
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
 
WiregetWire (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.
 
virtual bool hasNameForMidiProgram (int programNum, int bank, juce::String &name)
 Returns the name for a midi program, if there is one.
 
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 needsConstantBufferSize ()=0
 
virtual bool isMissing ()
 for things like VSTs where the DLL is missing.
 
virtual bool isDisabled ()
 Plugins can be disabled to avoid them crashing Edits.
 
bool isInRack () const
 
juce::ReferenceCountedObjectPtr< RackTypegetOwnerRackType () const
 
bool isClipEffectPlugin () const
 
virtual juce::AudioProcessorgetWrappedAudioProcessor () 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.
 
void removeFromParent ()
 Detaches the plugin from any parent it might be in.
 
TrackgetOwnerTrack () const
 Returns the track if it's a track or clip plugin.
 
ClipgetOwnerClip () const
 Returns the clip if that's what it's in.
 
PluginListgetOwnerList () 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.
 
juce::Array< ReferencedItemgetReferencedItems () 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.
 
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
 
virtual std::unique_ptr< EditorComponentcreateEditor ()
 
void showWindowExplicitly ()
 
void hideWindowForShutdown ()
 
juce::UndoManagergetUndoManager () const noexcept
 
- Public Member Functions inherited from tracktion::engine::Selectable
virtual juce::String getSelectableDescription ()=0
 Subclasses must return a description of what they are.
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected.
 
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 Member Functions inherited from tracktion::engine::AutomatableEditItem
 AutomatableEditItem (Edit &, const juce::ValueTree &)
 
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::MacroParameterElement
 MacroParameterElement (Edit &, const juce::ValueTree &)
 Constructor.
 
virtual ~MacroParameterElement ()=default
 Destructor.
 
MacroParameterListgetMacroParameterList ()
 If no parameters have been created, this may return nullptr.
 
MacroParameterListgetMacroParameterListForWriting ()
 This ensures that the list has been created.
 
juce::ReferenceCountedArray< MacroParametergetMacroParameters () const
 

Static Public Member Functions

static bool areSelectedPluginsRackable (SelectionManager &)
 
static RackInstancewrapSelectedPluginsInRack (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.
 
- Static Public Member Functions inherited from tracktion::engine::Exportable
static juce::Array< Exportable * > addAllExportables (Edit &)
 Returns all the Exportables contained in an Edit.
 

Public Attributes

std::unique_ptr< WindowStatewindowState
 
Engineengine
 
juce::ValueTree state
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- 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::MacroParameterElement
EditownerEdit
 
juce::ValueTree parentStateForList
 

Protected Member Functions

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 ()
 
AutomatableParameteraddParam (const juce::String &paramID, const juce::String &name, juce::NormalisableRange< float > valueRange)
 
AutomatableParameteraddParam (const juce::String &paramID, 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 juce::ReferenceCountedObject
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
 
void resetReferenceCount () noexcept
 
- 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 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

static void getLeftRightChannelNames (juce::StringArray *ins, juce::StringArray *outs)
 
static void getLeftRightChannelNames (juce::StringArray *chans)
 

Protected Attributes

juce::CachedValue< AtomicWrapper< bool > > enabled
 
juce::CachedValue< bool > frozen
 
juce::CachedValue< bool > processing
 
juce::CachedValue< juce::StringquickParamName
 
juce::CachedValue< EditItemIDmasterPluginID
 
juce::CachedValue< EditItemIDsidechainSourceID
 
double sampleRate
 
int blockSizeSamples
 

Detailed Description

Definition at line 108 of file tracktion_Plugin.h.

Member Typedef Documentation

◆ Array

Definition at line 123 of file tracktion_Plugin.h.

◆ Ptr

Definition at line 122 of file tracktion_Plugin.h.

Member Enumeration Documentation

◆ Type

enum class tracktion::engine::Plugin::Type
strong

Definition at line 355 of file tracktion_Plugin.h.

Constructor & Destructor Documentation

◆ Plugin()

tracktion::engine::Plugin::Plugin ( PluginCreationInfo  info)

Definition at line 68 of file tracktion_Plugin.cpp.

◆ ~Plugin()

tracktion::engine::Plugin::~Plugin ( )
override

Definition at line 120 of file tracktion_Plugin.cpp.

Member Function Documentation

◆ addParam() [1/2]

AutomatableParameter * tracktion::engine::Plugin::addParam ( const juce::String paramID,
const juce::String name,
juce::NormalisableRange< float valueRange 
)
protected

Definition at line 570 of file tracktion_Plugin.cpp.

◆ addParam() [2/2]

AutomatableParameter * tracktion::engine::Plugin::addParam ( const juce::String paramID,
const juce::String name,
juce::NormalisableRange< float valueRange,
std::function< juce::String(float)>  valueToStringFunction,
std::function< float(const juce::String &)>  stringToValueFunction 
)
protected

Definition at line 578 of file tracktion_Plugin.cpp.

◆ applyToBuffer()

virtual void tracktion::engine::Plugin::applyToBuffer ( const PluginRenderContext )
pure virtual

◆ applyToBufferWithAutomation()

void tracktion::engine::Plugin::applyToBufferWithAutomation ( const PluginRenderContext pc)

Definition at line 654 of file tracktion_Plugin.cpp.

◆ areSelectedPluginsRackable()

bool tracktion::engine::Plugin::areSelectedPluginsRackable ( SelectionManager selectionManager)
static

Definition at line 830 of file tracktion_Plugin.cpp.

◆ baseClassDeinitialise()

void tracktion::engine::Plugin::baseClassDeinitialise ( )

Definition at line 493 of file tracktion_Plugin.cpp.

◆ baseClassInitialise()

void tracktion::engine::Plugin::baseClassInitialise ( const PluginInitialisationInfo info)

Definition at line 447 of file tracktion_Plugin.cpp.

◆ baseClassNeedsInitialising()

bool tracktion::engine::Plugin::baseClassNeedsInitialising ( ) const
noexcept

Definition at line 363 of file tracktion_Plugin.h.

◆ breakConnection()

void tracktion::engine::Plugin::breakConnection ( int  srcChannel,
int  dstChannel 
)

Definition at line 189 of file tracktion_Plugin.cpp.

◆ canBeAddedToClip()

virtual bool tracktion::engine::Plugin::canBeAddedToClip ( )
virtual

Definition at line 281 of file tracktion_Plugin.h.

◆ canBeAddedToFolderTrack()

virtual bool tracktion::engine::Plugin::canBeAddedToFolderTrack ( )
virtual

Definition at line 283 of file tracktion_Plugin.h.

◆ canBeAddedToMaster()

virtual bool tracktion::engine::Plugin::canBeAddedToMaster ( )
virtual

Definition at line 284 of file tracktion_Plugin.h.

◆ canBeAddedToRack()

virtual bool tracktion::engine::Plugin::canBeAddedToRack ( )
virtual

Definition at line 282 of file tracktion_Plugin.h.

◆ canBeDisabled()

virtual bool tracktion::engine::Plugin::canBeDisabled ( )
virtual

Definition at line 285 of file tracktion_Plugin.h.

◆ canBeMoved()

virtual bool tracktion::engine::Plugin::canBeMoved ( )
virtual

Definition at line 286 of file tracktion_Plugin.h.

◆ canSidechain()

bool tracktion::engine::Plugin::canSidechain ( )
virtual

Definition at line 209 of file tracktion_Plugin.cpp.

◆ changed()

void tracktion::engine::Plugin::changed ( )
overridevirtual

method from Selectable, that's been overridden here to also tell the edit that it's changed.

Reimplemented from tracktion::engine::Selectable.

Definition at line 413 of file tracktion_Plugin.cpp.

◆ createEditor()

virtual std::unique_ptr< EditorComponent > tracktion::engine::Plugin::createEditor ( )
virtual

Definition at line 378 of file tracktion_Plugin.h.

◆ deinitialise()

virtual void tracktion::engine::Plugin::deinitialise ( )
pure virtual

◆ deleteFromParent()

void tracktion::engine::Plugin::deleteFromParent ( )
virtual

Attempts to delete this plugin, whether it's a master plugin, track plugin, etc.

This will call removeFromParent but also hide any automation parameters etc. being shown on tracks and hide plugin windows etc. Use this method if the plugin is being fully deleted from the Edit.

Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 509 of file tracktion_Plugin.cpp.

◆ findPluginThatFeedsIntoThis()

Plugin::Ptr tracktion::engine::Plugin::findPluginThatFeedsIntoThis ( ) const

Definition at line 548 of file tracktion_Plugin.cpp.

◆ findPluginThatThisFeedsInto()

Plugin::Ptr tracktion::engine::Plugin::findPluginThatThisFeedsInto ( ) const

Definition at line 556 of file tracktion_Plugin.cpp.

◆ flushPluginStateToValueTree()

void tracktion::engine::Plugin::flushPluginStateToValueTree ( )
overridevirtual

Reimplemented from tracktion::engine::AutomatableEditItem.

Definition at line 922 of file tracktion_Plugin.cpp.

◆ getChannelNames()

void tracktion::engine::Plugin::getChannelNames ( juce::StringArray ins,
juce::StringArray outs 
)
virtual

Definition at line 313 of file tracktion_Plugin.cpp.

◆ getCpuUsage()

double tracktion::engine::Plugin::getCpuUsage ( ) const
noexcept

Returns the proportion of the current buffer size spent processing this plugin.

Definition at line 223 of file tracktion_Plugin.h.

◆ getIdentifierString()

virtual juce::String tracktion::engine::Plugin::getIdentifierString ( )
virtual

A unique string to idenitify plugin independant of install location.

Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 144 of file tracktion_Plugin.h.

◆ getInputChannelNames()

juce::StringArray tracktion::engine::Plugin::getInputChannelNames ( )

Definition at line 318 of file tracktion_Plugin.cpp.

◆ getLatencySeconds()

virtual double tracktion::engine::Plugin::getLatencySeconds ( )
virtual

Definition at line 242 of file tracktion_Plugin.h.

◆ getLeftRightChannelNames() [1/2]

void tracktion::engine::Plugin::getLeftRightChannelNames ( juce::StringArray chans)
staticprotected

Definition at line 890 of file tracktion_Plugin.cpp.

◆ getLeftRightChannelNames() [2/2]

void tracktion::engine::Plugin::getLeftRightChannelNames ( juce::StringArray ins,
juce::StringArray outs 
)
staticprotected

Definition at line 899 of file tracktion_Plugin.cpp.

◆ getMirroredPlugin()

Plugin::Ptr tracktion::engine::Plugin::getMirroredPlugin ( ) const

Definition at line 771 of file tracktion_Plugin.cpp.

◆ getName()

virtual juce::String tracktion::engine::Plugin::getName ( ) const
overridepure virtual

◆ getNumOutputChannelsGivenInputs()

int tracktion::engine::Plugin::getNumOutputChannelsGivenInputs ( int  numInputChannels)
virtual

◆ getNumWires()

int tracktion::engine::Plugin::getNumWires ( ) const

Definition at line 147 of file tracktion_Plugin.cpp.

◆ getOwnerClip()

Clip * tracktion::engine::Plugin::getOwnerClip ( ) const

Returns the clip if that's what it's in.

Definition at line 527 of file tracktion_Plugin.cpp.

◆ getOwnerList()

PluginList * tracktion::engine::Plugin::getOwnerList ( ) const

Definition at line 564 of file tracktion_Plugin.cpp.

◆ getOwnerRackType()

RackType::Ptr tracktion::engine::Plugin::getOwnerRackType ( ) const

Definition at line 362 of file tracktion_Plugin.cpp.

◆ getOwnerTrack()

Track * tracktion::engine::Plugin::getOwnerTrack ( ) const

Returns the track if it's a track or clip plugin.

Definition at line 522 of file tracktion_Plugin.cpp.

◆ getQuickControlParameter()

AutomatableParameter::Ptr tracktion::engine::Plugin::getQuickControlParameter ( ) const

Definition at line 589 of file tracktion_Plugin.cpp.

◆ getReferencedItems()

juce::Array< Exportable::ReferencedItem > tracktion::engine::Plugin::getReferencedItems ( )
overridevirtual

Implements tracktion::engine::Exportable.

Definition at line 716 of file tracktion_Plugin.cpp.

◆ getShortName()

virtual juce::String tracktion::engine::Plugin::getShortName ( int  )
virtual

Definition at line 141 of file tracktion_Plugin.h.

◆ getSidechainSourceID()

EditItemID tracktion::engine::Plugin::getSidechainSourceID ( ) const

Definition at line 369 of file tracktion_Plugin.h.

◆ getSidechainSourceName()

juce::String tracktion::engine::Plugin::getSidechainSourceName ( )

Definition at line 304 of file tracktion_Plugin.cpp.

◆ getSidechainSourceNames()

juce::StringArray tracktion::engine::Plugin::getSidechainSourceNames ( bool  allowNone)

Definition at line 221 of file tracktion_Plugin.cpp.

◆ getTailLength()

virtual double tracktion::engine::Plugin::getTailLength ( ) const
virtual

Definition at line 243 of file tracktion_Plugin.h.

◆ getTooltip()

juce::String tracktion::engine::Plugin::getTooltip ( )
virtual

default returns the name, others can return special stuff if needed

Reimplemented in tracktion::engine::EqualiserPlugin, tracktion::engine::ExternalPlugin, tracktion::engine::FreezePointPlugin, tracktion::engine::LevelMeterPlugin, and tracktion::engine::RackInstance.

Definition at line 437 of file tracktion_Plugin.cpp.

◆ getUndoManager()

juce::UndoManager * tracktion::engine::Plugin::getUndoManager ( ) const
noexcept

Definition at line 326 of file tracktion_Plugin.cpp.

◆ getVendor()

virtual juce::String tracktion::engine::Plugin::getVendor ( )
virtual

Definition at line 140 of file tracktion_Plugin.h.

◆ getWire()

Plugin::Wire * tracktion::engine::Plugin::getWire ( int  index) const

Definition at line 155 of file tracktion_Plugin.cpp.

◆ getWrappedAudioProcessor()

virtual juce::AudioProcessor * tracktion::engine::Plugin::getWrappedAudioProcessor ( ) const
virtual

Definition at line 300 of file tracktion_Plugin.h.

◆ guessSidechainRouting()

void tracktion::engine::Plugin::guessSidechainRouting ( )

Definition at line 266 of file tracktion_Plugin.cpp.

◆ hasNameForMidiBank()

bool tracktion::engine::Plugin::hasNameForMidiBank ( int  bank,
juce::String name 
)
virtual

Definition at line 710 of file tracktion_Plugin.cpp.

◆ hasNameForMidiNoteNumber()

bool tracktion::engine::Plugin::hasNameForMidiNoteNumber ( int  note,
int  midiChannel,
juce::String name 
)
virtual

If it's a synth that names its notes, this can return the name it uses for this note 0-127.

Midi channel is 1-16

Reimplemented in tracktion::engine::SamplerPlugin, and tracktion::engine::ExternalPlugin.

Definition at line 698 of file tracktion_Plugin.cpp.

◆ hasNameForMidiProgram()

bool tracktion::engine::Plugin::hasNameForMidiProgram ( int  programNum,
int  bank,
juce::String name 
)
virtual

Returns the name for a midi program, if there is one.

programNum = 0 to 127.

Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 705 of file tracktion_Plugin.cpp.

◆ hideWindowForShutdown()

void tracktion::engine::Plugin::hideWindowForShutdown ( )

Definition at line 911 of file tracktion_Plugin.cpp.

◆ initialise()

virtual void tracktion::engine::Plugin::initialise ( const PluginInitialisationInfo )
pure virtual

◆ initialiseFully()

void tracktion::engine::Plugin::initialiseFully ( )
virtual

Gives the plugin a chance to do extra initialisation when it's been added to an edit.

Reimplemented in tracktion::engine::ExternalPlugin, and tracktion::engine::FreezePointPlugin.

Definition at line 336 of file tracktion_Plugin.cpp.

◆ initialiseWithoutStopping()

virtual void tracktion::engine::Plugin::initialiseWithoutStopping ( const PluginInitialisationInfo )
virtual

Tells the plugin that the audio graph has changed but the plugin isn't being re-initialised - i.e.

it's being re-used, maybe by being moved to a different track, etc. This can be called concurrently whilst the plugin is being processed so implementations of it must be thread safe. [[ message_thread ]]

Reimplemented in tracktion::engine::AuxSendPlugin, tracktion::engine::InsertPlugin, tracktion::engine::LevelMeterPlugin, and tracktion::engine::VolumeAndPanPlugin.

Definition at line 183 of file tracktion_Plugin.h.

◆ isClipEffectPlugin()

bool tracktion::engine::Plugin::isClipEffectPlugin ( ) const

Definition at line 370 of file tracktion_Plugin.cpp.

◆ isDisabled()

virtual bool tracktion::engine::Plugin::isDisabled ( )
virtual

Plugins can be disabled to avoid them crashing Edits.

Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 293 of file tracktion_Plugin.h.

◆ isEnabled()

bool tracktion::engine::Plugin::isEnabled ( ) const
noexcept

Definition at line 152 of file tracktion_Plugin.h.

◆ isFrozen()

bool tracktion::engine::Plugin::isFrozen ( ) const
noexcept

Definition at line 156 of file tracktion_Plugin.h.

◆ isInitialising()

bool tracktion::engine::Plugin::isInitialising ( ) const

Definition at line 185 of file tracktion_Plugin.h.

◆ isInRack()

bool tracktion::engine::Plugin::isInRack ( ) const

Definition at line 357 of file tracktion_Plugin.cpp.

◆ isMissing()

virtual bool tracktion::engine::Plugin::isMissing ( )
virtual

for things like VSTs where the DLL is missing.


Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 290 of file tracktion_Plugin.h.

◆ isProcessingEnabled()

bool tracktion::engine::Plugin::isProcessingEnabled ( ) const
noexcept

Definition at line 161 of file tracktion_Plugin.h.

◆ isSynth()

virtual bool tracktion::engine::Plugin::isSynth ( )
virtual

Definition at line 241 of file tracktion_Plugin.h.

◆ makeConnection()

void tracktion::engine::Plugin::makeConnection ( int  srcChannel,
int  dstChannel,
juce::UndoManager um 
)

Definition at line 175 of file tracktion_Plugin.cpp.

◆ noTail()

virtual bool tracktion::engine::Plugin::noTail ( )
virtual

Definition at line 236 of file tracktion_Plugin.h.

◆ playStartedOrStopped()

void tracktion::engine::Plugin::playStartedOrStopped ( )

called by the system to let the plugin manage its automation stuff

Definition at line 331 of file tracktion_Plugin.cpp.

◆ prepareForNextBlock()

virtual void tracktion::engine::Plugin::prepareForNextBlock ( TimePosition  )
virtual

Called between successive rendering blocks.

Reimplemented in tracktion::engine::RackInstance.

Definition at line 212 of file tracktion_Plugin.h.

◆ processingChanged()

void tracktion::engine::Plugin::processingChanged ( )
protectedvirtual

Definition at line 916 of file tracktion_Plugin.cpp.

◆ producesAudioWhenNoAudioInput()

virtual bool tracktion::engine::Plugin::producesAudioWhenNoAudioInput ( )
virtual

Definition at line 235 of file tracktion_Plugin.h.

◆ reassignReferencedItem()

void tracktion::engine::Plugin::reassignReferencedItem ( const ReferencedItem ,
ProjectItemID  newID,
double  newStartTime 
)
overridevirtual

Implements tracktion::engine::Exportable.

Definition at line 717 of file tracktion_Plugin.cpp.

◆ removeFromParent()

void tracktion::engine::Plugin::removeFromParent ( )

Detaches the plugin from any parent it might be in.

This is a little more complicated than just removing its ValueTree from its parent one. Use this method if the plugin is to be inserted somewhere else in the Edit.

Definition at line 341 of file tracktion_Plugin.cpp.

◆ reset()

void tracktion::engine::Plugin::reset ( )
virtual

◆ selectableAboutToBeDeleted()

void tracktion::engine::Plugin::selectableAboutToBeDeleted ( )
overridevirtual

Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.

Reimplemented from tracktion::engine::Selectable.

Definition at line 131 of file tracktion_Plugin.cpp.

◆ setEnabled()

void tracktion::engine::Plugin::setEnabled ( bool  b)
virtual

Enable/disable the plugin.


Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 421 of file tracktion_Plugin.cpp.

◆ setFrozen()

void tracktion::engine::Plugin::setFrozen ( bool  shouldBeFrozen)

This is a bit different to being enabled as when frozen a plugin can't be interacted with.

Definition at line 429 of file tracktion_Plugin.cpp.

◆ setPluginToMirror()

bool tracktion::engine::Plugin::setPluginToMirror ( const Plugin::Ptr newMaster)

Definition at line 731 of file tracktion_Plugin.cpp.

◆ setProcessingEnabled()

void tracktion::engine::Plugin::setProcessingEnabled ( bool  p)

Enable/Disable processing.

If processing is disabled, plugin should minimize memory usage and release any resources possilbe

Definition at line 160 of file tracktion_Plugin.h.

◆ setQuickControlParameter()

void tracktion::engine::Plugin::setQuickControlParameter ( AutomatableParameter param)

Definition at line 646 of file tracktion_Plugin.cpp.

◆ setSidechainSourceByName()

void tracktion::engine::Plugin::setSidechainSourceByName ( const juce::String name)

Definition at line 241 of file tracktion_Plugin.cpp.

◆ setSidechainSourceID()

void tracktion::engine::Plugin::setSidechainSourceID ( EditItemID  newID)

Definition at line 368 of file tracktion_Plugin.h.

◆ shoulMeasureCpuUsage()

virtual bool tracktion::engine::Plugin::shoulMeasureCpuUsage ( ) const
virtualnoexcept

Plugins can return false if they want to avoid the overhead of measuring the CPU usage.

It's a small overhead but with many tracks, the level meters and vol/pan plugins can make a difference.

Reimplemented in tracktion::engine::LevelMeterPlugin, and tracktion::engine::VolumeAndPanPlugin.

Definition at line 220 of file tracktion_Plugin.h.

◆ showWindowExplicitly()

void tracktion::engine::Plugin::showWindowExplicitly ( )

Definition at line 906 of file tracktion_Plugin.cpp.

◆ sortPlugins() [1/2]

void tracktion::engine::Plugin::sortPlugins ( Plugin::Array plugins)
static

Definition at line 856 of file tracktion_Plugin.cpp.

◆ sortPlugins() [2/2]

void tracktion::engine::Plugin::sortPlugins ( std::vector< Plugin * > &  plugins)
static

Definition at line 872 of file tracktion_Plugin.cpp.

◆ sourceMediaChanged()

virtual void tracktion::engine::Plugin::sourceMediaChanged ( )
virtual

Called when ProjectItem sources are re-assigned so you can reload from the new source.

Reimplemented in tracktion::engine::SamplerPlugin.

Definition at line 340 of file tracktion_Plugin.h.

◆ takesAudioInput()

virtual bool tracktion::engine::Plugin::takesAudioInput ( )
virtual

Definition at line 239 of file tracktion_Plugin.h.

◆ takesMidiInput()

virtual bool tracktion::engine::Plugin::takesMidiInput ( )
virtual

Definition at line 240 of file tracktion_Plugin.h.

◆ trackPropertiesChanged()

virtual void tracktion::engine::Plugin::trackPropertiesChanged ( )
virtual

Track name or colour has changed.

Reimplemented in tracktion::engine::ExternalPlugin.

Definition at line 197 of file tracktion_Plugin.h.

◆ updateFromMirroredPluginIfNeeded()

virtual void tracktion::engine::Plugin::updateFromMirroredPluginIfNeeded ( Plugin )
virtual

Definition at line 351 of file tracktion_Plugin.h.

◆ valueTreeChanged()

void tracktion::engine::Plugin::valueTreeChanged ( )
overrideprotectedvirtual

◆ valueTreeChildAdded()

void tracktion::engine::Plugin::valueTreeChildAdded ( juce::ValueTree ,
juce::ValueTree c 
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 388 of file tracktion_Plugin.cpp.

◆ valueTreeChildRemoved()

void tracktion::engine::Plugin::valueTreeChildRemoved ( juce::ValueTree ,
juce::ValueTree c,
int   
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 396 of file tracktion_Plugin.cpp.

◆ valueTreeParentChanged()

void tracktion::engine::Plugin::valueTreeParentChanged ( juce::ValueTree v)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 404 of file tracktion_Plugin.cpp.

◆ valueTreePropertyChanged()

void tracktion::engine::Plugin::valueTreePropertyChanged ( juce::ValueTree ,
const juce::Identifier i 
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 375 of file tracktion_Plugin.cpp.

◆ wrapSelectedPluginsInRack()

RackInstance * tracktion::engine::Plugin::wrapSelectedPluginsInRack ( SelectionManager selectionManager)
static

Definition at line 835 of file tracktion_Plugin.cpp.

Member Data Documentation

◆ blockSizeSamples

int tracktion::engine::Plugin::blockSizeSamples
protected

Definition at line 411 of file tracktion_Plugin.h.

◆ enabled

juce::CachedValue<AtomicWrapper<bool> > tracktion::engine::Plugin::enabled
protected

Definition at line 405 of file tracktion_Plugin.h.

◆ engine

Engine& tracktion::engine::Plugin::engine

Definition at line 398 of file tracktion_Plugin.h.

◆ frozen

juce::CachedValue<bool> tracktion::engine::Plugin::frozen
protected

Definition at line 406 of file tracktion_Plugin.h.

◆ masterPluginID

juce::CachedValue<EditItemID> tracktion::engine::Plugin::masterPluginID
protected

Definition at line 408 of file tracktion_Plugin.h.

◆ processing

juce::CachedValue<bool> tracktion::engine::Plugin::processing
protected

Definition at line 406 of file tracktion_Plugin.h.

◆ quickParamName

juce::CachedValue<juce::String> tracktion::engine::Plugin::quickParamName
protected

Definition at line 407 of file tracktion_Plugin.h.

◆ sampleRate

double tracktion::engine::Plugin::sampleRate
protected

Definition at line 410 of file tracktion_Plugin.h.

◆ sidechainSourceID

juce::CachedValue<EditItemID> tracktion::engine::Plugin::sidechainSourceID
protected

Definition at line 408 of file tracktion_Plugin.h.

◆ state

juce::ValueTree tracktion::engine::Plugin::state

Definition at line 399 of file tracktion_Plugin.h.

◆ windowState

std::unique_ptr<WindowState> tracktion::engine::Plugin::windowState

Definition at line 392 of file tracktion_Plugin.h.


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