TracktionEngine
Classes | Public Member Functions | Static Public Member Functions | List of all members
tracktion::engine::PlayHead Class Reference

Classes

struct  EditTimeWindow
 

Public Member Functions

 PlayHead ()=default
 
void setPosition (double newTime)
 
void play (legacy::EditTimeRange rangeToPlay, bool looped)
 
void play ()
 
void playLockedToEngine (legacy::EditTimeRange rangeToPlay)
 
void stop ()
 
void setUserIsDragging (bool b)
 
bool isUserDragging () const
 
juce::Time getLastUserInteractionTime () const
 
double streamTimeToSourceTime (double streamTime) const
 
double streamTimeToSourceTimeUnlooped (double streamTime) const
 
EditTimeWindow streamTimeToEditWindow (legacy::EditTimeRange streamTime) const
 
double getPosition () const
 
double getUnloopedPosition () const
 
void overridePosition (double newTime)
 
bool isPlaying () const noexcept
 
bool isStopped () const noexcept
 
bool isLooping () const noexcept
 
bool isRollingIntoLoop () const noexcept
 
legacy::EditTimeRange getLoopTimes () const noexcept
 
void setLoopTimes (bool loop, legacy::EditTimeRange times)
 
void setRollInToLoop (double t)
 
void deviceManagerPositionUpdate (double newTime, double newTimeEnd)
 called by the DeviceManager More...
 

Static Public Member Functions

static double linearTimeToLoopTime (double time, legacy::EditTimeRange loop)
 
static double linearTimeToLoopTime (double time, double loopStart, double loopLen)
 

Constructor & Destructor Documentation

◆ PlayHead()

tracktion::engine::PlayHead::PlayHead ( )
default

Member Function Documentation

◆ setPosition()

void tracktion::engine::PlayHead::setPosition ( double  newTime)

References getPosition(), and overridePosition().

Referenced by play(), setLoopTimes(), and stop().

◆ play() [1/2]

void tracktion::engine::PlayHead::play ( legacy::EditTimeRange  rangeToPlay,
bool  looped 
)

◆ play() [2/2]

void tracktion::engine::PlayHead::play ( )

References getPosition(), and setPosition().

Referenced by playLockedToEngine().

◆ playLockedToEngine()

void tracktion::engine::PlayHead::playLockedToEngine ( legacy::EditTimeRange  rangeToPlay)

References play().

◆ stop()

void tracktion::engine::PlayHead::stop ( )

References getPosition(), and setPosition().

◆ setUserIsDragging()

void tracktion::engine::PlayHead::setUserIsDragging ( bool  b)

◆ isUserDragging()

bool tracktion::engine::PlayHead::isUserDragging ( ) const

◆ getLastUserInteractionTime()

juce::Time tracktion::engine::PlayHead::getLastUserInteractionTime ( ) const

◆ streamTimeToSourceTime()

double tracktion::engine::PlayHead::streamTimeToSourceTime ( double  streamTime) const

◆ streamTimeToSourceTimeUnlooped()

double tracktion::engine::PlayHead::streamTimeToSourceTimeUnlooped ( double  streamTime) const

◆ linearTimeToLoopTime() [1/2]

static double tracktion::engine::PlayHead::linearTimeToLoopTime ( double  time,
legacy::EditTimeRange  loop 
)
static

◆ linearTimeToLoopTime() [2/2]

static double tracktion::engine::PlayHead::linearTimeToLoopTime ( double  time,
double  loopStart,
double  loopLen 
)
static

◆ streamTimeToEditWindow()

EditTimeWindow tracktion::engine::PlayHead::streamTimeToEditWindow ( legacy::EditTimeRange  streamTime) const

◆ getPosition()

double tracktion::engine::PlayHead::getPosition ( ) const

◆ getUnloopedPosition()

double tracktion::engine::PlayHead::getUnloopedPosition ( ) const

◆ overridePosition()

void tracktion::engine::PlayHead::overridePosition ( double  newTime)

◆ isPlaying()

bool tracktion::engine::PlayHead::isPlaying ( ) const
noexcept

◆ isStopped()

bool tracktion::engine::PlayHead::isStopped ( ) const
noexcept

◆ isLooping()

bool tracktion::engine::PlayHead::isLooping ( ) const
noexcept

◆ isRollingIntoLoop()

bool tracktion::engine::PlayHead::isRollingIntoLoop ( ) const
noexcept

◆ getLoopTimes()

legacy::EditTimeRange tracktion::engine::PlayHead::getLoopTimes ( ) const
noexcept

◆ setLoopTimes()

void tracktion::engine::PlayHead::setLoopTimes ( bool  loop,
legacy::EditTimeRange  times 
)

◆ setRollInToLoop()

void tracktion::engine::PlayHead::setRollInToLoop ( double  t)

◆ deviceManagerPositionUpdate()

void tracktion::engine::PlayHead::deviceManagerPositionUpdate ( double  newTime,
double  newTimeEnd 
)

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