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

Public Member Functions

bool usesAffectEntire () override
 Claim support for Kit AFFECT_ENTIRE editing.
 
void readCurrentValue () override
 Like readValueAgain, but does not redraw.
 
void writeCurrentValue () override
 
MenuItemselectButtonPress () override
 Handle a select button press.
 
uint8_t shouldDrawDotOnName () override
 Get the "draw dot state".
 
uint32_t getParamIndex () override
 
uint8_t getP () override
 
uint8_t shouldBlinkPatchingSourceShortcut (PatchSource s, uint8_t *colour) override
 
MenuItempatchingSourceShortcutPress (PatchSource s, bool previousPressStillActive=false) override
 Action to take when a source shortcut is pressed.
 
void drawValue () override
 
void unlearnAction () override
 Unlearn the parameter controlled by this menu.
 
bool allowsLearnMode () override
 Used by SoundEditor to determine if the current menu item can accept MIDI learning.
 
void learnKnob (MIDICable *cable, int32_t whichKnob, int32_t modKnobMode, int32_t midiChannel) override
 
int32_t getMinValue () const override
 
int32_t getMaxValue () const override
 
- Public Member Functions inherited from deluge::gui::menu_item::Integer
void selectEncoderAction (int32_t offset) override
 Handle select encoder movement.
 
- Public Member Functions inherited from deluge::gui::menu_item::Number
void drawBar (int32_t yTop, int32_t marginL, int32_t marginR=-1)
 
void renderInHorizontalMenu (int32_t startX, int32_t width, int32_t startY, int32_t height) override
 
- Public Member Functions inherited from deluge::gui::menu_item::Value< int32_t >
 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 ()
 
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
 
- 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 ActionResult timerCallback ()
 Handle a TimerName::UI_SPECIFIC event.
 
virtual MenuPermission checkPermissionToBeginSession (ModControllableAudio *modControllable, int32_t whichThing, MultiRange **currentRange)
 Double-check that this MenuItem will work with the currently selected sound range.
 
virtual uint8_t getIndexOfPatchedParamToBlink ()
 
virtual deluge::modulation::params::Kind getParamKind ()
 
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 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 void renderSubmenuItemTypeForOled (int32_t yPixel)
 
virtual bool isSubmenu ()
 
virtual void setupNumberEditor ()
 
virtual void updatePadLights ()
 
virtual void updateAutomationViewParameter ()
 
void renderColumnLabel (int32_t startX, int32_t width, int32_t startY)
 
- Public Member Functions inherited from deluge::gui::menu_item::PatchedParam
 PatchedParam (int32_t newP)
 
MenuItemselectButtonPress ()
 
ActionResult buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine)
 
void horizontalEncoderAction (int32_t offset)
 
ParamDescriptor getLearningThing () override
 
virtual deluge::modulation::params::Kind getParamKind ()
 
uint8_t shouldBlinkPatchingSourceShortcut (PatchSource s, uint8_t *colour)
 
MenuItempatchingSourceShortcutPress (PatchSource s, bool previousPressStillActive=false)
 
ModelStackWithAutoParamgetModelStack (void *memory) override
 
- Public Member Functions inherited from deluge::gui::menu_item::Param
 Param (int32_t newP=0)
 
MenuItemselectButtonPress ()
 
ActionResult buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine)
 
void horizontalEncoderAction (int32_t offset)
 
ModelStackWithAutoParamgetModelStackWithParam (void *memory) override
 
- Public Member Functions inherited from deluge::gui::menu_item::Automation
MenuItemselectButtonPress ()
 
ActionResult buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine)
 
virtual PatchSource getPatchSource ()
 
void selectAutomationViewParameter (bool clipMinder)
 
void handleAutomationViewParameterUpdate ()
 MenuItem::updateAutomationViewParameter forwards here when necessary.
 
- Public Member Functions inherited from MenuItemWithCCLearning
void unlearnAction ()
 
bool allowsLearnMode () const
 
void learnKnob (MIDICable *cable, int32_t whichKnob, int32_t modKnobMode, int32_t midiChannel)
 

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.
 
- Public Attributes inherited from deluge::gui::menu_item::Param
uint8_t p
 
- Protected Member Functions inherited from deluge::gui::menu_item::Integer
virtual int32_t getDisplayValue ()
 
virtual const char * getUnit ()
 
void drawPixelsForOled ()
 Paints the pixels below the standard title block.
 
virtual void drawInteger (int32_t textWidth, int32_t textHeight, int32_t yPixel)
 
