20#include "gui/ui/keyboard/layout.h"
21#include "gui/ui/keyboard/layout/column_control_state.h"
23namespace deluge::gui::ui::keyboard::layout {
25using namespace deluge::gui::ui::keyboard::controls;
27constexpr int32_t kMinIsomorphicRowInterval = 1;
28constexpr int32_t kMaxIsomorphicRowInterval = 16;
29constexpr uint32_t kHalfStep = 0x7FFFFF;
46class ColumnControlsKeyboard :
public KeyboardLayout {
48 ColumnControlsKeyboard() =
default;
51 void enableNote(uint8_t note, uint8_t velocity);
63 bool encoderPressed =
false)
override;
65 bool verticalEncoderHandledByColumns(int32_t offset);
66 bool horizontalEncoderHandledByColumns(int32_t offset,
bool shiftEnabled);
68 ColumnControlFunction nextControlFunction(ColumnControlFunction cur, ColumnControlFunction skip);
69 ColumnControlFunction prevControlFunction(ColumnControlFunction cur, ColumnControlFunction skip);
70 ColumnControlFunction stepControlFunction(int32_t offset, ColumnControlFunction cur, ColumnControlFunction skip);
72 void renderSidebarPads(
RGB image[][kDisplayWidth + kSideBarWidth])
override;
74 void checkNewInstrument(
Instrument* newInstrument)
override;
76 void renderColumnBeatRepeat(
RGB image[][kDisplayWidth + kSideBarWidth], int32_t column);
78 int8_t leftColHeld = -1;
79 int8_t rightColHeld = -1;
83 virtual bool allowSidebarType(ColumnControlFunction sidebarType) {
return true; };
Definition instrument.h:45
This class represents the colour format most used by the Deluge globally.
Definition rgb.h:14
void handleVerticalEncoder(int32_t offset) override
Shift state not supplied since that function is already taken.
Definition column_controls.cpp:112
void handleHorizontalEncoder(int32_t offset, bool shiftEnabled, PressedPad presses[kMaxNumKeyboardPadPresses], bool encoderPressed=false) override
Will be called with offset 0 to recalculate bounds on clip changes.
Definition column_controls.cpp:128
void evaluatePads(PressedPad presses[kMaxNumKeyboardPadPresses]) override
Handle input pad presses.
Definition column_controls.cpp:66
Definition notes_state.h:31