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 | Static Public Attributes | List of all members
tracktion::engine::ExternalPlugin Class Reference
Inheritance diagram for tracktion::engine::ExternalPlugin:
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

Classes

struct  MPEChannelRemapper
 
class  PluginPlayHead
 
struct  ProcessorChangedManager
 

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< ExternalPlugin >
 
- 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

 ExternalPlugin (PluginCreationInfo)
 
juce::String getIdentifierString () override
 A unique string to idenitify plugin independant of install location.
 
void selectableAboutToBeDeleted () override
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void processingChanged () override
 
void initialiseFully () override
 Gives the plugin a chance to do extra initialisation when it's been added to an edit.
 
void forceFullReinitialise ()
 
juce::String getLoadError ()
 
void flushPluginStateToValueTree () override
 
void flushBusesLayoutToValueTree ()
 
void restorePluginStateFromValueTree (const juce::ValueTree &) override
 
void getPluginStateFromTree (juce::MemoryBlock &)
 
void updateFromMirroredPluginIfNeeded (Plugin &) override
 
void initialise (const PluginInitialisationInfo &) override
 Gives the plugin a chance to set itself up before being played.
 
void deinitialise () override
 Called after play stops to release resources.
 
void reset () override
 Should reset synth voices, tails, clear delay buffers, etc.
 
void setEnabled (bool enabled) override
 Enable/disable the plugin.
 
juce::Array< Exportable::ReferencedItemgetReferencedItems () override
 
void reassignReferencedItem (const ReferencedItem &, ProjectItemID newID, double newStartTime) override
 
void applyToBuffer (const PluginRenderContext &) override
 Process the next block of data.
 
bool producesAudioWhenNoAudioInput () override
 
int getNumOutputChannelsGivenInputs (int numInputs) override
 This must return the number of output channels that the plugin will produce, given a number of input channels.
 
void getChannelNames (juce::StringArray *ins, juce::StringArray *outs) override
 
bool isVST () const noexcept
 
bool isVST3 () const noexcept
 
bool isAU () const noexcept
 
juce::String getName () const override
 The name of the type, e.g.
 
juce::String getVendor () override
 
juce::String getTooltip () override
 default returns the name, others can return special stuff if needed
 
juce::String getPluginType () override
 
bool isSynth () override
 
bool takesMidiInput () override
 
bool takesAudioInput () override
 
bool isMissing () override
 for things like VSTs where the DLL is missing.
 
bool isDisabled () override
 Plugins can be disabled to avoid them crashing Edits.
 
double getLatencySeconds () override
 
bool noTail () override
 
double getTailLength () const override
 
bool needsConstantBufferSize () override
 
void trackPropertiesChanged () override
 Track name or colour has changed.
 
juce::AudioProcessorgetWrappedAudioProcessor () const override
 
void deleteFromParent () override
 Attempts to delete this plugin, whether it's a master plugin, track plugin, etc.
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
juce::File getFile () const
 
juce::String getPluginUID () const
 
const chargetDebugName () const noexcept
 
int getNumInputs () const
 
int getNumOutputs () const
 
bool setBusesLayout (juce::AudioProcessor::BusesLayout)
 Attempts to change the layout of the plugin.
 
bool setBusLayout (juce::AudioChannelSet, bool isInput, int busIndex)
 Attempts to change the layout of the plugin.
 
int getNumPrograms () const
 
int getCurrentProgram () const
 
juce::String getProgramName (int index)
 
juce::String getNumberedProgramName (int i)
 
juce::String getCurrentProgramName ()
 
void setCurrentProgram (int index, bool sendChangeMessage)
 
void setCurrentProgramName (const juce::String &name)
 
bool hasNameForMidiProgram (int programNum, int bank, juce::String &name) override
 Returns the name for a midi program, if there is one.
 
bool hasNameForMidiNoteNumber (int note, int midiChannel, juce::String &name) override
 If it's a synth that names its notes, this can return the name it uses for this note 0-127.
 
const VSTXMLgetVSTXML () const noexcept
 
juce::AudioPluginInstancegetAudioPluginInstance () const
 
ActiveNoteList getActiveNotes () const
 
std::unique_ptr< EditorComponentcreateEditor () override
 
