Deluge Firmware 1.3.0
Build date: 2025.08.09
Loading...
Searching...
No Matches
SoundEditor Class Referencefinal
Inheritance diagram for SoundEditor:
Collaboration diagram for SoundEditor:

Public Member Functions

bool opened () override
void focusRegained () override
void displayOrLanguageChanged () final
bool getGreyoutColsAndRows (uint32_t *cols, uint32_t *rows) override
ActionResult buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine) override
ActionResult padAction (int32_t x, int32_t y, int32_t velocity) override
ActionResult verticalEncoderAction (int32_t offset, bool inCardRoutine) override
void modEncoderAction (int32_t whichModEncoder, int32_t offset) override
void modEncoderButtonAction (uint8_t whichModEncoder, bool on) override
ActionResult horizontalEncoderAction (int32_t offset) override
void scrollFinished () override
bool editingKit ()
bool editingKitAffectEntire ()
bool editingKitRow ()
void setCurrentSource (int32_t sourceIndex)
ActionResult timerCallback () override
void setupShortcutBlink (int32_t x, int32_t y, int32_t frequency, int32_t colour=0L)
bool findPatchedParam (int32_t paramLookingFor, int32_t *xout, int32_t *yout, bool *isSecondLayerParamOut)
void updateSourceBlinks (MenuItem *currentItem)
void resetSourceBlinks ()
bool programChangeReceived (MIDICable &cable, uint8_t channel, uint8_t program)
bool midiCCReceived (MIDICable &cable, uint8_t channel, uint8_t ccNumber, uint8_t value)
bool pitchBendReceived (MIDICable &cable, uint8_t channel, uint8_t data1, uint8_t data2)
void selectEncoderAction (int8_t offset) override
bool canSeeViewUnderneath () override
bool setup (Clip *clip=nullptr, const MenuItem *item=nullptr, deluge::gui::menu_item::Submenu *parent=nullptr, int32_t sourceIndex=0)
void enterOrUpdateSoundEditor (bool on)
void blinkShortcut ()
ActionResult potentialShortcutPadAction (int32_t x, int32_t y, bool on)
bool editingReverbSidechain ()
MenuItemgetCurrentMenuItem ()
bool inSettingsMenu ()
bool exitUI () override
 returns whether a UI exited
void exitCompletely ()
void goUpOneLevel ()
void enterSubmenu (MenuItem *newItem)
bool pcReceivedForMidiLearn (MIDICable &cable, int32_t channel, int32_t program) override
bool noteOnReceivedForMidiLearn (MIDICable &cable, int32_t channel, int32_t note, int32_t velocity) override
void markInstrumentAsEdited ()
bool editingCVOrMIDIClip ()
bool editingNonAudioDrumRow ()
bool editingMidiDrumRow ()
bool editingGateDrumRow ()
bool isUntransposedNoteWithinRange (int32_t noteCode)
void setCurrentMultiRange (int32_t i)
void possibleChangeToCurrentRangeDisplay ()
MenuPermission checkPermissionToBeginSessionForRangeSpecificParam (Sound *sound, int32_t whichThing, ::MultiRange **previouslySelectedRange)
void setupExclusiveShortcutBlink (int32_t x, int32_t y)
void setShortcutsVersion (int32_t newVersion)
ModelStackWithThreeMainThingsgetCurrentModelStack (void *memory)
void cutSound ()
AudioFileHoldergetCurrentAudioFileHolder ()
void mpeZonesPotentiallyUpdated ()
void renderOLED (deluge::hid::display::oled_canvas::Canvas &canvas) override
UIType getUIType () override
 What type of UI is this? e.g. UIType::ARRANGER.
bool inNoteEditor ()
bool inNoteRowEditor ()
void toggleNoteEditorParamMenu (int32_t on)
void updatePadLightsFor (MenuItem *item)
std::optional< std::span< deluge::gui::menu_item::HorizontalMenu *const > > getCurrentHorizontalMenusChain ()
Public Member Functions inherited from UI
virtual void modButtonAction (uint8_t whichButton, bool on)
virtual void graphicsRoutine ()
virtual ClipMindertoClipMinder ()
virtual TimelineViewtoTimelineView ()
 Convert this view to a TimelineView.
virtual bool renderMainPads (uint32_t whichRows=0, RGB image[][kDisplayWidth+kSideBarWidth]=nullptr, uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth]=nullptr, bool drawUndefinedArea=true)
virtual bool renderSidebar (uint32_t whichRows=0, RGB image[][kDisplayWidth+kSideBarWidth]=nullptr, uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth]=nullptr)
void close ()
virtual UIgetUI ()
 When entering a UI (e.g. automationView), you may wish to open a different UI based on the current context (e.g. automationViewArranger, automationViewAudioClip, etc.)
virtual UIType getUIContextType ()
 What context does UI relate to? e.g. UIType could be AUTOMATION but UIContextType could be ARRANGER, AUDIO CLIP, INSTRUMENT CLIP.
virtual UIModControllableContext getUIModControllableContext ()
 What mod controllable context is this UI using? E.g. Automation View can use the Song ModControllable when in Arranger but the Clip ModControllable when in a Clip.

Public Attributes

