![]() |
Deluge Firmware 1.3.0
Build date: 2025.12.12
|
Assorted utilities for manging the user interface. More...
#include <view.h>

Public Member Functions | |
| void | focusRegained () |
| ActionResult | buttonAction (deluge::hid::Button b, bool on, bool inCardRoutine) |
| void | setTimeBaseScaleLedState () |
| void | setLedStates () |
| void | clipStatusMidiLearnPadPressed (bool on, Clip *whichLoopable) |
| void | noteRowMuteMidiLearnPadPressed (bool on, NoteRow *whichNoteRow) |
| void | endMidiLearnPressSession (MidiLearn newThingPressed=MidiLearn::NONE) |
| void | noteOnReceivedForMidiLearn (MIDICable &cable, int32_t channel, int32_t note, int32_t velocity) |
| void | pcReceivedForMIDILearn (MIDICable &cable, int32_t channel, int32_t pc) |
| void | ccReceivedForMIDILearn (MIDICable &cable, int32_t channel, int32_t cc, int32_t value) |
| void | drumMidiLearnPadPressed (bool on, Drum *drum, Kit *kit) |
| void | instrumentMidiLearnPadPressed (bool on, Instrument *instrument) |
| void | sectionMidiLearnPadPressed (bool on, uint8_t section) |
| void | midiLearnFlash () |
| void | setModLedStates () |
| int32_t | getModKnobMode () |
| void | modEncoderAction (int32_t whichModEncoder, int32_t offset) |
| void | modEncoderButtonAction (uint8_t whichModEncoder, bool on) |
| void | modButtonAction (uint8_t whichButton, bool on) |
| void | setKnobIndicatorLevels () |
| void | setKnobIndicatorLevel (uint8_t whichModEncoder) |
| int32_t | convertPatchCableKnobPosToIndicatorLevel (int32_t knobPos) |
| void | setActiveModControllableTimelineCounter (TimelineCounter *playPositionCounter, bool shouldSendMidiFeedback=true) |
| void | setActiveModControllableWithoutTimelineCounter (ModControllable *modControllable, ParamManager *paramManager) |
| void | cycleThroughReverbPresets () |
| char const * | getReverbPresetDisplayName (int32_t preset) |
| int32_t | getCurrentReverbPreset () |
| void | setModRegion (uint32_t pos=0xFFFFFFFF, uint32_t length=0, int32_t noteRowId=0) |
| void | notifyParamAutomationOccurred (ParamManager *paramManager, bool updateModLevels=true) |
| void | displayAutomation () |
| void | displayOutputName (Output *output, bool doBlink=true, Clip *clip=nullptr) |
| void | instrumentChanged (ModelStackWithTimelineCounter *modelStack, Instrument *newInstrument) |
| void | navigateThroughPresetsForInstrumentClip (int32_t offset, ModelStackWithTimelineCounter *modelStack, bool doBlink=false) |
| void | navigateThroughAudioOutputsForAudioClip (int32_t offset, AudioClip *clip, bool doBlink=false) |
| bool | changeOutputType (OutputType newOutputType, ModelStackWithTimelineCounter *modelStack, bool doBlink=false) |
| void | drawOutputNameFromDetails (OutputType outputType, int32_t slot, int32_t subSlot, char const *name, bool isNameEmpty, bool editedByUser, bool doBlink, Clip *clip=nullptr) |
| void | startMIDILearn () |
| void | endMIDILearn () |
| RGB | getClipMuteSquareColour (Clip *clip, RGB thisColour, bool allowMIDIFlash=true) |
| ActionResult | clipStatusPadAction (Clip *clip, bool on, int32_t yDisplayIfInSessionView=-1) |
| void | flashPlayEnable () |
| void | flashPlayDisable () |
| void | flashPlayRoutine () |
| void | activateMacro (uint32_t y) |
| Clip * | findNextClipForOutput (Output *output) |
| bool | renderMacros (int32_t column, uint32_t y, int32_t selectedMacro, RGB image[][kDisplayWidth+kSideBarWidth], uint8_t occupancyMask[][kDisplayWidth+kSideBarWidth]) |
| int32_t | calculateKnobPosForDisplay (deluge::modulation::params::Kind kind, int32_t paramID, int32_t knobPos) |
| void | displayModEncoderValuePopup (deluge::modulation::params::Kind kind, int32_t paramID, int32_t newKnobPos, PatchSource source1=PatchSource::NONE, PatchSource source2=PatchSource::NONE) |
| void | potentiallyMakeItHarderToTurnKnob (int32_t whichModEncoder, ModelStackWithAutoParam *modelStackWithParam, int32_t newKnobPos) |
| void | sendMidiFollowFeedback (ModelStackWithAutoParam *modelStackWithParam=nullptr, int32_t knobPos=kNoSelection, bool isAutomation=false) |
| bool | potentiallyRenderVUMeter (RGB image[][kDisplayWidth+kSideBarWidth]) |
| void | getParameterNameFromModEncoder (int32_t whichModEncoder, char *parameterName) |
| bool | isClipContext () |
Public Attributes | |
| MidiLearn | thingPressedForMidiLearn = MidiLearn::NONE |
| bool | deleteMidiCommandOnRelease |
| bool | midiLearnFlashOn |
| bool | shouldSaveSettingsAfterMidiLearn |
| LearnedMIDI * | learnedThing |
| Instrument * | instrumentPressedForMIDILearn |
| Drum * | drumPressedForMIDILearn |
| Kit * | kitPressedForMIDILearn |
| ModelStackWithThreeMainThings | activeModControllableModelStack |
| uint8_t | dummy [MODEL_STACK_MAX_SIZE - sizeof(ModelStackWithThreeMainThings)] |
| bool | pendingParamAutomationUpdatesModLevels |
| bool | clipArmFlashOn |
| bool | blinkOn |
| uint32_t | timeSaveButtonPressed |
| int32_t | modNoteRowId |
| uint32_t | modPos |
| uint32_t | modLength |
| bool | displayVUMeter |
Private Member Functions | |
| void | pretendModKnobsUntouchedForAWhile () |
| void | instrumentBeenEdited () |
| void | clearMelodicInstrumentMonoExpressionIfPossible () |
| int32_t | getMaxYDisplayForVUMeter (float level) |
| void | renderVUMeter (int32_t maxYDisplay, int32_t xDisplay, RGB thisImage[][kDisplayWidth+kSideBarWidth]) |
| render AudioEngine::approxRMSLevel as a VU meter on the grid | |
| void | modEncoderAction_nonExistentParam (int32_t whichModEncoder, int32_t offset, ModelStackWithAutoParam *modelStackWithParam) |
| void | modEncoderAction_existentParam (int32_t whichModEncoder, int32_t offset, ModelStackWithAutoParam *modelStackWithParam, bool noteTailsAllowedBefore) |
| ModelStackWithAutoParam * | getModelStackWithParam (int32_t whichModEncoder, bool ¬eTailsAllowedBefore) |
| void | modEncoderButtonAction_deleteAutomation (uint8_t whichModEncoder) |
| void | modEncoderButtonAction_changeModControllable (uint8_t whichModEncoder, bool on) |
Private Attributes | |
| int32_t | cachedMaxYDisplayForVUMeterL |
| int32_t | cachedMaxYDisplayForVUMeterR |
| bool | renderedVUMeter |
Assorted utilities for manging the user interface.
| int32_t View::convertPatchCableKnobPosToIndicatorLevel | ( | int32_t | knobPos | ) |
if you're dealing with a patch cable which has a -128 to +128 range we'll need to convert it to a 0 - 128 range for purpose of rendering on knob indicators
| bool View::potentiallyRenderVUMeter | ( | RGB | image[][kDisplayWidth+kSideBarWidth] | ) |
if you've toggled showing the VU meter, and the mod encoders are controllable (e.g. affect entire on) and the current mod button selected is the volume/pan button render VU meter on the grid