Deluge Firmware 1.3.0
Build date: 2025.06.05
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 ()
 
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)
 
- 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: