Deluge Firmware 1.3.0
Build date: 2025.08.10
Loading...
Searching...
No Matches
deluge::gui::menu_item::FileSelector Class Referencefinal
Inheritance diagram for deluge::gui::menu_item::FileSelector:
Collaboration diagram for deluge::gui::menu_item::FileSelector:

Public Member Functions

 FileSelector (l10n::String newName, uint8_t sourceId)
void beginSession (MenuItem *navigatedBackwardFrom) override
 Begin an editing session with this menu item.
bool isRelevant (ModControllableAudio *modControllable, int32_t whichThing) override
 Check if this MenuItem should show up in a containing deluge::gui::menu_item::Submenu.
MenuPermission checkPermissionToBeginSession (ModControllableAudio *modControllable, int32_t whichThing, MultiRange **currentRange) override
bool allowToBeginSessionFromHorizontalMenu () override
 Allow entering menu session by selecting the menu item twice in Horizontal menu.
void renderInHorizontalMenu (int32_t startX, int32_t width, int32_t startY, int32_t height) override
void getColumnLabel (StringBuf &label) override
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
MenuItemoperator= (const MenuItem &other)=delete
MenuItemoperator= (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 void selectEncoderAction (int32_t offset)
 Handle select encoder movement.
virtual bool selectEncoderActionEditsInstrument ()
 Used by the sound editor to mark the current instrument as edited when the select encoder is scrolled.
virtual MenuItemselectButtonPress ()
 Handle a select button press.
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 endSession ()
 End an editing session with this menu item.
virtual void readValueAgain ()
 Re-read the value from the system and redraw the display to match.
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 MenuItempatchingSourceShortcutPress (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 void drawPixelsForOled ()
 Paints the pixels below the standard title block.
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 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 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 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 void getNotificationValue (StringBuf &valueBuf)
 Get the parameter value string to show in the popup.

Static Private Member Functions

static std::string getLastFolderFromPath (String &path)

Private Attributes

uint8_t sourceId_

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.
deluge::gui::menu_item::Submenuparent {nullptr}

Member Function Documentation

◆ allowToBeginSessionFromHorizontalMenu()

bool deluge::gui::menu_item::FileSelector::allowToBeginSessionFromHorizontalMenu ( )
inlinenodiscardoverridevirtual

Allow entering menu session by selecting the menu item twice in Horizontal menu.

false by default, but can be overridden

Reimplemented from MenuItem.

◆ beginSession()

void deluge::gui::menu_item::FileSelector::beginSession ( MenuItem * navigatedBackwardFrom)
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.

◆ getColumnLabel()

void deluge::gui::menu_item::FileSelector::getColumnLabel ( StringBuf & label)
overridevirtual

Reimplemented from MenuItem.

◆ isRelevant()

bool deluge::gui::menu_item::FileSelector::isRelevant ( ModControllableAudio * modControllable,
int32_t whichThing )
overridevirtual

Check if this MenuItem should show up in a containing deluge::gui::menu_item::Submenu.

Parameters
soundSound we would edit if we were to be entered.
whichThingSource index within the sound. Usually ignored, but matters for e.g. oscillator and FM modulator parameters.

Reimplemented from MenuItem.

◆ renderInHorizontalMenu()

void deluge::gui::menu_item::FileSelector::renderInHorizontalMenu ( int32_t startX,
int32_t width,
int32_t startY,
int32_t height )
overridevirtual

Reimplemented from MenuItem.


The documentation for this class was generated from the following files:
  • src/deluge/gui/menu_item/file_selector.h
  • src/deluge/gui/menu_item/file_selector.cpp