TracktionEngine
|
An AudioNode that speeds up and slows down its input node in/out at given times. More...
Public Member Functions | |
SpeedRampAudioNode (AudioNode *source, legacy::EditTimeRange in, legacy::EditTimeRange out, AudioFadeCurve::Type fadeInType_, AudioFadeCurve::Type fadeOutType_) | |
void | renderOver (const AudioRenderContext &rc) override |
void | renderAdding (const AudioRenderContext &rc) override |
void | renderSection (const AudioRenderContext &rc, legacy::EditTimeRange editTime) |
Public Member Functions inherited from tracktion::engine::SingleInputAudioNode | |
SingleInputAudioNode (AudioNode *input) | |
void | getAudioNodeProperties (AudioNodeProperties &) override |
void | visitNodes (const VisitorFn &) override |
void | prepareAudioNodeToPlay (const PlaybackInitialisationInfo &) override |
tells the node to initialise itself ready for playing from the given time. More... | |
juce::ReferenceCountedObjectPtr< Plugin > | getPlugin () const override |
bool | isReadyToRender () override |
bool | purgeSubNodes (bool keepAudio, bool keepMidi) override |
Tells the node to delete any sub-nodes that don't produce the required type of output. More... | |
void | releaseAudioNodeResources () override |
tells the node that play has stopped, and it can free up anything it no longer needs. More... | |
void | prepareForNextBlock (const AudioRenderContext &) override |
Public Member Functions inherited from tracktion::engine::AudioNode | |
AudioNode () | |
virtual | ~AudioNode () |
void | callRenderAdding (const AudioRenderContext &) |
void | callRenderOver (const AudioRenderContext &) |
Additional Inherited Members | |
Public Types inherited from tracktion::engine::AudioNode | |
using | VisitorFn = std::function< void(AudioNode &)> |
Static Public Member Functions inherited from tracktion::engine::AudioNode | |
template<typename CallbackType > | |
static void | invokeSplitRender (const AudioRenderContext &rc, CallbackType &target) |
Public Attributes inherited from tracktion::engine::SingleInputAudioNode | |
const std::unique_ptr< AudioNode > | input |
An AudioNode that speeds up and slows down its input node in/out at given times.
tracktion::engine::SpeedRampAudioNode::SpeedRampAudioNode | ( | AudioNode * | source, |
legacy::EditTimeRange | in, | ||
legacy::EditTimeRange | out, | ||
AudioFadeCurve::Type | fadeInType_, | ||
AudioFadeCurve::Type | fadeOutType_ | ||
) |
|
overridevirtual |
Reimplemented from tracktion::engine::SingleInputAudioNode.
References tracktion::engine::SingleInputAudioNode::input, and tracktion::engine::AudioNode::invokeSplitRender().
|
overridevirtual |
Reimplemented from tracktion::engine::SingleInputAudioNode.
References tracktion::engine::AudioNode::callRenderOver(), and tracktion::engine::SingleInputAudioNode::input.
void tracktion::engine::SpeedRampAudioNode::renderSection | ( | const AudioRenderContext & | rc, |
legacy::EditTimeRange | editTime | ||
) |
References tracktion::engine::AudioRenderContext::bufferNumSamples, tracktion::engine::AudioRenderContext::bufferStartSample, tracktion::engine::legacy::EditTimeRange::getEnd(), tracktion::engine::legacy::EditTimeRange::getIntersectionWith(), tracktion::engine::legacy::EditTimeRange::getLength(), tracktion::engine::legacy::EditTimeRange::getStart(), tracktion::engine::legacy::EditTimeRange::overlaps(), tracktion::engine::AudioRenderContext::streamTime, and tracktion::engine::legacy::EditTimeRange::withLength().