- Public Member Functions inherited from tracktion::engine::Plugin
 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 juce::String getShortName (int)
 
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 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 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 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 hasNameForMidiBank (int bank, juce::String &name)
 
virtual bool canBeAddedToClip ()
 
virtual bool canBeAddedToRack ()
 
virtual bool canBeAddedToFolderTrack ()
 
virtual bool canBeAddedToMaster ()
 
virtual bool canBeDisabled ()
 
virtual bool canBeMoved ()
 
bool isInRack () const
 
juce::ReferenceCountedObjectPtr< RackTypegetOwnerRackType () const
 
bool isClipEffectPlugin () const
 
AutomatableParameter::Ptr getQuickControlParameter () const
 
void setQuickControlParameter (AutomatableParameter *)
 
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 &)
 
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::UndoManagergetUndoManager () const noexcept
 
- Public Member Functions inherited from tracktion::engine::Selectable
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 &)
 
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 juce::ValueTree create (Engine &, const juce::PluginDescription &)
 
- Static Public Member Functions inherited from tracktion::engine::Plugin
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

juce::PluginDescription desc
 
juce::CachedValue< floatdryValue
 
juce::CachedValue< floatwetValue
 
AutomatableParameter::Ptr dryGain
 
AutomatableParameter::Ptr wetGain
 
- Public Attributes inherited from tracktion::engine::Plugin
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
 

Static Public Attributes

static const charxmlTypeName
 

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
 
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
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 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::StringquickParamName
 
juce::CachedValue< EditItemIDmasterPluginID
 
juce::CachedValue< EditItemIDsidechainSourceID
 
double sampleRate
 
int blockSizeSamples
 

Detailed Description

Definition at line 19 of file tracktion_ExternalPlugin.h.

Member Typedef Documentation

◆ Ptr

Definition at line 27 of file tracktion_ExternalPlugin.h.

Constructor & Destructor Documentation

◆ ExternalPlugin()

tracktion::engine::ExternalPlugin::ExternalPlugin ( PluginCreationInfo  info)

Definition at line 1079 of file tracktion_ExternalPlugin.cpp.

◆ ~ExternalPlugin()

tracktion::engine::ExternalPlugin::~ExternalPlugin ( )
override

Definition at line 1105 of file tracktion_ExternalPlugin.cpp.

Member Function Documentation

◆ applyToBuffer()

void tracktion::engine::ExternalPlugin::applyToBuffer ( const PluginRenderContext )
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.

Definition at line 1301 of file tracktion_ExternalPlugin.cpp.

◆ create()

juce::ValueTree tracktion::engine::ExternalPlugin::create ( Engine e,
const juce::PluginDescription desc 
)
static

Definition at line 517 of file tracktion_ExternalPlugin.cpp.

◆ createEditor()

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

Reimplemented from tracktion::engine::Plugin.

Definition at line 1925 of file tracktion_ExternalPlugin.cpp.

◆ deinitialise()

void tracktion::engine::ExternalPlugin::deinitialise ( )
overridevirtual

Called after play stops to release resources.

Don't call this directly or the initialise count will become out of sync.

See also
baseClassDeinitialise

Implements tracktion::engine::Plugin.

Definition at line 1173 of file tracktion_ExternalPlugin.cpp.

◆ deleteFromParent()

void tracktion::engine::ExternalPlugin::deleteFromParent ( )
overridevirtual

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 from tracktion::engine::Plugin.

Definition at line 1801 of file tracktion_ExternalPlugin.cpp.

◆ flushBusesLayoutToValueTree()

void tracktion::engine::ExternalPlugin::flushBusesLayoutToValueTree ( )

Definition at line 903 of file tracktion_ExternalPlugin.cpp.

◆ flushPluginStateToValueTree()

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

Reimplemented from tracktion::engine::Plugin.

Definition at line 864 of file tracktion_ExternalPlugin.cpp.

◆ forceFullReinitialise()

void tracktion::engine::ExternalPlugin::forceFullReinitialise ( )

Definition at line 560 of file tracktion_ExternalPlugin.cpp.

◆ getActiveNotes()

ActiveNoteList tracktion::engine::ExternalPlugin::getActiveNotes ( ) const

