Deluge Firmware 1.3.0
Build date: 2025.04.16
Loading...
Searching...
No Matches
patch_cables.h
1#include "definitions_cxx.hpp"
2#include "gui/menu_item/menu_item.h"
3#include "util/containers.h"
4
5#pragma once
6
7namespace deluge::gui::menu_item {
8class PatchCables : public MenuItem {
9public:
10 using MenuItem::MenuItem;
11 void beginSession(MenuItem* navigatedBackwardFrom = nullptr) final;
12 void selectEncoderAction(int32_t offset) final;
13 void readValueAgain() final;
14 MenuItem* selectButtonPress() final;
15 uint8_t shouldBlinkPatchingSourceShortcut(PatchSource s, uint8_t* colour) final;
16
17 void drawPixelsForOled() final;
18 int scrollPos = 0; // Each instance needs to store this separately
19 void drawValue();
20
21 void renderOptions();
22 void blinkShortcuts();
23 void blinkShortcutsSoon();
24 ActionResult timerCallback() override;
25
26 int32_t savedVal = 0;
27 int32_t currentValue = 0;
28
29 deluge::vector<std::string_view> options;
30
31 PatchSource blinkSrc = PatchSource::NOT_AVAILABLE;
32 PatchSource blinkSrc2 = PatchSource::NOT_AVAILABLE;
33};
34
35} // namespace deluge::gui::menu_item
Definition patch_cables.h:8
ActionResult timerCallback() override
Handle a TimerName::UI_SPECIFIC event.
Definition patch_cables.cpp:150
MenuItem * selectButtonPress() final
Handle a select button press.
Definition patch_cables.cpp:194
void readValueAgain() final
Re-read the value from the system and redraw the display to match.
Definition patch_cables.cpp:30
void drawPixelsForOled() final
Paints the pixels below the standard title block.
Definition patch_cables.cpp:97
uint8_t shouldBlinkPatchingSourceShortcut(PatchSource s, uint8_t *colour) final
Definition patch_cables.cpp:183
void selectEncoderAction(int32_t offset) final
Handle select encoder movement.
Definition patch_cables.cpp:111
void beginSession(MenuItem *navigatedBackwardFrom=nullptr) final
Begin an editing session with this menu item.
Definition patch_cables.cpp:16