|
lmms
Cross-platform music production software
|
#include <AutomationEditor.h>
Public Types | |
| enum class | EditMode { Draw , Erase , DrawOutValues , EditTangents } |
Public Slots | |
| void | update () |
| void | updateAfterClipChange () |
Signals | |
| void | currentClipChanged () |
Public Member Functions | |
| void | setCurrentClip (AutomationClip *new_clip) |
| void | setGhostMidiClip (MidiClip *newMidiClip) |
| void | setGhostSample (SampleClip *newSample) |
| const AutomationClip * | currentClip () const |
| bool | validClip () const |
| void | saveSettings (QDomDocument &doc, QDomElement &parent) override |
| void | loadSettings (const QDomElement &parent) override |
| QString | nodeName () const override |
| 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 () |
Protected Types | |
| using | timeMap = AutomationClip::timeMap |
Protected Slots | |
| void | play () |
| void | stop () |
| void | horScrolled (int new_pos) |
| void | verScrolled (int new_pos) |
| void | setEditMode (AutomationEditor::EditMode mode) |
| void | setEditMode (int mode) |
| void | setProgressionType (AutomationClip::ProgressionType type) |
| void | setProgressionType (int type) |
| Handles the AutomationEditorWindow event of changing progression types. | |
| void | setTension () |
| void | updatePosition () |
| void | zoomingXChanged () |
| void | zoomingYChanged () |
| void | updateYDelta () |
| void | setQuantization () |
| Updates the clip's quantization using the current user selected value. | |
| void | resetGhostNotes () |
Protected Member Functions | |
| void | keyPressEvent (QKeyEvent *ke) override |
| void | leaveEvent (QEvent *e) override |
| void | mousePressEvent (QMouseEvent *mouseEvent) override |
| void | mouseDoubleClickEvent (QMouseEvent *mouseEvent) override |
| void | mouseReleaseEvent (QMouseEvent *mouseEvent) override |
| void | mouseMoveEvent (QMouseEvent *mouseEvent) override |
| void | paintEvent (QPaintEvent *pe) override |
| void | resizeEvent (QResizeEvent *re) override |
| void | wheelEvent (QWheelEvent *we) override |
| float | getLevel (int y) |
| int | xCoordOfTick (int tick) |
| float | yCoordOfLevel (float level) |
| void | drawLevelTick (QPainter &p, int tick, float value) |
| timeMap::iterator | getNodeAt (int x, int y, bool outValue=false, int r=5) |
| Returns the automation node at a given mouse position, if any. | |
| timeMap::iterator | getClosestNode (int x) |
| Given a mouse X coordinate, returns a timeMap::iterator that points to the closest node. | |
| void | drawLine (int x0, float y0, int x1, float y1) |
| bool | fineTuneValue (timeMap::iterator node, bool editingOutValue) |
| Protected Member Functions inherited from lmms::JournallingObject | |
| void | changeID (jo_id_t _id) |
Properties | |
| QColor | barLineColor |
| QColor | beatLineColor |
| QColor | lineColor |
| QColor | nodeInValueColor |
| QColor | nodeOutValueColor |
| QColor | nodeTangentLineColor |
| QBrush | scaleColor |
| QBrush | graphColor |
| QColor | crossColor |
| QColor | backgroundShade |
| QColor | ghostNoteColor |
| QColor | detuningNoteColor |
| QColor | ghostSampleColor |
| QColor | outOfBoundsShade |
Private Types | |
| enum class | Action { None , MoveValue , EraseValues , MoveOutValue , ResetOutValues , DrawLine , MoveTangent , ResetTangents } |
Private Member Functions | |
| AutomationEditor () | |
| AutomationEditor (const AutomationEditor &) | |
| ~AutomationEditor () override | |
| void | centerTopBottomScroll () |
| void | updateTopBottomLevels () |
| void | adjustLeftRightScoll (int value) |
| void | drawCross (QPainter &p) |
| void | drawAutomationPoint (QPainter &p, timeMap::iterator it) |
| void | drawAutomationTangents (QPainter &p, timeMap::iterator it) |
| bool | inPatternEditor () |
Static Private Attributes | |
| static const int | SCROLLBAR_SIZE = 12 |
| static const int | TOP_MARGIN = 16 |
| static const int | DEFAULT_Y_DELTA = 6 |
| static const int | DEFAULT_STEPS_PER_BAR = 16 |
| static const int | DEFAULT_PPB = 12 * DEFAULT_STEPS_PER_BAR |
| static const int | VALUES_WIDTH = 64 |
| static const int | NOTE_HEIGHT = 10 |
| Height of individual notes. | |
| static const int | NOTE_MARGIN = 40 |
| Total border margin for notes. | |
| static const int | MIN_NOTE_RANGE = 20 |
| Min number of keys for fixed size. | |
| static const int | SAMPLE_MARGIN = 40 |
| static constexpr int | MAX_SAMPLE_HEIGHT = 400 |
| static const std::array< float, 7 > | m_zoomXLevels |
Friends | |
| class | AutomationEditorWindow |
|
protected |
|
strongprivate |
|
strong |
|
private |
|
private |
|
overrideprivate |
|
private |
|
private |
|
inline |
|
signal |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
Given a mouse X coordinate, returns a timeMap::iterator that points to the closest node.
| x | The X coordinate |
|
protected |
|
protected |
Returns the automation node at a given mouse position, if any.
Given a mouse coordinate, returns a timeMap::iterator that points to the first node inside a square of side "r" pixels from those coordinates.
| x | X coordinate |
| y | Y coordinate |
| outValue | True to check if the outValue of the node was clicked instead (defaults to false) |
| r | R distance in pixels |
|
protectedslot |
|
inlineprivate |
|
overrideprotected |
|
overrideprotected |
|
overridevirtual |
Implements lmms::SerializingObject.
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
inlineoverridevirtual |
Implements lmms::SerializingObject.
|
overrideprotected |
|
protectedslot |
|
inlineprotectedslot |
|
overrideprotected |
|
overridevirtual |
Implements lmms::SerializingObject.
| void lmms::gui::AutomationEditor::setCurrentClip | ( | AutomationClip * | new_clip | ) |
|
protectedslot |
|
protectedslot |
| void lmms::gui::AutomationEditor::setGhostMidiClip | ( | MidiClip * | newMidiClip | ) |
| void lmms::gui::AutomationEditor::setGhostSample | ( | SampleClip * | newSample | ) |
|
protectedslot |
|
protectedslot |
Handles the AutomationEditorWindow event of changing progression types.
After that, it calls updateEditTanButton so the edit tangents button is updated accordingly
| type | New progression type |
|
protectedslot |
Updates the clip's quantization using the current user selected value.
|
protectedslot |
|
protectedslot |
|
slot |
|
slot |
|
protectedslot |
|
private |
|
protectedslot |
|
inline |
|
protectedslot |
|
overrideprotected |
|
protected |
|
protected |
|
protectedslot |
|
protectedslot |
|
friend |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Whether the tangent being dragged is the InTangent or OutTangent.
|
private |
Time position (key) of automation node whose outValue is being dragged.
|
private |
The tick from the node whose tangent is being dragged.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticconstexprprivate |
|
staticprivate |
Min number of keys for fixed size.
|
staticprivate |
Height of individual notes.
|
staticprivate |
Total border margin for notes.
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
| QColor lmms::gui::AutomationEditor::backgroundShade |
| QColor lmms::gui::AutomationEditor::barLineColor |
| QColor lmms::gui::AutomationEditor::beatLineColor |
| QColor lmms::gui::AutomationEditor::crossColor |
| QColor lmms::gui::AutomationEditor::detuningNoteColor |
| QColor lmms::gui::AutomationEditor::ghostNoteColor |
| QColor lmms::gui::AutomationEditor::ghostSampleColor |
| QBrush lmms::gui::AutomationEditor::graphColor |
| QColor lmms::gui::AutomationEditor::lineColor |
| QColor lmms::gui::AutomationEditor::nodeInValueColor |
| QColor lmms::gui::AutomationEditor::nodeOutValueColor |
| QColor lmms::gui::AutomationEditor::nodeTangentLineColor |
| QColor lmms::gui::AutomationEditor::outOfBoundsShade |
| QBrush lmms::gui::AutomationEditor::scaleColor |