|
LMMS
|
#include <AutomationClip.h>
Public Types | |
| enum class | ProgressionType { Discrete , Linear , CubicHermite } |
| using | timeMap = QMap<int, AutomationNode> |
| using | objectVector = std::vector<QPointer<AutomatableModel>> |
| using | TimemapIterator = timeMap::const_iterator |
Public Slots | |
| void | clear () |
| void | objectDestroyed (lmms::jo_id_t) |
| void | flipY (int min, int max) |
| void | flipY () |
| void | flipX (int start=-1, int end=-1) |
| Public Slots inherited from lmms::Clip | |
| void | toggleMute () |
| Mutes this Clip. | |
Public Member Functions | |
| AutomationClip (AutomationTrack *_auto_track) | |
| ~AutomationClip () override=default | |
| bool | addObject (AutomatableModel *_obj, bool _search_dup=true) |
| const AutomatableModel * | firstObject () const |
| const objectVector & | objects () const |
| ProgressionType | progressionType () const |
| void | setProgressionType (ProgressionType _new_progression_type) |
| float | getTension () const |
| void | setTension (QString _new_tension) |
| TimePos | timeMapLength () const |
| void | updateLength () override |
| TimePos | putValue (const TimePos &time, const float value, const bool quantPos=true, const bool ignoreSurroundingPoints=true) |
| Puts an automation node on the timeMap with the given value. The inValue and outValue of the created node will be the same. | |
| TimePos | putValues (const TimePos &time, const float inValue, const float outValue, const bool quantPos=true, const bool ignoreSurroundingPoints=true) |
| Puts an automation node on the timeMap with the given inValue and outValue. | |
| void | removeNode (const TimePos &time) |
| void | removeNodes (const int tick0, const int tick1) |
| Removes all automation nodes between the given ticks. | |
| void | resetNodes (const int tick0, const int tick1) |
| Resets the outValues of all automation nodes between the given ticks. | |
| void | resetTangents (const int tick0, const int tick1) |
| Resets the tangents from the nodes between the given ticks. | |
| void | recordValue (TimePos time, float value) |
| TimePos | setDragValue (const TimePos &time, const float value, const bool quantPos=true, const bool controlKey=false) |
| Set the position of the point that is being dragged. Calling this function will also automatically set m_dragging to true. When applyDragValue() is called, m_dragging is set back to false. | |
| void | applyDragValue () |
| After the point is dragged, this function is called to apply the change. | |
| bool | isDragging () const |
| const timeMap & | getTimeMap () const |
| timeMap & | getTimeMap () |
| float | getMin () const |
| float | getMax () const |
| bool | hasAutomation () const |
| bool | canEditTangents () const |
| float | valueAt (const TimePos &_time) const |
| float * | valuesAfter (const TimePos &_time) const |
| QString | name () const |
| void | saveSettings (QDomDocument &_doc, QDomElement &_parent) override |
| void | loadSettings (const QDomElement &_this) override |
| QString | nodeName () const override |
| gui::ClipView * | createView (gui::TrackView *_tv) override |
| bool | isRecording () const |
| void | setRecording (const bool b) |
| AutomationClip * | clone () override |
| void | clearObjects () |
| Public Member Functions inherited from lmms::Clip | |
| Clip (Track *track) | |
| Create a new Clip. | |
| ~Clip () override | |
| Destroy a Clip. | |
| Track * | getTrack () const |
| const QString & | name () const |
| void | setName (const QString &name) |
| QString | displayName () const override |
| const TimePos & | startPosition () const |
| TimePos | endPosition () const |
| const TimePos & | length () 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 |
| Model * | parentModel () 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) |
| SerializingObjectHook * | hook () |
Static Public Member Functions | |
| static bool | supportsTangentEditing (ProgressionType pType) |
| static const QString | classNodeName () |
| static bool | isAutomated (const AutomatableModel *_m) |
| static std::vector< AutomationClip * > | clipsForModel (const AutomatableModel *_m) |
| returns a list of all the automation clips that are connected to a specific model | |
| static AutomationClip * | globalAutomationClip (AutomatableModel *_m) |
| static void | resolveAllIDs () |
| static int | quantization () |
| static void | setQuantization (int q) |
| 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. | |
Protected Member Functions | |
| AutomationClip (const AutomationClip &_clip_to_copy) | |
| 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 | |
| void | cleanObjects () |
| void | generateTangents () |
| void | generateTangents (timeMap::iterator it, int numToGenerate) |
| float | valueAt (timeMap::const_iterator v, int offset) const |
Static Private Member Functions | |
| static std::vector< Track * > | combineAllTracks () |
| This function combines the song tracks, pattern store tracks, and the global automation track all in one vector. | |
Private Attributes | |
| QRecursiveMutex | m_clipMutex |
| AutomationTrack * | m_autoTrack |
| std::vector< jo_id_t > | m_idsToResolve |
| objectVector | m_objects |
| timeMap | m_timeMap |
| timeMap | m_oldTimeMap |
| float | m_tension |
| bool | m_hasAutomation |
| ProgressionType | m_progressionType |
| bool | m_dragging |
| bool | m_dragKeepOutValue |
| float | m_dragOutValue |
| bool | m_dragLockedTan |
| float | m_dragInTan |
| float | m_dragOutTan |
| bool | m_isRecording |
| float | m_lastRecordedValue |
Static Private Attributes | |
| static int | s_quantization = 1 |
| static const float | DEFAULT_MIN_VALUE = 0 |
| static const float | DEFAULT_MAX_VALUE = 1 |
Friends | |
| class | gui::AutomationClipView |
| class | AutomationNode |
| class | gui::AutomationEditor |
Additional Inherited Members | |
| Signals inherited from lmms::Clip | |
| void | lengthChanged () |
| void | positionChanged () |
| void | destroyedClip () |
| void | colorChanged () |
| Signals inherited from lmms::Model | |
| void | dataChanged () |
| void | dataUnchanged () |
| void | propertiesChanged () |
| using lmms::AutomationClip::objectVector = std::vector<QPointer<AutomatableModel>> |
| using lmms::AutomationClip::timeMap = QMap<int, AutomationNode> |
| using lmms::AutomationClip::TimemapIterator = timeMap::const_iterator |
|
strong |
| lmms::AutomationClip::AutomationClip | ( | AutomationTrack * | _auto_track | ) |
|
overridedefault |
|
protected |
| bool lmms::AutomationClip::addObject | ( | AutomatableModel * | _obj, |
| bool | _search_dup = true ) |
| void lmms::AutomationClip::applyDragValue | ( | ) |
After the point is dragged, this function is called to apply the change.
|
inline |
|
inlinestatic |
|
private |
|
slot |
|
inline |
|
static |
returns a list of all the automation clips that are connected to a specific model
| _m | the model we want to look for |
|
inlineoverridevirtual |
|
staticprivate |
This function combines the song tracks, pattern store tracks, and the global automation track all in one vector.
|
overridevirtual |
Implements lmms::Clip.
| const AutomatableModel * lmms::AutomationClip::firstObject | ( | ) | const |
|
slot |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
inline |
|
static |
|
inline |
|
inline |
Implements lmms::SerializingObject.
| QString lmms::AutomationClip::name | ( | ) | const |
|
inlineoverridevirtual |
Implements lmms::SerializingObject.
|
slot |
| const AutomationClip::objectVector & lmms::AutomationClip::objects | ( | ) | const |
|
inline |
| TimePos lmms::AutomationClip::putValue | ( | const TimePos & | time, |
| const float | value, | ||
| const bool | quantPos = true, | ||
| const bool | ignoreSurroundingPoints = true ) |
Puts an automation node on the timeMap with the given value. The inValue and outValue of the created node will be the same.
| TimePos | time to add the node to |
| Float | inValue and outValue of the node |
| Boolean | True to quantize the position (defaults to true) |
| Boolean | True to ignore unquantized surrounding nodes (defaults to true) |
| TimePos lmms::AutomationClip::putValues | ( | const TimePos & | time, |
| const float | inValue, | ||
| const float | outValue, | ||
| const bool | quantPos = true, | ||
| const bool | ignoreSurroundingPoints = true ) |
Puts an automation node on the timeMap with the given inValue and outValue.
| TimePos | time to add the node to |
| Float | inValue of the node |
| Float | outValue of the node |
| Boolean | True to quantize the position (defaults to true) |
| Boolean | True to ignore unquantized surrounding nodes (defaults to true) |
|
inlinestatic |
Removes all automation nodes between the given ticks.
| Int | first tick of the range |
| Int | second tick of the range |
Resets the outValues of all automation nodes between the given ticks.
| Int | first tick of the range |
| Int | second tick of the range |
Resets the tangents from the nodes between the given ticks.
| Int | first tick of the range |
| Int | second tick of the range |
|
static |
|
overridevirtual |
Implements lmms::SerializingObject.
| TimePos lmms::AutomationClip::setDragValue | ( | const TimePos & | time, |
| const float | value, | ||
| const bool | quantPos = true, | ||
| const bool | controlKey = false ) |
Set the position of the point that is being dragged. Calling this function will also automatically set m_dragging to true. When applyDragValue() is called, m_dragging is set back to false.
| TimePos | of the node being dragged |
| Float | with the value to assign to the point being dragged |
| Boolean. | True to snip x position |
| Boolean. | True to ignore unquantized surrounding nodes |
| void lmms::AutomationClip::setProgressionType | ( | ProgressionType | _new_progression_type | ) |
| void lmms::AutomationClip::setTension | ( | QString | _new_tension | ) |
|
inlinestatic |
| TimePos lmms::AutomationClip::timeMapLength | ( | ) | const |
|
overridevirtual |
Reimplemented from lmms::Clip.
|
private |
|
friend |
|
friend |
|
friend |
|
staticprivate |
|
staticprivate |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |