Deluge Firmware 1.3.0
Build date: 2026.11.08
Loading...
Searching...
No Matches
deluge::gui::ui::keyboard::KeyboardLayout Class Referenceabstract
Inheritance diagram for deluge::gui::ui::keyboard::KeyboardLayout:
Collaboration diagram for deluge::gui::ui::keyboard::KeyboardLayout:

Public Member Functions

virtual void evaluatePads (PressedPad presses[kMaxNumKeyboardPadPresses])=0
 Handle input pad presses.
virtual void handleVerticalEncoder (int32_t offset)=0
 Shift state not supplied since that function is already taken.
virtual void handleHorizontalEncoder (int32_t offset, bool shiftEnabled, PressedPad presses[kMaxNumKeyboardPadPresses], bool encoderPressed=false)=0
 Will be called with offset 0 to recalculate bounds on clip changes.
virtual void precalculate ()=0
 This function is called on visibility change and if colour offset changes.
virtual void renderPads (RGB image[][kDisplayWidth+kSideBarWidth])
 Handle output.
virtual void renderSidebarPads (RGB image[][kDisplayWidth+kSideBarWidth])
virtual l10n::String name ()=0
virtual bool supportsInstrument ()
 This currently includes Synth, MIDI and CV.
virtual bool supportsKit ()
virtual RequiredScaleMode requiredScaleMode ()
virtual bool supportsScale (Scale scale)
virtual NotesState & getNotesState ()
virtual void checkNewInstrument (Instrument *newInstrument)

Public Attributes

uint8_t velocity = 64

Protected Member Functions

bool isKit ()
int16_t getRootNote ()
 Song root note can be in any octave, layouts get the normalized one.
bool getScaleModeEnabled ()
uint8_t getScaleNoteCount ()
NoteSet & getScaleNotes ()
uint8_t getDefaultVelocity ()
int32_t getLowestClipNote ()
int32_t getHighestClipNote ()
RGB getNoteColour (uint8_t note)
NoteHighlightIntensity & getHighlightedNotes ()
NoteHighlightIntensity & getNornsNotes ()
KeyboardState & getState ()

Protected Attributes

NotesState currentNotesState

Member Function Documentation

◆ evaluatePads()

◆ handleHorizontalEncoder()

◆ handleVerticalEncoder()

◆ precalculate()

◆ renderPads()

◆ supportsInstrument()

◆ supportsScale()

virtual bool deluge::gui::ui::keyboard::KeyboardLayout::supportsScale ( Scale scale)
inlinevirtual

Whether this layout can operate with the given scale. Layouts that only support certain scales (e.g. the chord keyboard) override this so the scale-mode sidebar can avoid selecting a scale the layout can't handle.

Reimplemented in deluge::gui::ui::keyboard::layout::KeyboardLayoutChord.


The documentation for this class was generated from the following file: