28class UnpatchedParam :
public Param,
public IntegerContinuous,
public MenuItemWithCCLearning {
30 UnpatchedParam(l10n::String newName, l10n::String
title, int32_t newP)
32 UnpatchedParam(l10n::String newName, l10n::String
title, int32_t newP, NumberStyle style)
34 UnpatchedParam(l10n::String newName, int32_t newP) : Param(newP),
IntegerContinuous(newName) {}
35 UnpatchedParam(l10n::String newName, int32_t newP, NumberStyle style)
40 void writeCurrentValue()
override;
42 [[nodiscard]] int32_t getMaxValue()
const override {
return Param::getMaxValue(); }
43 [[nodiscard]] int32_t getMinValue()
const override {
return Param::getMinValue(); }
48 ActionResult
buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine)
final {
49 return Param::buttonAction(b, on, inCardRoutine);
54 bool allowsLearnMode() final {
return MenuItemWithCCLearning::allowsLearnMode(); }
55 void learnKnob(
MIDICable* cable, int32_t whichKnob, int32_t modKnobMode, int32_t midiChannel)
final {
56 MenuItemWithCCLearning::learnKnob(cable, whichKnob, modKnobMode, midiChannel);
64 int32_t getParamValue() {
69 [[nodiscard]] NumberStyle getNumberStyle()
const override {
70 if (number_style_.has_value()) {
71 return number_style_.value();
73 return IntegerContinuous::getNumberStyle();
77 virtual int32_t getFinalValue();
80 std::optional<NumberStyle> number_style_{std::nullopt};