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

#include <MidiClip.h>

Inheritance diagram for lmms::MidiClip:
lmms::Clip lmms::Model lmms::JournallingObject lmms::SerializingObject

Public Types

enum class  Type { BeatClip , MelodyClip }

Public Slots

void addSteps ()
void cloneSteps ()
void removeSteps ()
void clear ()
Public Slots inherited from lmms::Clip
void toggleMute ()
 Mutes this Clip.

Signals

void destroyedMidiClip (lmms::MidiClip *)
void dataChanged ()
Signals inherited from lmms::Clip
void lengthChanged ()
void positionChanged ()
void destroyedClip ()
void colorChanged ()
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()

Public Member Functions

 MidiClip (InstrumentTrack *instrumentTrack)
 ~MidiClip () override
void init ()
void updateLength () override
NoteaddNote (const Note &_new_note, const bool _quant_pos=true)
NoteVector::const_iterator removeNote (NoteVector::const_iterator it)
NoteVector::const_iterator removeNote (Note *note)
NotenoteAtStep (int _step)
void rearrangeAllNotes ()
void clearNotes ()
const NoteVectornotes () const
NoteaddStepNote (int step)
void setStep (int step, bool enabled)
void reverseNotes (const NoteVector &notes)
 Horizontally flip the positions of the given notes.
void splitNotes (const NoteVector &notes, TimePos pos)
void splitNotesAlongLine (const NoteVector notes, TimePos pos1, int key1, TimePos pos2, int key2, bool deleteShortEnds)
Type type () const
MidiClippreviousMidiClip () const
MidiClipnextMidiClip () const
void exportToXML (QDomDocument &doc, QDomElement &midiClipElement, bool onlySelectedNotes=false)
void saveSettings (QDomDocument &_doc, QDomElement &_parent) override
void loadSettings (const QDomElement &_this) override
QString nodeName () const override
InstrumentTrackinstrumentTrack () const
bool empty ()
gui::ClipViewcreateView (gui::TrackView *_tv) override
MidiClipclone () override
Public Member Functions inherited from lmms::Clip
 Clip (Track *track)
 Create a new Clip.
 ~Clip () override
 Destroy a Clip.
TrackgetTrack () const
const QString & name () const
void setName (const QString &name)
QString displayName () const override
const TimePosstartPosition () const
TimePos endPosition () const
const TimePoslength () const
bool hasTrackContainer () const
bool isInPattern () const
bool manuallyResizable () const
void setAutoResize (const bool r)
 Set whether a clip has been resized yet by the user or the knife tool.
bool getAutoResize () const
auto color () const -> const std::optional< QColor > &
void setColor (const std::optional< QColor > &color)
virtual void movePosition (const TimePos &pos)
 Move this Clip's position in time.
virtual void changeLength (const TimePos &length)
 Change the length of this Clip.
void selectViewOnCreate (bool select)
bool getSelectViewOnCreate ()
TimePos startTimeOffset () const
void setStartTimeOffset (const TimePos &startTimeOffset)
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 ()

Protected Slots

void changeTimeSignature ()

Protected Member Functions

 MidiClip (const MidiClip &other)
void updatePatternTrack ()
Protected Member Functions inherited from lmms::Clip
 Clip (const Clip &other)
 Copy a Clip.
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Private Member Functions

TimePos beatClipLength () const
void setType (Type _new_clip_type)
void checkType ()
void resizeToFirstTrack ()
MidiClipadjacentMidiClipByOffset (int offset) const

Private Attributes

InstrumentTrackm_instrumentTrack
Type m_clipType
NoteVector m_notes
int m_steps

Friends

class gui::MidiClipView

Additional Inherited Members

Static Public Member Functions inherited from lmms::Clip
static bool comparePosition (const Clip *a, const Clip *b)
 Returns true if and only if a->startPosition() < b->startPosition().
static void copyStateTo (Clip *src, Clip *dst)
 Copies the state of a Clip to another Clip.

Member Enumeration Documentation

◆ Type

enum class lmms::MidiClip::Type
strong
Enumerator
BeatClip 
MelodyClip 

Constructor & Destructor Documentation

◆ MidiClip() [1/2]

lmms::MidiClip::MidiClip ( InstrumentTrack * instrumentTrack)

◆ ~MidiClip()

lmms::MidiClip::~MidiClip ( )
override

◆ MidiClip() [2/2]

