Deluge Firmware
1.3.0
Build date: 2026.08.23
Toggle main menu visibility
Loading...
Searching...
No Matches
param.h
1
/*
2
* Copyright © 2017-2023 Synthstrom Audible Limited
3
*
4
* This file is part of The Synthstrom Audible Deluge Firmware.
5
*
6
* The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7
* terms of the GNU General Public License as published by the Free Software Foundation,
8
* either version 3 of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
* See the GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along with this program.
15
* If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
#pragma once
19
20
#include "gui/menu_item/automation/automation.h"
21
#include "gui/menu_item/menu_item.h"
22
#include <cstdint>
23
24
class
SoundDrum
;
25
class
ParamSet
;
26
class
ModelStackWithAutoParam
;
27
28
namespace
deluge::gui::menu_item {
29
30
// Note that this does *not* inherit from MenuItem actually!
31
class
Param :
public
Automation
{
32
public
:
33
Param(int32_t newP = 0) : p(newP) {}
34
[[nodiscard]]
virtual
int32_t getMaxValue()
const
{
return
kMaxMenuValue; }
35
[[nodiscard]]
virtual
int32_t getMinValue()
const
{
return
kMinMenuValue; }
36
virtual
uint8_t getP() {
return
p; };
37
MenuItem
* selectButtonPress();
38
ActionResult buttonAction(deluge::hid::Button b,
bool
on,
bool
inCardRoutine);
39
virtual
ModelStackWithAutoParam
* getModelStack(
void
* memory) = 0;
40
void
horizontalEncoderAction(int32_t offset);
41
42
uint8_t p;
43
44
ModelStackWithAutoParam
* getModelStackWithParam(
void
* memory)
override
;
45
46
protected
:
47
virtual
ParamSet
* getParamSet() = 0;
48
};
49
}
// namespace deluge::gui::menu_item
MenuItem
Base class for all menu items.
Definition
menu_item.h:50
ModelStackWithAutoParam
Definition
model_stack.h:269
ParamSet
Definition
param_set.h:36
SoundDrum
Definition
sound_drum.h:28
deluge::gui::menu_item::Automation
Definition
automation.h:29