Deluge Firmware 1.3.0
Build date: 2025.08.14
Loading...
Searching...
No Matches
AutomationEditorLayoutModControllable Class Reference
Inheritance diagram for AutomationEditorLayoutModControllable:
Collaboration diagram for AutomationEditorLayoutModControllable:

Public Member Functions

void setAutomationKnobIndicatorLevels (ModelStackWithAutoParam *modelStack, int32_t knobPosLeft, int32_t knobPosRight)
bool toggleAutomationInterpolation ()
 toggle automation interpolation on / off
bool toggleAutomationPadSelectionMode (ModelStackWithAutoParam *modelStackWithParam, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
 toggle automation pad selection mode on / off
void automationEditPadAction (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t xDisplay, int32_t yDisplay, int32_t velocity, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
void renderAutomationEditor (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth], int32_t renderWidth, int32_t xScroll, uint32_t xZoom, int32_t effectiveLength, int32_t xDisplay, bool drawUndefinedArea, deluge::modulation::params::Kind kind, bool isBipolar)
void renderAutomationEditorDisplayOLED (deluge::hid::display::oled_canvas::Canvas &canvas, Clip *clip, OutputType outputType, int32_t knobPosLeft, int32_t knobPosRight)
void renderAutomationEditorDisplay7SEG (Clip *clip, OutputType outputType, int32_t knobPosLeft, bool modEncoderAction)
void renderAutomationDisplayForMultiPadPress (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t effectiveLength, int32_t xScroll, int32_t xZoom, int32_t xDisplay=kNoSelection, bool modEncoderAction=false)
bool automationModEncoderActionForSelectedPad (ModelStackWithAutoParam *modelStackWithParam, int32_t whichModEncoder, int32_t offset, int32_t effectiveLength)
void automationModEncoderActionForUnselectedPad (ModelStackWithAutoParam *modelStackWithParam, int32_t whichModEncoder, int32_t offset, int32_t effectiveLength)
void copyAutomation (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t xScroll, int32_t xZoom)
void pasteAutomation (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
int32_t getAutomationParameterKnobPos (ModelStackWithAutoParam *modelStack, uint32_t pos)

Private Member Functions

bool recordAutomationSinglePadPress (int32_t xDisplay, int32_t yDisplay)
void renderAutomationColumn (ModelStackWithAutoParam *modelStackWithParam, RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth], int32_t lengthToDisplay, int32_t xDisplay, bool isAutomated, int32_t xScroll, int32_t xZoom, deluge::modulation::params::Kind kind, bool isBipolar)
 render each square in each column of the automation editor grid
void renderAutomationBipolarSquare (RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth], int32_t xDisplay, int32_t yDisplay, bool isAutomated, deluge::modulation::params::Kind kind, int32_t knobPos)
 render column for bipolar params - e.g. pan, pitch, patch cable
void renderAutomationUnipolarSquare (RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth], int32_t xDisplay, int32_t yDisplay, bool isAutomated, int32_t knobPos)
 render column for unipolar params (e.g. not pan, pitch, or patch cables)
void getAutomationParameterName (Clip *clip, OutputType outputType, StringBuf &parameterName)
uint32_t getSquareWidth (int32_t square, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
uint32_t getMiddlePosFromSquare (int32_t xDisplay, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
bool getAutomationNodeInterpolation (ModelStackWithAutoParam *modelStack, int32_t pos, bool reversed)
void setAutomationParameterValue (ModelStackWithAutoParam *modelStack, int32_t knobPos, int32_t squareStart, int32_t xDisplay, int32_t effectiveLength, int32_t xScroll, int32_t xZoom, bool modEncoderAction=false)
void updateAutomationModPosition (ModelStackWithAutoParam *modelStack, uint32_t squareStart, bool updateDisplay=true, bool updateIndicatorLevels=true)
void handleAutomationSinglePadPress (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t xDisplay, int32_t yDisplay, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
void handleAutomationParameterChange (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, OutputType outputType, int32_t xDisplay, int32_t yDisplay, int32_t effectiveLength, int32_t xScroll, int32_t xZoom)
int32_t calculateAutomationKnobPosForPadPress (ModelStackWithAutoParam *modelStackWithParam, OutputType outputType, int32_t yDisplay)
int32_t calculateAutomationKnobPosForMiddlePadPress (deluge::modulation::params::Kind kind, int32_t yDisplay)
int32_t calculateAutomationKnobPosForSinglePadPress (deluge::modulation::params::Kind kind, int32_t yDisplay)
void handleAutomationMultiPadPress (ModelStackWithAutoParam *modelStackWithParam, Clip *clip, int32_t firstPadX, int32_t firstPadY, int32_t secondPadX, int32_t secondPadY, int32_t effectiveLength, int32_t xScroll, int32_t xZoom, bool modEncoderAction=false)
int32_t calculateAutomationKnobPosForModEncoderTurn (ModelStackWithAutoParam *modelStackWithParam, int32_t knobPos, int32_t offset)

Additional Inherited Members

Protected Member Functions inherited from AutomationEditorLayout
RootUIgetAutomationView ()
AutomationParamType & getAutomationParamType ()
bool & getOnArrangerView ()
int32_t & getNavSysId ()
void renderDisplay (int32_t knobPosLeft=kNoSelection, int32_t knobPosRight=kNoSelection, bool modEncoderAction=false)
void displayAutomation (bool padSelected=false, bool updateDisplay=true)
void renderUndefinedArea (int32_t xScroll, uint32_t xZoom, int32_t lengthToDisplay, RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth], int32_t imageWidth, TimelineView *timelineView, bool tripletsOnHere, int32_t xDisplay)
void initInterpolation ()
void resetInterpolationShortcutBlinking ()
void blinkInterpolationShortcut ()
bool & getInterpolation ()
bool & getInterpolationBefore ()
bool & getInterpolationAfter ()
bool & getPadSelectionOn ()
void initPadSelection ()
void blinkPadSelectionShortcut ()
int32_t getPosFromSquare (int32_t square, int32_t localScroll=-1) const
int32_t getPosFromSquare (int32_t square, int32_t xScroll, uint32_t xZoom) const
bool & getMultiPadPressActive ()
bool & getMultiPadPressSelected ()
bool & getMiddlePadPressSelected ()
int32_t & getLeftPadSelectedX ()
int32_t & getLeftPadSelectedY ()
int32_t & getRightPadSelectedX ()
int32_t & getRightPadSelectedY ()
int32_t & getLastPadSelectedKnobPos ()
CopiedParamAutomationgetCopiedParamAutomation ()
ModelStackWithAutoParamgetModelStackWithParamForClip (ModelStackWithTimelineCounter *modelStack, Clip *clip, int32_t paramID=deluge::modulation::params::kNoParamID, deluge::modulation::params::Kind paramKind=deluge::modulation::params::Kind::NONE)

The documentation for this class was generated from the following files:
  • src/deluge/gui/views/automation/editor_layout/mod_controllable.h
  • src/deluge/gui/views/automation/editor_layout/mod_controllable.cpp