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 | Friends | List of all members
tracktion::engine::ClipEffect Class Referenceabstract
Inheritance diagram for tracktion::engine::ClipEffect:
tracktion::engine::ValueTreeAllEventListener juce::ValueTree::Listener tracktion::engine::FadeInOutEffect tracktion::engine::InvertEffect tracktion::engine::MakeMonoEffect tracktion::engine::NormaliseEffect tracktion::engine::PitchShiftEffect tracktion::engine::PluginEffect tracktion::engine::ReverseEffect tracktion::engine::StepVolumeEffect tracktion::engine::VolumeEffect tracktion::engine::WarpTimeEffect

Classes

struct  ClipEffectRenderJob
 

Public Types

enum class  EffectType {
  none , volume , fadeInOut , tapeStartStop ,
  stepVolume , pitchShift , warpTime , normalise ,
  makeMono , reverse , invert , filter ,
  firstEffect , lastEffect
}
 

Public Member Functions

virtual void initialise ()
 
 ClipEffect (const juce::ValueTree &, ClipEffects &)
 
EffectType getType () const
 
virtual juce::ReferenceCountedObjectPtr< ClipEffectRenderJobcreateRenderJob (const AudioFile &sourceFile, double sourceLength)=0
 Subclasses should return a job that can render the source.
 
virtual bool hasProperties ()
 Return true here to show a properties button in the editor and enable the propertiesButtonPressed callback.
 
virtual void propertiesButtonPressed (SelectionManager &)
 
virtual void sourceChanged ()
 Callback to indicate the destination file has changed.
 
HashCode getHash () const
 Returns the hash for this effect.
 
AudioFile getSourceFile () const
 
AudioFile getDestinationFile () const
 
bool isUsingFile (const AudioFile &) const
 
virtual void flushStateToValueTree ()
 
juce::UndoManagergetUndoManager ()
 
AudioClipBasegetClip ()
 

Static Public Member Functions

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 &)
 

Public Attributes

Editedit
 
juce::ValueTree state
 
ClipEffectsclipEffects
 

Protected Member Functions

virtual HashCode getIndividualHash () const
 
void valueTreeChanged () override
 
- 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
 

Friends

class ClipEffects
 

Detailed Description

Definition at line 17 of file tracktion_ClipEffects.h.

Member Enumeration Documentation

◆ EffectType

enum class tracktion::engine::ClipEffect::EffectType
strong

Definition at line 20 of file tracktion_ClipEffects.h.

Constructor & Destructor Documentation

◆ ClipEffect()

tracktion::engine::ClipEffect::ClipEffect ( const juce::ValueTree v,
ClipEffects o 
)

Definition at line 224 of file tracktion_ClipEffects.cpp.

Member Function Documentation

◆ addEffectsToMenu()

void tracktion::engine::ClipEffect::addEffectsToMenu ( juce::PopupMenu m)
static

Definition at line 294 of file tracktion_ClipEffects.cpp.

◆ create() [1/2]

ClipEffect * tracktion::engine::ClipEffect::create ( const juce::ValueTree v,
ClipEffects ce 
)
static

Definition at line 1687 of file tracktion_ClipEffects.cpp.

◆ create() [2/2]

juce::ValueTree tracktion::engine::ClipEffect::create ( EffectType  t)
static

Definition at line 230 of file tracktion_ClipEffects.cpp.

◆ createEffectAndAddToValueTree()

void tracktion::engine::ClipEffect::createEffectAndAddToValueTree ( Edit edit,
juce::ValueTree  parent,
ClipEffect::EffectType  effectType,
int  index 
)
static

Definition at line 236 of file tracktion_ClipEffects.cpp.

◆ createRenderJob()

virtual juce::ReferenceCountedObjectPtr< ClipEffectRenderJob > tracktion::engine::ClipEffect::createRenderJob ( const AudioFile sourceFile,
double  sourceLength 
)
pure virtual

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.

