LMMS
Loading...
Searching...
No Matches
lmms::Timeline Class Reference

#include <Timeline.h>

Inheritance diagram for lmms::Timeline:
lmms::JournallingObject lmms::SerializingObject

Public Types

enum class  StopBehaviour { BackToZero , BackToStart , KeepPosition }

Signals

void loopEnabledChanged (bool enabled)
void stopBehaviourChanged (lmms::Timeline::StopBehaviour behaviour)
void positionChanged ()
void positionJumped ()

Public Member Functions

auto pos () const -> const TimePos &
auto ticks () const -> tick_t
void setTicks (tick_t ticks, bool jumped=true)
void incrementTicks (tick_t increment)
 Advances the current timeline position by a certain number of ticks, in addition to updating the elapsed time based on the current tempo.
auto frameOffset () const -> float
void setFrameOffset (const float frame)
auto loopBegin () const -> TimePos
auto loopEnd () const -> TimePos
auto loopEnabled () const -> bool
void setLoopBegin (TimePos begin)
void setLoopEnd (TimePos end)
void setLoopPoints (TimePos begin, TimePos end)
void setLoopEnabled (bool enabled)
auto playStartPosition () const -> TimePos
auto stopBehaviour () const -> StopBehaviour
void setPlayStartPosition (TimePos position)
void setStopBehaviour (StopBehaviour behaviour)
auto getElapsedSeconds () const -> double
auto nodeName () const -> QString override
Public Member Functions inherited from lmms::JournallingObject
 JournallingObject ()
 ~JournallingObject () override
jo_id_t id () const
void saveJournallingState (const bool newState)
void restoreJournallingState ()
void addJournalCheckPoint ()
QDomElement saveState (QDomDocument &_doc, QDomElement &_parent) override
void restoreState (const QDomElement &_this) override
bool isJournalling () const
void setJournalling (const bool _sr)
bool testAndSetJournalling (const bool newState)
bool isJournallingStateStackEmpty () const
Public Member Functions inherited from lmms::SerializingObject
 SerializingObject ()
virtual ~SerializingObject ()
void setHook (SerializingObjectHook *_hook)
SerializingObjectHookhook ()

Protected Member Functions

void saveSettings (QDomDocument &doc, QDomElement &element) override
void loadSettings (const QDomElement &element) override
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Private Attributes

TimePos m_loopBegin = TimePos{0}
TimePos m_loopEnd = TimePos{DefaultTicksPerBar}
bool m_loopEnabled = false
TimePos m_pos = TimePos{0}
float m_frameOffset = 0
double m_elapsedSeconds = 0
StopBehaviour m_stopBehaviour = StopBehaviour::BackToStart
TimePos m_playStartPosition = TimePos{-1}

Member Enumeration Documentation

◆ StopBehaviour

enum class lmms::Timeline::StopBehaviour
strong
Enumerator
BackToZero 
BackToStart 
KeepPosition 

Member Function Documentation

◆ frameOffset()

auto lmms::Timeline::frameOffset ( ) const -> float
inline

◆ getElapsedSeconds()

auto lmms::Timeline::getElapsedSeconds ( ) const -> double
inline

◆ incrementTicks()

void lmms::Timeline::incrementTicks ( tick_t increment)
inline

Advances the current timeline position by a certain number of ticks, in addition to updating the elapsed time based on the current tempo.

◆ loadSettings()

void lmms::Timeline::loadSettings ( const QDomElement & element)
overrideprotectedvirtual

◆ loopBegin()

auto lmms::Timeline::loopBegin ( ) const -> TimePos
inline

◆ loopEnabled()

auto lmms::Timeline::loopEnabled ( ) const -> bool
inline

◆ loopEnabledChanged

void lmms::Timeline::loopEnabledChanged ( bool enabled)
signal

◆ loopEnd()

auto lmms::Timeline::loopEnd ( ) const -> TimePos
inline

◆ nodeName()

auto lmms::Timeline::nodeName ( void ) const -> QString
inlineoverridevirtual

◆ playStartPosition()

auto lmms::Timeline::playStartPosition ( ) const -> TimePos
inline

◆ pos()

auto lmms::Timeline::pos ( ) const -> const TimePos &
inline

◆ positionChanged

void lmms::Timeline::positionChanged ( )
signal

◆ positionJumped

void lmms::Timeline::positionJumped ( )
signal

◆ saveSettings()

void lmms::Timeline::saveSettings ( QDomDocument & doc,
QDomElement & element )
overrideprotectedvirtual

◆ setFrameOffset()

void lmms::Timeline::setFrameOffset ( const float frame)
inline

◆ setLoopBegin()

void lmms::Timeline::setLoopBegin ( TimePos begin)

◆ setLoopEnabled()

void lmms::Timeline::setLoopEnabled ( bool enabled)

◆ setLoopEnd()

void lmms::Timeline::setLoopEnd ( TimePos end)

◆ setLoopPoints()

void lmms::Timeline::setLoopPoints ( TimePos begin,
TimePos end )

◆ setPlayStartPosition()

void lmms::Timeline::setPlayStartPosition ( TimePos position)
inline

◆ setStopBehaviour()

void lmms::Timeline::setStopBehaviour ( StopBehaviour behaviour)

◆ setTicks()

void lmms::Timeline::setTicks ( tick_t ticks,
bool jumped = true )
inline

Forcefully sets the current ticks, resets the frame offset, and sets the elapsed seconds based on the global position (ignoring potential mid-song tempo changes) Unless jumped is passed as false, this function will emit the positionJumped signal to allow other widgets to update accordingly.

◆ stopBehaviour()

auto lmms::Timeline::stopBehaviour ( ) const -> StopBehaviour
inline

◆ stopBehaviourChanged

void lmms::Timeline::stopBehaviourChanged ( lmms::Timeline::StopBehaviour behaviour)
signal

◆ ticks()

auto lmms::Timeline::ticks ( ) const -> tick_t
inline

Member Data Documentation

◆ m_elapsedSeconds

double lmms::Timeline::m_elapsedSeconds = 0
private

◆ m_frameOffset

float lmms::Timeline::m_frameOffset = 0
private

◆ m_loopBegin

TimePos lmms::Timeline::m_loopBegin = TimePos{0}
private

◆ m_loopEnabled

bool lmms::Timeline::m_loopEnabled = false
private

◆ m_loopEnd

TimePos lmms::Timeline::m_loopEnd = TimePos{DefaultTicksPerBar}
private

◆ m_playStartPosition

TimePos lmms::Timeline::m_playStartPosition = TimePos{-1}
private

◆ m_pos

TimePos lmms::Timeline::m_pos = TimePos{0}
private

◆ m_stopBehaviour

StopBehaviour lmms::Timeline::m_stopBehaviour = StopBehaviour::BackToStart
private

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