![]() |
Deluge Firmware 1.3.0
Build date: 2025.08.10
|
Public Member Functions | |
DxParam (l10n::String newName) | |
void | beginSession (MenuItem *navigatedBackwardFrom) override |
Begin an editing session with this menu item. | |
void | drawPixelsForOled () override |
Paints the pixels below the standard title block. | |
void | flashParamName () |
void | readValueAgain () final |
Re-read the value from the system and redraw the display to match. | |
void | selectEncoderAction (int32_t offset) final |
Handle select encoder movement. | |
void | drawValue () |
void | horizontalEncoderAction (int32_t offset) override |
Handle horizontal encoder movement. | |
ActionResult | timerCallback () override |
Handle a TimerName::UI_SPECIFIC event. | |
std::string_view | getTitle () const override |
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). | |
bool | potentialShortcutPadAction (int32_t x, int32_t y, bool on) |
void | setValue (int val) |
int | getValue () |
void | openForOpOrGlobal (int op) |
void | blinkSideColumn () |
bool | hasSideColumn () |
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 | |
Public Member Functions inherited from 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 & | 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 | verticalEncoderAction (int32_t offset) |
Handle vertical encoder movement. | |
virtual bool | selectEncoderActionEditsInstrument () |
Used by the sound editor to mark the current instrument as edited when the select encoder is scrolled. | |
virtual MenuItem * | selectButtonPress () |
Handle a select button press. | |
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 | endSession () |
End an editing session with this menu item. | |
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 uint8_t | shouldDrawDotOnName () |
Get the "draw dot state". | |
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 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 void | renderSubmenuItemTypeForOled (int32_t yPixel) |
virtual bool | isSubmenu () |
virtual void | setupNumberEditor () |
virtual void | updatePadLights () |
virtual void | updateAutomationViewParameter () |
virtual void | getColumnLabel (StringBuf &label) |
virtual bool | showColumnLabel () const |
Show a label for the parameter in Horizontal menu. | |
virtual int32_t | getColumnSpan () const |
Get the number of occupied virtual columns in Horizontal menu. | |
virtual bool | showNotification () const |
Show a popup with the full name and value of the editing parameter at the top of Horizontal menu. | |
virtual bool | allowToBeginSessionFromHorizontalMenu () |
Allow entering menu session by selecting the menu item twice in Horizontal menu. | |
virtual void | getNotificationValue (StringBuf &valueBuf) |
Get the parameter value string to show in the popup. | |
virtual void | renderInHorizontalMenu (int32_t startX, int32_t width, int32_t startY, int32_t height) |
Public Attributes | |
int | param = 0 |
int | upper_limit = 0 |
int32_t | displayValue = 0 |
DxPatch * | patch |
int | flash_row = -1 |
bool | blink_next = false |
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. | |
deluge::gui::menu_item::Submenu * | parent {nullptr} |
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. |
|
overridevirtual |
Begin an editing session with this menu item.
Should make sure the menu's internal state matches the system and redraw the display.
Reimplemented from MenuItem.
|
overridevirtual |
Paints the pixels below the standard title block.
Reimplemented from MenuItem.
|
nodiscardoverridevirtual |
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).
If not overridden, defaults to returning title.
The returned pointer must live long enough for us to draw the title, which for practical purposes means "the lifetime of this menu item"
Reimplemented from MenuItem.
|
overridevirtual |
Handle horizontal encoder movement.
offset | must be either -1 or 1, jumping is not supported by many children. |
Reimplemented from MenuItem.
|
finalvirtual |
Re-read the value from the system and redraw the display to match.
Reimplemented from MenuItem.
|
finalvirtual |
Handle select encoder movement.
Child classes which override this should be careful to handle offsets larger than 1, as holding shift and scrolling will increase them.
Reimplemented from MenuItem.
|
overridevirtual |
Handle a TimerName::UI_SPECIFIC event.
Reimplemented from MenuItem.