TracktionEngine
Public Member Functions | Public Attributes | List of all members
tracktion::engine::PluginEffect Struct Reference
Inheritance diagram for tracktion::engine::PluginEffect:

Public Member Functions

 PluginEffect (const juce::ValueTree &, ClipEffects &)
 
juce::ReferenceCountedObjectPtr< ClipEffectRenderJob > createRenderJob (const AudioFile &, double sourceLength) override
 Subclasses should return a job that can render the source. More...
 
void initialise () override
 
void flushStateToValueTree () override
 
bool hasProperties () override
 Return true here to show a properties button in the editor and enable the propertiesButtonPressed callback. More...
 
void propertiesButtonPressed (SelectionManager &) override
 
HashCode getIndividualHash () const override
 
void valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override
 
void valueTreeChanged () override
 
void timerCallback () override
 
void curveHasChanged (AutomatableParameter &) override
 Called when the automation curve has changed, point time, value or curve. More...
 
- Public Member Functions inherited from tracktion::engine::ClipEffect
 ClipEffect (const juce::ValueTree &, ClipEffects &)
 
EffectType getType () const
 
virtual void sourceChanged ()
 Callback to indicate the destination file has changed. More...
 
HashCode getHash () const
 Returns the hash for this effect. More...
 
AudioFile getSourceFile () const
 
AudioFile getDestinationFile () const
 
bool isUsingFile (const AudioFile &) const
 
juce::UndoManager & getUndoManager ()
 
AudioClipBasegetClip ()
 
- Public Member Functions inherited from tracktion::engine::AutomatableParameter::Listener
virtual ~Listener ()
 
virtual void currentValueChanged (AutomatableParameter &, float)
 Called when the current value of the parameter changed, either from setting the parameter, automation, a macro or modifier. More...
 
virtual void parameterChanged (AutomatableParameter &, float)
 Called when the parameter is changed by the plugin or host, not from automation. More...
 
virtual void parameterChangeGestureBegin (AutomatableParameter &)
 
virtual void parameterChangeGestureEnd (AutomatableParameter &)
 

Public Attributes

Plugin::Ptr plugin
 
std::unique_ptr< ClipEffects::RenderInhibitorinhibitor
 
std::unique_ptr< PluginUnloadInhibitor > pluginUnloadInhibitor
 
juce::CachedValue< int > currentCurve
 
juce::CachedValue< juce::int64 > lastHash
 
- Public Attributes inherited from tracktion::engine::ClipEffect
Editedit
 
juce::ValueTree state
 
ClipEffectsclipEffects
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::ClipEffect
enum class  EffectType {
  none , volume , fadeInOut , tapeStartStop ,
  stepVolume , pitchShift , warpTime , normalise ,
  makeMono , reverse , invert , filter ,
  firstEffect = volume , lastEffect = filter
}
 
- Static Public Member Functions inherited from tracktion::engine::ClipEffect
static juce::ValueTree create (EffectType)
 
static ClipEffectcreate (const juce::ValueTree &, ClipEffects &)
 
static void createEffectAndAddToValueTree (Edit &, juce::ValueTree parent, ClipEffect::EffectType, int index)
 
static juce::String getTypeDisplayName (EffectType)
 
static void addEffectsToMenu (juce::PopupMenu &)
 
- 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
 

Constructor & Destructor Documentation

◆ PluginEffect()

tracktion::engine::PluginEffect::PluginEffect ( const juce::ValueTree &  ,
ClipEffects  
)

Member Function Documentation

◆ createRenderJob()

juce::ReferenceCountedObjectPtr<ClipEffectRenderJob> tracktion::engine::PluginEffect::createRenderJob ( const AudioFile sourceFile,
double  sourceLength 
)
overridevirtual

Subclasses should return a job that can render the source.

N.B. because the sourceFile may not be valid at the time of job creation you should use the sourceLength parameter to determine how to build the render node.

Implements tracktion::engine::ClipEffect.

◆ initialise()

void tracktion::engine::PluginEffect::initialise ( )
overridevirtual

Reimplemented from tracktion::engine::ClipEffect.

◆ flushStateToValueTree()

void tracktion::engine::PluginEffect::flushStateToValueTree ( )
overridevirtual

Reimplemented from tracktion::engine::ClipEffect.

◆ hasProperties()

bool tracktion::engine::PluginEffect::hasProperties ( )
overridevirtual

Return true here to show a properties button in the editor and enable the propertiesButtonPressed callback.

Reimplemented from tracktion::engine::ClipEffect.

◆ propertiesButtonPressed()

void tracktion::engine::PluginEffect::propertiesButtonPressed ( SelectionManager )
overridevirtual

Reimplemented from tracktion::engine::ClipEffect.

◆ getIndividualHash()

HashCode tracktion::engine::PluginEffect::getIndividualHash ( ) const
overridevirtual

Reimplemented from tracktion::engine::ClipEffect.

◆ valueTreePropertyChanged()

void tracktion::engine::PluginEffect::valueTreePropertyChanged ( juce::ValueTree &  ,
const juce::Identifier &   
)
override

◆ valueTreeChanged()

void tracktion::engine::PluginEffect::valueTreeChanged ( )
overridevirtual

Reimplemented from tracktion::engine::ClipEffect.

◆ timerCallback()

void tracktion::engine::PluginEffect::timerCallback ( )
override

◆ curveHasChanged()

void tracktion::engine::PluginEffect::curveHasChanged ( AutomatableParameter )
overridevirtual

Called when the automation curve has changed, point time, value or curve.

Implements tracktion::engine::AutomatableParameter::Listener.

Member Data Documentation

◆ plugin

Plugin::Ptr tracktion::engine::PluginEffect::plugin

◆ inhibitor

std::unique_ptr<ClipEffects::RenderInhibitor> tracktion::engine::PluginEffect::inhibitor

◆ pluginUnloadInhibitor

std::unique_ptr<PluginUnloadInhibitor> tracktion::engine::PluginEffect::pluginUnloadInhibitor

◆ currentCurve

juce::CachedValue<int> tracktion::engine::PluginEffect::currentCurve

◆ lastHash

juce::CachedValue<juce::int64> tracktion::engine::PluginEffect::lastHash
mutable

The documentation for this struct was generated from the following file: