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

#include <PatternTrack.h>

Inheritance diagram for lmms::PatternTrack:
lmms::Track lmms::Model lmms::JournallingObject lmms::SerializingObject

Public Member Functions

 PatternTrack (TrackContainer *tc)
 ~PatternTrack () override
bool play (const TimePos &_start, const f_cnt_t _frames, const f_cnt_t _frame_base, int _clip_num=-1) override
gui::TrackViewcreateView (gui::TrackContainerView *tcv) override
ClipcreateClip (const TimePos &pos) override
void saveTrackSpecificSettings (QDomDocument &doc, QDomElement &parent, bool presetMode) override
void loadTrackSpecificSettings (const QDomElement &_this) override
int patternIndex ()
bool automationDisabled (Track *_track)
void disableAutomation (Track *_track)
void enableAutomation (Track *_track)
Public Member Functions inherited from lmms::Track
 Track (Type type, TrackContainer *tc)
 Create a new (empty) track object.
 ~Track () override
 Destroy this track.
Trackclone ()
 Clone a track from this track.
Type type () const
void savePreset (QDomDocument &doc, QDomElement &element)
void loadPreset (const QDomElement &element)
void saveSettings (QDomDocument &doc, QDomElement &element) override
void loadSettings (const QDomElement &element) override
ClipaddClip (Clip *clip)
 Add another Clip into this track.
void removeClip (Clip *clip)
 Remove a given Clip from this track.
void deleteClips ()
 Remove all Clips from this track.
int numOfClips ()
 Return the number of clips we contain.
auto getClip (std::size_t clipNum) -> Clip *
 Get a Clip by number.
int getClipNum (const Clip *clip)
 Determine the given Clip's number in our array.
const clipVectorgetClips () const
void getClipsInRange (clipVector &clipV, const TimePos &start, const TimePos &end)
 Retrieve a list of clips that fall within a period.
void swapPositionOfClips (int clipNum1, int clipNum2)
 Swap the position of two clips.
void createClipsForPattern (int pattern)
void insertBar (const TimePos &pos)
 Move all the clips after a certain time later by one bar.
void removeBar (const TimePos &pos)
 Move all the clips after a certain time earlier by one bar.
bar_t length () const
 Return the length of the entire track in bars.
TrackContainertrackContainer () const
virtual const QString & name () const
QString displayName () const override
int getHeight ()
void setHeight (int height)
void lock ()
void unlock ()
bool tryLock ()
auto color () const -> const std::optional< QColor > &
void setColor (const std::optional< QColor > &color)
bool isMutedBeforeSolo () const
BoolModelgetMutedModel ()
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 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 ()
void setHook (SerializingObjectHook *_hook)
SerializingObjectHookhook ()

Static Public Member Functions

static PatternTrackfindPatternTrack (int pattern_num)
static void swapPatternTracks (Track *track1, Track *track2)
Static Public Member Functions inherited from lmms::Track
static Trackcreate (Type tt, TrackContainer *tc)
 Create a track based on the given track type and container.
static Trackcreate (const QDomElement &element, TrackContainer *tc)
 Create a track inside TrackContainer from track type in a QDomElement and restore state from XML.

Protected Member Functions

QString nodeName () const override
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Private Types

using infoMap = QMap<PatternTrack*, int>

Private Attributes

QList< Track * > m_disabledTracks

Static Private Attributes

static infoMap s_infoMap

Friends

class gui::PatternTrackView

Additional Inherited Members

Public Types inherited from lmms::Track
enum class  Type {
  Instrument , Pattern , Sample , Event ,
  Video , Automation , HiddenAutomation , Count
}
using clipVector = std::vector<Clip*>
Public Slots inherited from lmms::Track
virtual void setName (const QString &newName)
void setMutedBeforeSolo (const bool muted)
void toggleSolo ()
 Invert the track's solo state.
Signals inherited from lmms::Track
void destroyedTrack ()
void nameChanged ()
void clipAdded (lmms::Clip *)
void colorChanged ()
void dataChanged ()
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()
Protected Attributes inherited from lmms::Track
BoolModel m_mutedModel
BoolModel m_soloModel

Detailed Description

Track type used in the Song (Editor) to reference a pattern in the PatternStore

Member Typedef Documentation

◆ infoMap

using lmms::PatternTrack::infoMap = QMap<PatternTrack*, int>
private

Constructor & Destructor Documentation

◆ PatternTrack()

lmms::PatternTrack::PatternTrack ( TrackContainer * tc)

◆ ~PatternTrack()

lmms::PatternTrack::~PatternTrack ( )
override

Member Function Documentation

◆ automationDisabled()

bool lmms::PatternTrack::automationDisabled ( Track * _track)
inline

◆ createClip()

Clip * lmms::PatternTrack::createClip ( const TimePos & pos)
overridevirtual

Implements lmms::Track.

◆ createView()

gui::TrackView * lmms::PatternTrack::createView ( gui::TrackContainerView * tcv)
overridevirtual

Implements lmms::Track.

◆ disableAutomation()

void lmms::PatternTrack::disableAutomation ( Track * _track)
inline

◆ enableAutomation()

void lmms::PatternTrack::enableAutomation ( Track * _track)
inline

◆ findPatternTrack()

PatternTrack * lmms::PatternTrack::findPatternTrack ( int pattern_num)
static

◆ loadTrackSpecificSettings()

void lmms::PatternTrack::loadTrackSpecificSettings ( const QDomElement & _this)
overridevirtual

Implements lmms::Track.

◆ nodeName()

QString lmms::PatternTrack::nodeName ( void ) const
inlineoverrideprotectedvirtual

◆ patternIndex()

int lmms::PatternTrack::patternIndex ( )
inline

◆ play()

bool lmms::PatternTrack::play ( const TimePos & _start,
const f_cnt_t _frames,
const f_cnt_t _frame_base,
int _clip_num = -1 )
overridevirtual

Implements lmms::Track.

◆ saveTrackSpecificSettings()

void lmms::PatternTrack::saveTrackSpecificSettings ( QDomDocument & doc,
QDomElement & parent,
bool presetMode )
overridevirtual

Implements lmms::Track.

◆ swapPatternTracks()

void lmms::PatternTrack::swapPatternTracks ( Track * track1,
Track * track2 )
static

◆ gui::PatternTrackView

friend class gui::PatternTrackView
friend

Member Data Documentation

◆ m_disabledTracks

QList<Track *> lmms::PatternTrack::m_disabledTracks
private

◆ s_infoMap

PatternTrack::infoMap lmms::PatternTrack::s_infoMap
staticprivate

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