lmms::MidiClip::MidiClip ( const MidiClip & other)
protected

Member Function Documentation

◆ addNote()

Note * lmms::MidiClip::addNote ( const Note & _new_note,
const bool _quant_pos = true )

◆ addStepNote()

Note * lmms::MidiClip::addStepNote ( int step)

◆ addSteps

void lmms::MidiClip::addSteps ( )
slot

◆ adjacentMidiClipByOffset()

MidiClip * lmms::MidiClip::adjacentMidiClipByOffset ( int offset) const
private

◆ beatClipLength()

TimePos lmms::MidiClip::beatClipLength ( ) const
private

◆ changeTimeSignature

void lmms::MidiClip::changeTimeSignature ( )
protectedslot

◆ checkType()

void lmms::MidiClip::checkType ( )
private

◆ clear

void lmms::MidiClip::clear ( )
slot

◆ clearNotes()

void lmms::MidiClip::clearNotes ( )

◆ clone()

MidiClip * lmms::MidiClip::clone ( )
inlineoverridevirtual

Creates a copy of this clip

Returns
pointer to the new clip object

Implements lmms::Clip.

◆ cloneSteps

void lmms::MidiClip::cloneSteps ( )
slot

◆ createView()

gui::ClipView * lmms::MidiClip::createView ( gui::TrackView * _tv)
overridevirtual

Implements lmms::Clip.

◆ dataChanged

◆ destroyedMidiClip

void lmms::MidiClip::destroyedMidiClip ( lmms::MidiClip * )
signal

◆ empty()

bool lmms::MidiClip::empty ( )

◆ exportToXML()

void lmms::MidiClip::exportToXML ( QDomDocument & doc,
QDomElement & midiClipElement,
bool onlySelectedNotes = false )

◆ init()

void lmms::MidiClip::init ( )

◆ instrumentTrack()

InstrumentTrack * lmms::MidiClip::instrumentTrack ( ) const
inline

◆ loadSettings()

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

◆ nextMidiClip()

MidiClip * lmms::MidiClip::nextMidiClip ( ) const

◆ nodeName()

QString lmms::MidiClip::nodeName ( void ) const
inlineoverridevirtual

◆ noteAtStep()

Note * lmms::MidiClip::noteAtStep ( int _step)

◆ notes()

const NoteVector & lmms::MidiClip::notes ( ) const
inline

◆ previousMidiClip()

MidiClip * lmms::MidiClip::previousMidiClip ( ) const

◆ rearrangeAllNotes()

void lmms::MidiClip::rearrangeAllNotes ( )

◆ removeNote() [1/2]

NoteVector::const_iterator lmms::MidiClip::removeNote ( Note * note)

◆ removeNote() [2/2]

NoteVector::const_iterator lmms::MidiClip::removeNote ( NoteVector::const_iterator it)

◆ removeSteps

void lmms::MidiClip::removeSteps ( )
slot

◆ resizeToFirstTrack()

void lmms::MidiClip::resizeToFirstTrack ( )
private

◆ reverseNotes()

void lmms::MidiClip::reverseNotes ( const NoteVector & notes)

Horizontally flip the positions of the given notes.

◆ saveSettings()

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

◆ setStep()

void lmms::MidiClip::setStep ( int step,
bool enabled )

◆ setType()

void lmms::MidiClip::setType ( Type _new_clip_type)
private

◆ splitNotes()

void lmms::MidiClip::splitNotes ( const NoteVector & notes,
TimePos pos )

◆ splitNotesAlongLine()

void lmms::MidiClip::splitNotesAlongLine ( const NoteVector notes,
TimePos pos1,
int key1,
TimePos pos2,
int key2,
bool deleteShortEnds )

◆ type()

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

◆ updateLength()

void lmms::MidiClip::updateLength ( )
overridevirtual

Reimplemented from lmms::Clip.

◆ updatePatternTrack()

void lmms::MidiClip::updatePatternTrack ( )
protected

◆ gui::MidiClipView

friend class gui::MidiClipView
friend

Member Data Documentation

◆ m_clipType

Type lmms::MidiClip::m_clipType
private

◆ m_instrumentTrack

InstrumentTrack* lmms::MidiClip::m_instrumentTrack
private

◆ m_notes

NoteVector lmms::MidiClip::m_notes
private

◆ m_steps

int lmms::MidiClip::m_steps
private

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