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; }
70 [[nodiscard]] int32_t getNavSysId()
const override;
73 bool renderMainPads(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
74 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth],
bool drawUndefinedArea =
true)
override;
75 bool renderSidebar(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
76 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth])
override;
80 void redrawNumericDisplay();
84 ActionResult buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine)
override;
87 ActionResult padAction(int32_t x, int32_t y, int32_t velocity)
override;
90 ActionResult horizontalEncoderAction(int32_t offset)
override;
93 ActionResult verticalEncoderAction(int32_t offset,
bool inCardRoutine)
override;
98 void modButtonAction(uint8_t whichButton,
bool on)
override;
112 bool defaultEditingMode;
114 bool justExitedSoundEditor;
124 uint32_t timeKeyboardShortcutPress;
131 void initPadPress(
PadPress& padPress);
134 void initDefaultFXValues(int32_t xDisplay);
139 void setCentralLEDStates();
147 int32_t paramID, int32_t xDisplay, int32_t knobPos,
bool renderDisplay =
true);
149 int32_t paramID, int32_t xDisplay,
bool renderDisplay =
true);
151 int32_t paramID, int32_t xDisplay, int32_t yDisplay,
bool renderDisplay =
true);
153 int32_t paramID, int32_t xDisplay,
bool renderDisplay =
true);
168 void readDefaultFXValuesFromFile();
169 void readDefaultFXParamAndRowValuesFromFile(int32_t xDisplay);
171 void readDefaultFXRowNumberValuesFromFile(int32_t xDisplay);
172 void readDefaultFXHoldStatusFromFile(int32_t xDisplay);
173 void initializeHeldFX(int32_t xDisplay);
174 bool successfullyReadDefaultsFromFile;
175 bool anyChangesToSave;
182 int32_t backupXMLDefaultFXValues[kDisplayWidth][kDisplayHeight];
189 int32_t defaultFXValues[kDisplayWidth][kDisplayHeight];
191 int32_t layoutVariant;
195 bool performanceLayoutBackedUp;
196 bool shouldRestorePreviousHoldPress(int32_t xDisplay);
204 bool sessionButtonActive =
false;
205 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