- Protected Member Functions inherited from deluge::gui::menu_item::PatchedParam
ParamSetgetParamSet () override
 

Member Function Documentation

◆ allowsLearnMode()

bool deluge::gui::menu_item::MasterTranspose::allowsLearnMode ( )
inlineoverridevirtual

Used by SoundEditor to determine if the current menu item can accept MIDI learning.

Reimplemented from MenuItem.

◆ drawValue()

void deluge::gui::menu_item::MasterTranspose::drawValue ( )
inlineoverridevirtual

Reimplemented from deluge::gui::menu_item::Integer.

◆ getMaxValue()

int32_t deluge::gui::menu_item::MasterTranspose::getMaxValue ( ) const
inlinenodiscardoverridevirtual

◆ getMinValue()

int32_t deluge::gui::menu_item::MasterTranspose::getMinValue ( ) const
inlinenodiscardoverridevirtual

Reimplemented from deluge::gui::menu_item::Number.

◆ getP()

uint8_t deluge::gui::menu_item::MasterTranspose::getP ( )
inlineoverridevirtual

Reimplemented from deluge::gui::menu_item::Param.

◆ getParamIndex()

uint32_t deluge::gui::menu_item::MasterTranspose::getParamIndex ( )
inlineoverridevirtual
Returns
the parameter index (deluge::modulation::params) we edit if we're a patched param, otherwise 255.

Reimplemented from MenuItem.

◆ learnKnob()

void deluge::gui::menu_item::MasterTranspose::learnKnob ( MIDICable * cable,
int32_t whichKnob,
int32_t modKnobMode,
int32_t midiChannel )
inlineoverridevirtual

Learn a mod knob to the parameter edited by this menu.

Parameters
cableThe MIDI cable to learn from, or null if a mod knob is to be learned.

Reimplemented from MenuItem.

◆ patchingSourceShortcutPress()

MenuItem * deluge::gui::menu_item::MasterTranspose::patchingSourceShortcutPress ( PatchSource s,
bool previousPressStillActive = false )
inlineoverridevirtual

Action to take when a source shortcut is pressed.

Potentially reconfigures some SoundEditor state so patching will work.

Parameters
sThe source being pressed.
previousPressStillActiveTrue if there is another patch source press still active. Useful to set up cable strength modulation.
Returns
  • NO_NAVIGATION if the SoundEditor should ask the menu 1 layer up in the stack what to do
  • nullptr if nothing should happen
  • A valid MenuItem if we should switch to that menu item.

Reimplemented from MenuItem.

◆ readCurrentValue()

void deluge::gui::menu_item::MasterTranspose::readCurrentValue ( )
inlineoverridevirtual

Like readValueAgain, but does not redraw.

Reimplemented from MenuItem.

◆ selectButtonPress()

MenuItem * deluge::gui::menu_item::MasterTranspose::selectButtonPress ( )
inlineoverridevirtual

Handle a select button press.

Returns
  • NO_NAVIGATION if the SoundEditor should stay on the current menu.
  • nullptr if the SoundEditor should go up one level in the menu stack.
  • otherwise, enter the returned menu.

Reimplemented from MenuItem.

◆ shouldBlinkPatchingSourceShortcut()

uint8_t deluge::gui::menu_item::MasterTranspose::shouldBlinkPatchingSourceShortcut ( PatchSource s,
uint8_t * colour )
inlineoverridevirtual

Get the frequency at which this pad should blink the given source.

Parameters
colourOutput parameter for the colour to use when blinking.
Returns
Blink time period (higher means more delay between flashes), or 255 if we shouldn't blink.

Reimplemented from MenuItem.

◆ shouldDrawDotOnName()

uint8_t deluge::gui::menu_item::MasterTranspose::shouldDrawDotOnName ( )
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.
Warning
(sapphire): I didn't actually check LTR vs RTL, someone who actually has a 7seg should do that.

Reimplemented from MenuItem.

◆ unlearnAction()

void deluge::gui::menu_item::MasterTranspose::unlearnAction ( )
inlineoverridevirtual

Unlearn the parameter controlled by this menu.

Reimplemented from MenuItem.

◆ usesAffectEntire()

bool deluge::gui::menu_item::MasterTranspose::usesAffectEntire ( )
inlineoverridevirtual

Claim support for Kit AFFECT_ENTIRE editing.

Returns
true if this Menu can edit parameters across an entire kit if changed with AFFECT_ENTIRE held down.

Reimplemented from MenuItem.

◆ writeCurrentValue()

void deluge::gui::menu_item::MasterTranspose::writeCurrentValue ( )
inlineoverridevirtual

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