Implemented in tracktion::engine::WarpTimeEffect, tracktion::engine::PluginEffect, tracktion::engine::MakeMonoEffect, tracktion::engine::ReverseEffect, tracktion::engine::InvertEffect, tracktion::engine::VolumeEffect, tracktion::engine::FadeInOutEffect, tracktion::engine::StepVolumeEffect, tracktion::engine::PitchShiftEffect, and tracktion::engine::NormaliseEffect.

◆ flushStateToValueTree()

virtual void tracktion::engine::ClipEffect::flushStateToValueTree ( )
virtual

Definition at line 79 of file tracktion_ClipEffects.h.

◆ getClip()

AudioClipBase & tracktion::engine::ClipEffect::getClip ( )

Definition at line 350 of file tracktion_ClipEffects.cpp.

◆ getDestinationFile()

AudioFile tracktion::engine::ClipEffect::getDestinationFile ( ) const

Definition at line 342 of file tracktion_ClipEffects.cpp.

◆ getHash()

HashCode tracktion::engine::ClipEffect::getHash ( ) const

Returns the hash for this effect.

N.B. as effects are serial their hash will change if any preceeding effects change.

See also
getIndividualHash

Definition at line 320 of file tracktion_ClipEffects.cpp.

◆ getIndividualHash()

HashCode tracktion::engine::ClipEffect::getIndividualHash ( ) const
protectedvirtual

Definition at line 315 of file tracktion_ClipEffects.cpp.

◆ getSourceFile()

AudioFile tracktion::engine::ClipEffect::getSourceFile ( ) const

Definition at line 334 of file tracktion_ClipEffects.cpp.

◆ getType()

ClipEffect::EffectType tracktion::engine::ClipEffect::getType ( ) const

Definition at line 310 of file tracktion_ClipEffects.cpp.

◆ getTypeDisplayName()

juce::String tracktion::engine::ClipEffect::getTypeDisplayName ( EffectType  t)
static

Definition at line 274 of file tracktion_ClipEffects.cpp.

◆ getUndoManager()

juce::UndoManager & tracktion::engine::ClipEffect::getUndoManager ( )

Definition at line 355 of file tracktion_ClipEffects.cpp.

◆ hasProperties()

virtual bool tracktion::engine::ClipEffect::hasProperties ( )
virtual

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

Reimplemented in tracktion::engine::VolumeEffect, tracktion::engine::StepVolumeEffect, tracktion::engine::PitchShiftEffect, tracktion::engine::PluginEffect, tracktion::engine::NormaliseEffect, and tracktion::engine::MakeMonoEffect.

Definition at line 62 of file tracktion_ClipEffects.h.

◆ initialise()

virtual void tracktion::engine::ClipEffect::initialise ( )
virtual

Definition at line 44 of file tracktion_ClipEffects.h.

◆ isUsingFile()

bool tracktion::engine::ClipEffect::isUsingFile ( const AudioFile af) const

Definition at line 360 of file tracktion_ClipEffects.cpp.

◆ propertiesButtonPressed()

virtual void tracktion::engine::ClipEffect::propertiesButtonPressed ( SelectionManager )
virtual

Definition at line 63 of file tracktion_ClipEffects.h.

◆ sourceChanged()

virtual void tracktion::engine::ClipEffect::sourceChanged ( )
virtual

Callback to indicate the destination file has changed.

Reimplemented in tracktion::engine::WarpTimeEffect.

Definition at line 66 of file tracktion_ClipEffects.h.

◆ valueTreeChanged()

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

Friends And Related Symbol Documentation

◆ ClipEffects

friend class ClipEffects
friend

Definition at line 93 of file tracktion_ClipEffects.h.

Member Data Documentation

◆ clipEffects

ClipEffects& tracktion::engine::ClipEffect::clipEffects

Definition at line 86 of file tracktion_ClipEffects.h.

◆ edit

Edit& tracktion::engine::ClipEffect::edit

Definition at line 84 of file tracktion_ClipEffects.h.

◆ state

juce::ValueTree tracktion::engine::ClipEffect::state

Definition at line 85 of file tracktion_ClipEffects.h.


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