SoundcurrentSound
bool allowsNoteTails
ModControllableAudiocurrentModControllable
int8_t currentSourceIndex
SourcecurrentSource
ParamManagerForTimelinecurrentParamManager
SideChaincurrentSidechain
ArpeggiatorSettingscurrentArpSettings
::MultiRangecurrentMultiRange
SampleControlscurrentSampleControls
VoicePriority * currentPriority
int16_t currentMultiRangeIndex
MIDICablecurrentMIDICable
deluge::gui::menu_item::RangeEdit editingRangeEdge
uint8_t navigationDepth
uint8_t patchingParamSelected
uint8_t currentParamShorcutX
uint8_t currentParamShorcutY
uint8_t currentParamColour
uint8_t paramShortcutBlinkFrequency
uint32_t shortcutBlinkCounter
uint32_t timeLastAttemptedAutomatedParamEdit
int8_t numberScrollAmount
uint32_t numberEditSize
int8_t numberEditPos
uint8_t shortcutsVersion
MenuItemmenuItemNavigationRecord [16]
bool shouldGoUpOneLevelOnBegin
bool secondLayerShortcutsToggled
bool secondLayerModSourceShortcutsToggled
bool setupKitGlobalFXMenu
bool selectedNoteRow
Public Attributes inherited from UI
bool oledShowsUIUnderneath

Private Member Functions

void setupShortcutsBlinkFromTable (MenuItem const *currentItem, MenuItem const *const items[kDisplayWidth][kDisplayHeight])
 Setup shortcut blinking by finding the given menu item in the provided item map.
bool beginScreen (MenuItem *oldMenuItem=nullptr)
void endScreen ()
 end current menu item session before beginning new menu item session or exiting the sound editor
uint8_t getActualParamFromScreen (uint8_t screen)
void setLedStates ()
ActionResult handleAutomationViewPadAction (int32_t x, int32_t y, int32_t velocity)
bool isEditingAutomationViewParam ()
void handlePotentialParamMenuChange (deluge::hid::Button b, bool on, bool inCardRoutine, MenuItem *previousItem, MenuItem *currentItem)

Private Attributes

uint8_t sourceShortcutBlinkFrequencies [2][kDisplayHeight]
uint8_t sourceShortcutBlinkColours [2][kDisplayHeight]

Additional Inherited Members

Protected Attributes inherited from UI
UIType uiType

Member Function Documentation

◆ buttonAction()

ActionResult SoundEditor::buttonAction ( deluge::hid::Button b,
bool on,
bool inCardRoutine )
overridevirtual

Reimplemented from UI.

◆ canSeeViewUnderneath()

bool SoundEditor::canSeeViewUnderneath ( )
inlineoverridevirtual

Reimplemented from UI.

◆ displayOrLanguageChanged()

void SoundEditor::displayOrLanguageChanged ( )
finalvirtual

Reimplemented from UI.

◆ exitUI()

bool SoundEditor::exitUI ( )
inlineoverridevirtual

returns whether a UI exited

Reimplemented from UI.

◆ focusRegained()

void SoundEditor::focusRegained ( )
overridevirtual

Reimplemented from UI.

◆ getGreyoutColsAndRows()

bool SoundEditor::getGreyoutColsAndRows ( uint32_t * cols,
uint32_t * rows )
overridevirtual

Reimplemented from UI.

◆ getUIType()

UIType SoundEditor::getUIType ( )
inlineoverridevirtual

What type of UI is this? e.g. UIType::ARRANGER.

Implements UI.

◆ handlePotentialParamMenuChange()

void SoundEditor::handlePotentialParamMenuChange ( deluge::hid::Button b,
bool on,
bool inCardRoutine,
MenuItem * previousItem,
MenuItem * currentItem )
private

check if menu we're in has changed (may not have changed if we were holding shift to delete automation) potentially enter and refresh automation view if entering a new param menu potentially exit automation view / switch to automation overview if exiting param menu

◆ horizontalEncoderAction()

ActionResult SoundEditor::horizontalEncoderAction ( int32_t offset)
overridevirtual

Reimplemented from UI.

◆ modEncoderAction()

void SoundEditor::modEncoderAction ( int32_t whichModEncoder,
int32_t offset )
overridevirtual

Reimplemented from UI.

◆ modEncoderButtonAction()

void SoundEditor::modEncoderButtonAction ( uint8_t whichModEncoder,
bool on )
overridevirtual

Reimplemented from UI.

◆ noteOnReceivedForMidiLearn()

bool SoundEditor::noteOnReceivedForMidiLearn ( MIDICable & cable,
int32_t channel,
int32_t note,
int32_t velocity )
overridevirtual

Reimplemented from UI.

◆ opened()

bool SoundEditor::opened ( )
overridevirtual

Reimplemented from UI.

◆ padAction()

ActionResult SoundEditor::padAction ( int32_t x,
int32_t y,
int32_t velocity )
overridevirtual

Reimplemented from UI.

◆ pcReceivedForMidiLearn()

bool SoundEditor::pcReceivedForMidiLearn ( MIDICable & cable,
int32_t channel,
int32_t program )
overridevirtual

Reimplemented from UI.

◆ renderOLED()

void SoundEditor::renderOLED ( deluge::hid::display::oled_canvas::Canvas & canvas)
overridevirtual

Implements UI.

◆ scrollFinished()

void SoundEditor::scrollFinished ( )
overridevirtual

Reimplemented from UI.

◆ selectEncoderAction()

void SoundEditor::selectEncoderAction ( int8_t offset)
overridevirtual

Reimplemented from UI.

◆ timerCallback()

ActionResult SoundEditor::timerCallback ( )
overridevirtual

Reimplemented from UI.

◆ verticalEncoderAction()

ActionResult SoundEditor::verticalEncoderAction ( int32_t offset,
bool inCardRoutine )
overridevirtual

Reimplemented from UI.


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