Definition at line 126 of file tracktion_ExternalPlugin.h.

◆ getAudioPluginInstance()

juce::AudioPluginInstance * tracktion::engine::ExternalPlugin::getAudioPluginInstance ( ) const

Definition at line 1807 of file tracktion_ExternalPlugin.cpp.

◆ getChannelNames()

void tracktion::engine::ExternalPlugin::getChannelNames ( juce::StringArray ins,
juce::StringArray outs 
)
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 1458 of file tracktion_ExternalPlugin.cpp.

◆ getCurrentProgram()

int tracktion::engine::ExternalPlugin::getCurrentProgram ( ) const

Definition at line 1532 of file tracktion_ExternalPlugin.cpp.

◆ getCurrentProgramName()

juce::String tracktion::engine::ExternalPlugin::getCurrentProgramName ( )

Definition at line 1587 of file tracktion_ExternalPlugin.cpp.

◆ getDebugName()

const char * tracktion::engine::ExternalPlugin::getDebugName ( ) const
noexcept

Definition at line 93 of file tracktion_ExternalPlugin.h.

◆ getFile()

juce::File tracktion::engine::ExternalPlugin::getFile ( ) const

Definition at line 1508 of file tracktion_ExternalPlugin.cpp.

◆ getIdentifierString()

juce::String tracktion::engine::ExternalPlugin::getIdentifierString ( )
overridevirtual

A unique string to idenitify plugin independant of install location.

Reimplemented from tracktion::engine::Plugin.

Definition at line 25 of file tracktion_ExternalPlugin.h.

◆ getLatencySeconds()

double tracktion::engine::ExternalPlugin::getLatencySeconds ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 76 of file tracktion_ExternalPlugin.h.

◆ getLoadError()

juce::String tracktion::engine::ExternalPlugin::getLoadError ( )

Definition at line 533 of file tracktion_ExternalPlugin.cpp.

◆ getName()

juce::String tracktion::engine::ExternalPlugin::getName ( ) const
overridevirtual

The name of the type, e.g.

"Compressor"

Implements tracktion::engine::Plugin.

Definition at line 67 of file tracktion_ExternalPlugin.h.

◆ getNumberedProgramName()

juce::String tracktion::engine::ExternalPlugin::getNumberedProgramName ( int  i)

Definition at line 1577 of file tracktion_ExternalPlugin.cpp.

◆ getNumInputs()

int tracktion::engine::ExternalPlugin::getNumInputs ( ) const

Definition at line 1638 of file tracktion_ExternalPlugin.cpp.

◆ getNumOutputChannelsGivenInputs()

int tracktion::engine::ExternalPlugin::getNumOutputChannelsGivenInputs ( int  numInputChannels)
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.

Definition at line 1453 of file tracktion_ExternalPlugin.cpp.

◆ getNumOutputs()

int tracktion::engine::ExternalPlugin::getNumOutputs ( ) const

Definition at line 1639 of file tracktion_ExternalPlugin.cpp.

◆ getNumPrograms()

int tracktion::engine::ExternalPlugin::getNumPrograms ( ) const

Definition at line 1527 of file tracktion_ExternalPlugin.cpp.

◆ getPluginStateFromTree()

void tracktion::engine::ExternalPlugin::getPluginStateFromTree ( juce::MemoryBlock mb)

Definition at line 957 of file tracktion_ExternalPlugin.cpp.

◆ getPluginType()

juce::String tracktion::engine::ExternalPlugin::getPluginType ( )
overridevirtual

Implements tracktion::engine::Plugin.

Definition at line 70 of file tracktion_ExternalPlugin.h.

◆ getPluginUID()

juce::String tracktion::engine::ExternalPlugin::getPluginUID ( ) const

Definition at line 91 of file tracktion_ExternalPlugin.h.

◆ getProgramName()

juce::String tracktion::engine::ExternalPlugin::getProgramName ( int  index)

Definition at line 1537 of file tracktion_ExternalPlugin.cpp.

◆ getReferencedItems()

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

Implements tracktion::engine::Exportable.

Definition at line 1833 of file tracktion_ExternalPlugin.cpp.

◆ getSelectableDescription()

juce::String tracktion::engine::ExternalPlugin::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 1518 of file tracktion_ExternalPlugin.cpp.

◆ getTailLength()

double tracktion::engine::ExternalPlugin::getTailLength ( ) const
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 1501 of file tracktion_ExternalPlugin.cpp.

◆ getTooltip()

juce::String tracktion::engine::ExternalPlugin::getTooltip ( )
overridevirtual

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

Reimplemented from tracktion::engine::Plugin.

Definition at line 69 of file tracktion_ExternalPlugin.h.

◆ getVendor()

juce::String tracktion::engine::ExternalPlugin::getVendor ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 68 of file tracktion_ExternalPlugin.h.

◆ getVSTXML()

const VSTXML * tracktion::engine::ExternalPlugin::getVSTXML ( ) const
noexcept

Definition at line 117 of file tracktion_ExternalPlugin.h.

◆ getWrappedAudioProcessor()

juce::AudioProcessor * tracktion::engine::ExternalPlugin::getWrappedAudioProcessor ( ) const
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 82 of file tracktion_ExternalPlugin.h.

◆ hasNameForMidiNoteNumber()

bool tracktion::engine::ExternalPlugin::hasNameForMidiNoteNumber ( int  note,
int  midiChannel,
juce::String name 
)
overridevirtual

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 from tracktion::engine::Plugin.

Definition at line 1548 of file tracktion_ExternalPlugin.cpp.

◆ hasNameForMidiProgram()

bool tracktion::engine::ExternalPlugin::hasNameForMidiProgram ( int  programNum,
int  bank,
juce::String name 
)
overridevirtual

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

programNum = 0 to 127.

Reimplemented from tracktion::engine::Plugin.

Definition at line 1560 of file tracktion_ExternalPlugin.cpp.

◆ initialise()

void tracktion::engine::ExternalPlugin::initialise ( const PluginInitialisationInfo )
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.

See also
baseClassInitialise [[ message_thread ]]

Implements tracktion::engine::Plugin.

Definition at line 1121 of file tracktion_ExternalPlugin.cpp.

◆ initialiseFully()

void tracktion::engine::ExternalPlugin::initialiseFully ( )
overridevirtual

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

Reimplemented from tracktion::engine::Plugin.

Definition at line 546 of file tracktion_ExternalPlugin.cpp.

◆ isAU()

bool tracktion::engine::ExternalPlugin::isAU ( ) const
noexcept

Definition at line 66 of file tracktion_ExternalPlugin.h.

◆ isDisabled()

bool tracktion::engine::ExternalPlugin::isDisabled ( )
overridevirtual

Plugins can be disabled to avoid them crashing Edits.

Reimplemented from tracktion::engine::Plugin.

Definition at line 1633 of file tracktion_ExternalPlugin.cpp.

◆ isMissing()

bool tracktion::engine::ExternalPlugin::isMissing ( )
overridevirtual

for things like VSTs where the DLL is missing.


Reimplemented from tracktion::engine::Plugin.

Definition at line 1628 of file tracktion_ExternalPlugin.cpp.

◆ isSynth()

bool tracktion::engine::ExternalPlugin::isSynth ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 71 of file tracktion_ExternalPlugin.h.

◆ isVST()

bool tracktion::engine::ExternalPlugin::isVST ( ) const
noexcept

Definition at line 64 of file tracktion_ExternalPlugin.h.

◆ isVST3()

bool tracktion::engine::ExternalPlugin::isVST3 ( ) const
noexcept

Definition at line 65 of file tracktion_ExternalPlugin.h.

◆ needsConstantBufferSize()

bool tracktion::engine::ExternalPlugin::needsConstantBufferSize ( )
overridevirtual

Implements tracktion::engine::Plugin.

Definition at line 79 of file tracktion_ExternalPlugin.h.

◆ noTail()

bool tracktion::engine::ExternalPlugin::noTail ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 1495 of file tracktion_ExternalPlugin.cpp.

◆ processingChanged()

void tracktion::engine::ExternalPlugin::processingChanged ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 773 of file tracktion_ExternalPlugin.cpp.

◆ producesAudioWhenNoAudioInput()

bool tracktion::engine::ExternalPlugin::producesAudioWhenNoAudioInput ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 60 of file tracktion_ExternalPlugin.h.

◆ reassignReferencedItem()

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

Implements tracktion::engine::Exportable.

Definition at line 1838 of file tracktion_ExternalPlugin.cpp.

◆ reset()

void tracktion::engine::ExternalPlugin::reset ( )
overridevirtual

Should reset synth voices, tails, clear delay buffers, etc.

Reimplemented from tracktion::engine::Plugin.

Definition at line 1187 of file tracktion_ExternalPlugin.cpp.

◆ restorePluginStateFromValueTree()

void tracktion::engine::ExternalPlugin::restorePluginStateFromValueTree ( const juce::ValueTree v)
overridevirtual

Reimplemented from tracktion::engine::AutomatableEditItem.

Definition at line 921 of file tracktion_ExternalPlugin.cpp.

◆ selectableAboutToBeDeleted()

void tracktion::engine::ExternalPlugin::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 854 of file tracktion_ExternalPlugin.cpp.

◆ setBusesLayout()

bool tracktion::engine::ExternalPlugin::setBusesLayout ( juce::AudioProcessor::BusesLayout  layout)

Attempts to change the layout of the plugin.

Definition at line 1641 of file tracktion_ExternalPlugin.cpp.

◆ setBusLayout()

bool tracktion::engine::ExternalPlugin::setBusLayout ( juce::AudioChannelSet  set,
bool  isInput,
int  busIndex 
)

Attempts to change the layout of the plugin.

Definition at line 1674 of file tracktion_ExternalPlugin.cpp.

◆ setCurrentProgram()

void tracktion::engine::ExternalPlugin::setCurrentProgram ( int  index,
bool  sendChangeMessage 
)

Definition at line 1601 of file tracktion_ExternalPlugin.cpp.

◆ setCurrentProgramName()

void tracktion::engine::ExternalPlugin::setCurrentProgramName ( const juce::String name)

Definition at line 1593 of file tracktion_ExternalPlugin.cpp.

◆ setEnabled()

void tracktion::engine::ExternalPlugin::setEnabled ( bool  b)
overridevirtual

Enable/disable the plugin.


Reimplemented from tracktion::engine::Plugin.

Definition at line 1197 of file tracktion_ExternalPlugin.cpp.

◆ takesAudioInput()

bool tracktion::engine::ExternalPlugin::takesAudioInput ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 73 of file tracktion_ExternalPlugin.h.

◆ takesMidiInput()

bool tracktion::engine::ExternalPlugin::takesMidiInput ( )
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 1623 of file tracktion_ExternalPlugin.cpp.

◆ trackPropertiesChanged()

void tracktion::engine::ExternalPlugin::trackPropertiesChanged ( )
overridevirtual

Track name or colour has changed.

Reimplemented from tracktion::engine::Plugin.

Definition at line 836 of file tracktion_ExternalPlugin.cpp.

◆ updateFromMirroredPluginIfNeeded()

void tracktion::engine::ExternalPlugin::updateFromMirroredPluginIfNeeded ( Plugin changedPlugin)
overridevirtual

Reimplemented from tracktion::engine::Plugin.

Definition at line 966 of file tracktion_ExternalPlugin.cpp.

Member Data Documentation

◆ desc

juce::PluginDescription tracktion::engine::ExternalPlugin::desc

Definition at line 121 of file tracktion_ExternalPlugin.h.

◆ dryGain

AutomatableParameter::Ptr tracktion::engine::ExternalPlugin::dryGain

Definition at line 124 of file tracktion_ExternalPlugin.h.

◆ dryValue

juce::CachedValue<float> tracktion::engine::ExternalPlugin::dryValue

Definition at line 123 of file tracktion_ExternalPlugin.h.

◆ wetGain

AutomatableParameter::Ptr tracktion::engine::ExternalPlugin::wetGain

Definition at line 124 of file tracktion_ExternalPlugin.h.

◆ wetValue

juce::CachedValue<float> tracktion::engine::ExternalPlugin::wetValue

Definition at line 123 of file tracktion_ExternalPlugin.h.

◆ xmlTypeName

const char * tracktion::engine::ExternalPlugin::xmlTypeName
static

Definition at line 41 of file tracktion_ExternalPlugin.h.


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