TracktionEngine
|
Determines how this block releates to other previous render blocks and if the play head has jumped in time. More...
#include <tracktion_PlayHeadState.h>
Public Member Functions | |
PlayHeadState (PlayHead &ph) | |
void | update (juce::Range< int64_t > referenceSampleRange) |
Call once per block to update the jumped state. | |
bool | isContiguousWithPreviousBlock () noexcept |
Returns true if the play head did not jump and this block is contiguous with the previous block. | |
bool | didPlayheadJump () noexcept |
Returns true if the play head jumped. | |
bool | isFirstBlockOfLoop () noexcept |
Returns true if this is the first block of a loop. | |
bool | isLastBlockOfLoop () noexcept |
Returns true if this is the last block of a loop. | |
Public Attributes | |
PlayHead & | playHead |
bool | isPlayHeadRunning = false |
bool | playheadJumped = false |
bool | lastBlockOfLoop = false |
bool | firstBlockOfLoop = false |
Determines how this block releates to other previous render blocks and if the play head has jumped in time.
tracktion::graph::PlayHeadState::PlayHeadState | ( | PlayHead & | ph | ) |
void tracktion::graph::PlayHeadState::update | ( | juce::Range< int64_t > | referenceSampleRange | ) |
Call once per block to update the jumped state.
Usually called at the same time as the PlayHead::incrementReferenceSampleCount method.
References firstBlockOfLoop, tracktion::graph::PlayHead::getLastUserInteractionTime(), tracktion::graph::PlayHead::getLoopRange(), tracktion::graph::PlayHead::isLooping(), isPlayHeadRunning, tracktion::graph::PlayHead::isPlaying(), tracktion::graph::PlayHead::isRollingIntoLoop(), lastBlockOfLoop, playHead, playheadJumped, and tracktion::graph::PlayHead::referenceSamplePositionToTimelinePosition().
Referenced by tracktion::graph::NodePlayer::processWithPlayHeadState().
|
noexcept |
Returns true if the play head did not jump and this block is contiguous with the previous block.
References didPlayheadJump(), and isFirstBlockOfLoop().
|
noexcept |
Returns true if the play head jumped.
References playheadJumped.
Referenced by isContiguousWithPreviousBlock().
|
noexcept |
Returns true if this is the first block of a loop.
References firstBlockOfLoop.
Referenced by isContiguousWithPreviousBlock().
|
noexcept |
Returns true if this is the last block of a loop.
References lastBlockOfLoop.
PlayHead& tracktion::graph::PlayHeadState::playHead |
Referenced by tracktion::engine::TracktionEngineNode::getPlayHead(), tracktion::engine::benchmark_utilities::prepareRenderAndDestroy(), tracktion::graph::NodePlayer::prepareToPlay(), tracktion::engine::MultiThreadedNodePlayer::process(), tracktion::engine::TracktionNodePlayer::process(), tracktion::graph::NodePlayer::processWithPlayHeadState(), and update().
bool tracktion::graph::PlayHeadState::isPlayHeadRunning = false |
Referenced by update().
bool tracktion::graph::PlayHeadState::playheadJumped = false |
Referenced by didPlayheadJump(), and update().
bool tracktion::graph::PlayHeadState::lastBlockOfLoop = false |
Referenced by isLastBlockOfLoop(), and update().
bool tracktion::graph::PlayHeadState::firstBlockOfLoop = false |
Referenced by isFirstBlockOfLoop(), and update().