20#include "definitions_cxx.hpp"
21#include "gui/views/clip_navigation_timeline_view.h"
22#include "hid/button.h"
23#include "modulation/params/param.h"
24#include "storage/storage_manager.h"
42 int32_t previousKnobPosition;
43 int32_t currentKnobPosition;
45 uint32_t timeLastPadPress;
52 int32_t xDisplay = kNoSelection;
53 int32_t yDisplay = kNoSelection;
54 RGB rowColour = deluge::gui::colours::black;
55 RGB rowTailColour = deluge::gui::colours::black;
58class PerformanceView final :
public ClipNavigationTimelineView {
61 bool getGreyoutColsAndRows(uint32_t* cols, uint32_t* rows)
override;
62 bool opened()
override;
63 void focusRegained()
override;
65 void graphicsRoutine()
override;
66 ActionResult timerCallback()
override;
69 UIType
getUIType()
override {
return UIType::PERFORMANCE; }
72 [[nodiscard]] int32_t getNavSysId()
const override;
75 bool renderMainPads(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
76 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth],
bool drawUndefinedArea =
true)
override;
77 bool renderSidebar(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
78 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth])
override;
82 void redrawNumericDisplay();
86 ActionResult buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine)
override;
89 ActionResult padAction(int32_t x, int32_t y, int32_t velocity)
override;
92 ActionResult horizontalEncoderAction(int32_t offset)
override;
95 ActionResult verticalEncoderAction(int32_t offset,
bool inCardRoutine)
override;
100 void modButtonAction(uint8_t whichButton,
bool on)
override;
114 bool defaultEditingMode;
116 bool justExitedSoundEditor;
126 uint32_t timeKeyboardShortcutPress;
133 void initPadPress(
PadPress& padPress);
136 void initDefaultFXValues(int32_t xDisplay);
141 void setCentralLEDStates();
149 int32_t paramID, int32_t xDisplay, int32_t knobPos,
bool renderDisplay =
true);
151 int32_t paramID, int32_t xDisplay,
bool renderDisplay =
true);
153 int32_t paramID, int32_t xDisplay, int32_t yDisplay,
bool renderDisplay =
true);
155 int32_t paramID, int32_t xDisplay,
bool renderDisplay =
true);
170 void readDefaultFXValuesFromFile();
171 void readDefaultFXParamAndRowValuesFromFile(int32_t xDisplay);
173 void readDefaultFXRowNumberValuesFromFile(int32_t xDisplay);
174 void readDefaultFXHoldStatusFromFile(int32_t xDisplay);
175 void initializeHeldFX(int32_t xDisplay);
176 bool successfullyReadDefaultsFromFile;
177 bool anyChangesToSave;
184 int32_t backupXMLDefaultFXValues[kDisplayWidth][kDisplayHeight];
191 int32_t defaultFXValues[kDisplayWidth][kDisplayHeight];
193 int32_t layoutVariant;
197 bool performanceLayoutBackedUp;
198 bool shouldRestorePreviousHoldPress(int32_t xDisplay);
206 bool sessionButtonActive =
false;
207 bool sessionButtonUsed =
false;
Definition instrument_clip.h:48
Definition model_stack.h:269
Definition model_stack.h:231
Definition model_stack.h:123
This class represents the colour format most used by the Deluge globally.
Definition rgb.h:14
Definition storage_manager.h:119
uint8_t ParamType
Definition param.h:65
Kind
Definition param.h:42
Definition performance_view.h:41
Definition performance_view.h:33