120 const f_cnt_t frameBase,
int clipNum = -1 ) = 0;
131 void savePreset(QDomDocument & doc, QDomElement & element);
135 void saveSettings( QDomDocument & doc, QDomElement & element )
override;
136 void loadSettings(
const QDomElement & element )
override;
165 auto getClip(std::size_t clipNum) ->
Clip*;
170 int getClipNum(
const Clip* clip);
185 void getClipsInRange(clipVector& clipV,
const TimePos& start,
const TimePos& end);
194 void swapPositionOfClips(
int clipNum1,
int clipNum2 );
196 void createClipsForPattern(
int pattern);
202 void insertBar(
const TimePos& pos);
206 void removeBar(
const TimePos & pos );
212 bar_t length()
const;
221 virtual const QString &
name()
const
258 void setColor(
const std::optional<QColor>& color);
268 virtual void setName(
const QString& newName);
292 void saveTrack(QDomDocument& doc, QDomElement& element,
bool presetMode);
304 void loadTrack(
const QDomElement& element,
bool presetMode);
Definition AutomatableModel.h:502
Definition Instrument.h:54
JournallingObject()
Definition JournallingObject.cpp:36
Model(Model *parent, QString displayName=QString(), bool defaultConstructed=false)
Definition Model.cpp:30
Definition TrackContainer.h:49
Base-class for all tracks.
Definition Track.h:67
virtual const QString & name() const
Definition Track.h:221
Clip * addClip(Clip *clip)
Add another Clip into this track.
Definition Track.cpp:286
mapPropertyFromModel(bool, isMuted, setMuted, m_mutedModel)
Track(Type type, TrackContainer *tc)
Create a new (empty) track object.
Definition Track.cpp:49
void removeClip(Clip *clip)
Remove a given Clip from this track.
Definition Track.cpp:298
virtual Clip * createClip(const TimePos &pos)=0
void savePreset(QDomDocument &doc, QDomElement &element)
Definition Track.cpp:261
bool m_mutedBeforeSolo
Definition Track.h:317
bool tryLock()
Definition Track.h:252
mapPropertyFromModel(bool, isSolo, setSolo, m_soloModel)
void saveSettings(QDomDocument &doc, QDomElement &element) override
Definition Track.cpp:271
TrackContainer * m_trackContainer
Definition Track.h:307
TrackContainer * trackContainer() const
Definition Track.h:215
BoolModel m_mutedModel
Definition Track.h:313
virtual gui::TrackView * createView(gui::TrackContainerView *view)=0
Type
Definition Track.h:75
const clipVector & getClips() const
Definition Track.h:172
std::optional< QColor > m_color
Definition Track.h:323
bool isMutedBeforeSolo() const
Definition Track.h:260
QMutex m_processingLock
Definition Track.h:321
int m_height
Definition Track.h:310
BoolModel m_soloModel
Definition Track.h:314
Type type() const
Definition Track.h:114
void loadPreset(const QDomElement &element)
Definition Track.cpp:266
virtual void loadTrackSpecificSettings(const QDomElement &element)=0
int numOfClips()
Return the number of clips we contain.
Definition Track.h:154
virtual void saveTrackSpecificSettings(QDomDocument &doc, QDomElement &parent, bool presetMode)=0
int getHeight()
Definition Track.h:233
void unlock()
Definition Track.h:248
QString displayName() const override
Definition Track.h:226
void lock()
Definition Track.h:244
void setHeight(int height)
Definition Track.h:239
clipVector m_clips
Definition Track.h:319
virtual bool play(const TimePos &start, const f_cnt_t frames, const f_cnt_t frameBase, int clipNum=-1)=0
void deleteClips()
Remove all Clips from this track.
Definition Track.cpp:313
void clipAdded(lmms::Clip *)
std::vector< Clip * > clipVector
Definition Track.h:72
QString m_name
Definition Track.h:309
Type m_type
Definition Track.h:308
void loadSettings(const QDomElement &element) override
Definition Track.cpp:277
void setMutedBeforeSolo(const bool muted)
Definition Track.h:270
auto color() const -> const std::optional< QColor > &
Definition Track.h:257
Definition TrackContainerView.h:71
Definition TrackView.h:60
Definition AudioPortAudio.cpp:209
Definition RemotePluginBase.cpp:34
char const *const FILENAME_FILTER
Definition Track.h:62
std::int32_t bar_t
Definition LmmsTypes.h:34
const int MINIMAL_TRACK_HEIGHT
The minimum track height in pixels.
Definition Track.h:59
const int DEFAULT_TRACK_HEIGHT
Definition Track.h:60
@ Count
Definition Sfxr.h:43
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43