![]() |
Deluge Firmware 1.3.0
Build date: 2025.04.16
|
Public Types | |
enum class | OptType { FULL , SHORT } |
Public Member Functions | |
virtual deluge::vector< std::string_view > | getOptions (OptType optType=OptType::FULL)=0 |
void | drawValue () override |
void | drawPixelsForOled () override |
Paints the pixels below the standard title block. | |
size_t | size () override |
virtual bool | isToggle () |
void | displayToggleValue () |
void | renderSubmenuItemTypeForOled (int32_t yPixel) override |
void | toggleValue () |
MenuItem * | selectButtonPress () override |
Handle a select button press. | |
bool | getToggleValue () |
uint8_t | shouldDrawDotOnName () override |
Get the "draw dot state". | |
![]() | |
void | beginSession (MenuItem *navigatedBackwardFrom) override |
Begin an editing session with this menu item. | |
void | selectEncoderAction (int32_t offset) override |
Handle select encoder movement. | |
virtual bool | wrapAround () |
Should this menu wrap around? | |
void | renderInHorizontalMenu (int32_t startX, int32_t width, int32_t startY, int32_t height) override |
![]() | |
MenuItem () | |
MenuItem (deluge::l10n::String newName, deluge::l10n::String newTitle=deluge::l10n::String::EMPTY_STRING) | |
MenuItem (const MenuItem &other)=delete | |
MenuItem (const MenuItem &&other)=delete | |
void | beginSession (MenuItem *navigatedBackwardFrom) override |
Begin an editing session with this menu item. | |
void | selectEncoderAction (int32_t offset) override |
Handle select encoder movement. | |
void | readValueAgain () override |
Re-read the value from the system and redraw the display to match. | |
bool | selectEncoderActionEditsInstrument () final |
Used by the sound editor to mark the current instrument as edited when the select encoder is scrolled. | |
void | setValue (int32_t value) |
void | setValue (E value) |
int32_t | getValue () |
E | getValue () |
MenuItem () | |
MenuItem (deluge::l10n::String newName, deluge::l10n::String newTitle=deluge::l10n::String::EMPTY_STRING) | |
MenuItem (const MenuItem &other)=delete | |
MenuItem (const MenuItem &&other)=delete | |
![]() | |
MenuItem (deluge::l10n::String newName, deluge::l10n::String newTitle=deluge::l10n::String::EMPTY_STRING) | |
MenuItem (const MenuItem &other)=delete | |
MenuItem (const MenuItem &&other)=delete | |
MenuItem & | operator= (const MenuItem &other)=delete |
MenuItem & | operator= (const MenuItem &&other)=delete |
virtual ActionResult | buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine) |
Handle an arbitrary button. | |
virtual void | horizontalEncoderAction (int32_t offset) |
Handle horizontal encoder movement. | |
virtual void | verticalEncoderAction (int32_t offset) |
Handle vertical encoder movement. | |
virtual ActionResult | timerCallback () |
Handle a TimerName::UI_SPECIFIC event. | |
virtual bool | usesAffectEntire () |
Claim support for Kit AFFECT_ENTIRE editing. | |
virtual MenuPermission | checkPermissionToBeginSession (ModControllableAudio *modControllable, int32_t whichThing, MultiRange **currentRange) |
Double-check that this MenuItem will work with the currently selected sound range. | |
virtual void | readCurrentValue () |
Like readValueAgain, but does not redraw. | |
virtual uint8_t | getIndexOfPatchedParamToBlink () |
virtual deluge::modulation::params::Kind | getParamKind () |
virtual uint32_t | getParamIndex () |
virtual uint8_t | shouldBlinkPatchingSourceShortcut (PatchSource s, uint8_t *colour) |
virtual MenuItem * | patchingSourceShortcutPress (PatchSource s, bool previousPressStillActive=false) |
Action to take when a source shortcut is pressed. | |
virtual void | learnKnob (MIDICable *cable, int32_t whichKnob, int32_t modKnobMode, int32_t midiChannel) |
virtual bool | allowsLearnMode () |
Used by SoundEditor to determine if the current menu item can accept MIDI learning. | |
virtual bool | learnNoteOn (MIDICable &cable, int32_t channel, int32_t noteCode) |
Attempt to bind this menu item to a note code. | |
virtual void | learnProgramChange (MIDICable &cable, int32_t channel, int32_t programNumber) |
virtual void | learnCC (MIDICable &cable, int32_t channel, int32_t ccNumber, int32_t value) |
virtual bool | shouldBlinkLearnLed () |
virtual void | unlearnAction () |
Unlearn the parameter controlled by this menu. | |
virtual bool | isRangeDependent () |
Returns true if this parameter is only relevant to some note ranges. | |
virtual void | renderOLED () |
Root rendering routine for OLED. | |
virtual std::string_view | getTitle () const |
Get the title to be used when rendering on OLED, both as a deluge::gui::menu_item::Submenu and when displaying ourselves (using the default renderOLED implementation). | |
virtual void | drawName () |
Draw the name we want to use when selecting this in a deluge::gui::menu_item::Submenu to the 7SEG. | |
virtual std::string_view | getName () const |
Get the actual name for use on OLED for deluge::gui::menu_item::Submenu s. | |
virtual void | getColumnLabel (StringBuf &label) |
Get the name for use on horizontal menus. | |
virtual bool | isRelevant (ModControllableAudio *modControllable, int32_t whichThing) |
Check if this MenuItem should show up in a containing deluge::gui::menu_item::Submenu. | |
virtual bool | shouldEnterSubmenu () |
Check if selecting this menu item (with select encoder) should enter a submenu. | |
virtual int32_t | getSubmenuItemTypeRenderLength () |
Handle rendering of submenu item types. | |
virtual int32_t | getSubmenuItemTypeRenderIconStart () |
virtual bool | isSubmenu () |
virtual void | setupNumberEditor () |
virtual void | updatePadLights () |
virtual void | updateAutomationViewParameter () |
void | renderColumnLabel (int32_t startX, int32_t width, int32_t startY) |
Protected Member Functions | |
void | getShortOption (StringBuf &) override |
![]() | |
virtual void | writeCurrentValue () |
Additional Inherited Members | |
static void | drawItemsForOled (std::span< std::string_view > options, int32_t selectedOption, int32_t offset=0) |
Internal helper which can draw the standard deluge::gui::menu_item::Submenu layout. | |
deluge::l10n::String | title |
Can get overridden by getTitle(). Actual max num chars for OLED display is 14. | |
const deluge::l10n::String | name |
Default name for use on OLED for deluge::gui::menu_item::Submenu s. | |
|
overridevirtual |
Paints the pixels below the standard title block.
Implements deluge::gui::menu_item::Enumeration.
|
overridevirtual |
Reimplemented from deluge::gui::menu_item::Enumeration.
|
overrideprotectedvirtual |
Subclasses should implement this to provide a string suitable for using in a horizontal menu. Writes to a buffer instead of returning a value, since some subclasses (SyncLevel) must generate their option names. Default implementation renders the current value as number.
Reimplemented from deluge::gui::menu_item::Enumeration.
|
overridevirtual |
Reimplemented from MenuItem.
|
inlineoverridevirtual |
Handle a select button press.
NO_NAVIGATION
if the SoundEditor should stay on the current menu.nullptr
if the SoundEditor should go up one level in the menu stack.Reimplemented from MenuItem.
Reimplemented in deluge::gui::menu_item::mpe::ZoneSelector, and deluge::gui::menu_item::osc::Type.
|
inlineoverridevirtual |
Get the "draw dot state".
This is a bitfield representation of which segments on the 7seg should have their '.' lit up.
The upper 4 bits determine how the lower 4 are interpreted. If the upper 4 bits are...
0b0000
, the lower 4 bits are treated as an index describing which dot to light (where 0 is the leftmost 7seg).0b1000
, the lower 4 bits are a bitmask where the LSB is the leftmost 7seg and the MSB is the rightmost.Reimplemented from MenuItem.
|
inlineoverridevirtual |
Implements deluge::gui::menu_item::Enumeration.