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

#include <TrackContainer.h>

Inheritance diagram for lmms::TrackContainer:
lmms::Model lmms::JournallingObject lmms::SerializingObject lmms::PatternStore lmms::PreviewTrackContainer lmms::Song

Public Types

enum class  Type { Pattern , Song }
using TrackList = std::vector<Track*>

Signals

void trackAdded (lmms::Track *_track)
void trackRemoved ()
void trackMoved ()
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()

Public Member Functions

 TrackContainer ()
 ~TrackContainer () override
void saveSettings (QDomDocument &_doc, QDomElement &_parent) override
void loadSettings (const QDomElement &_this) override
int countTracks (Track::Type _tt=Track::Type::Count) const
void addTrack (Track *_track)
void removeTrack (Track *_track)
void moveTrack (Track *track, int indexTo)
virtual void updateAfterTrackAdd ()
void clearAllTracks ()
const TrackListtracks () const
bool isEmpty () const
void setType (Type newType)
Type type () const
virtual AutomatedValueMap automatedValuesAt (TimePos time, int clipNum=-1) const
Public Member Functions inherited from lmms::Model
 Model (Model *parent, QString displayName=QString(), bool defaultConstructed=false)
 ~Model () override=default
bool isDefaultConstructed () const
ModelparentModel () const
virtual QString displayName () const
virtual void setDisplayName (const QString &displayName)
virtual QString fullDisplayName () const
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 ()
virtual QString nodeName () const =0
void setHook (SerializingObjectHook *_hook)
SerializingObjectHookhook ()

Static Public Member Functions

static const QString classNodeName ()

Static Protected Member Functions

static AutomatedValueMap automatedValuesFromTracks (const TrackList &tracks, TimePos timeStart, int clipNum=-1)

Protected Attributes

QReadWriteLock m_tracksMutex

Private Attributes

TrackList m_tracks
Type m_TrackContainerType

Friends

class gui::TrackContainerView
class Track

Additional Inherited Members

Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Member Typedef Documentation

◆ TrackList

using lmms::TrackContainer::TrackList = std::vector<Track*>

Member Enumeration Documentation

◆ Type

enum class lmms::TrackContainer::Type
strong
Enumerator
Pattern 
Song 

Constructor & Destructor Documentation

◆ TrackContainer()

lmms::TrackContainer::TrackContainer ( )

◆ ~TrackContainer()

lmms::TrackContainer::~TrackContainer ( )
override

Member Function Documentation

◆ addTrack()

void lmms::TrackContainer::addTrack ( Track * _track)

◆ automatedValuesAt()

AutomatedValueMap lmms::TrackContainer::automatedValuesAt ( TimePos time,
int clipNum = -1 ) const
virtual

Reimplemented in lmms::PatternStore, and lmms::Song.

◆ automatedValuesFromTracks()

AutomatedValueMap lmms::TrackContainer::automatedValuesFromTracks ( const TrackList & tracks,
TimePos timeStart,
int clipNum = -1 )
staticprotected

◆ classNodeName()

const QString lmms::TrackContainer::classNodeName ( )
inlinestatic

◆ clearAllTracks()

void lmms::TrackContainer::clearAllTracks ( )

◆ countTracks()

int lmms::TrackContainer::countTracks ( Track::Type _tt = Track::Type::Count) const

◆ isEmpty()

bool lmms::TrackContainer::isEmpty ( ) const

◆ loadSettings()

void lmms::TrackContainer::loadSettings ( const QDomElement & _this)
overridevirtual

◆ moveTrack()

void lmms::TrackContainer::moveTrack ( Track * track,
int indexTo )

◆ removeTrack()

void lmms::TrackContainer::removeTrack ( Track * _track)

◆ saveSettings()

void lmms::TrackContainer::saveSettings ( QDomDocument & _doc,
QDomElement & _parent )
overridevirtual

◆ setType()

void lmms::TrackContainer::setType ( Type newType)
inline

◆ trackAdded

void lmms::TrackContainer::trackAdded ( lmms::Track * _track)
signal

◆ trackMoved

void lmms::TrackContainer::trackMoved ( )
signal

◆ trackRemoved

void lmms::TrackContainer::trackRemoved ( )
signal

◆ tracks()

const TrackList & lmms::TrackContainer::tracks ( ) const
inline

◆ type()

Type lmms::TrackContainer::type ( ) const
inline

◆ updateAfterTrackAdd()

void lmms::TrackContainer::updateAfterTrackAdd ( )
virtual

Reimplemented in lmms::PatternStore.

◆ gui::TrackContainerView

friend class gui::TrackContainerView
friend

◆ Track

friend class Track
friend

Member Data Documentation

◆ m_TrackContainerType

Type lmms::TrackContainer::m_TrackContainerType
private

◆ m_tracks

TrackList lmms::TrackContainer::m_tracks
private

◆ m_tracksMutex

QReadWriteLock lmms::TrackContainer::m_tracksMutex
mutableprotected

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