lmms
Cross-platform music production software
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 TrackList & tracks () 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
Model * parentModel () 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)
SerializingObjectHook * hook ()

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: