Browse Source

Fix ParameterEnumerationValues backwards compat

Signed-off-by: falkTX <falktx@falktx.com>
pull/421/head
falkTX 2 years ago
parent
commit
ef960c26f3
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 9 additions and 7 deletions
  1. +9
    -7
      distrho/DistrhoDetails.hpp

+ 9
- 7
distrho/DistrhoDetails.hpp View File

@@ -500,7 +500,7 @@ struct ParameterEnumerationValue {
/** /**
Constructor using custom values, constexpr compatible variant. Constructor using custom values, constexpr compatible variant.
*/ */
ParameterEnumerationValue(float v, const std::string_view& l) noexcept
contexpr ParameterEnumerationValue(float v, const std::string_view& l) noexcept
: value(v), : value(v),
label(l) {} label(l) {}
#endif #endif
@@ -525,9 +525,10 @@ struct ParameterEnumerationValues {


/** /**
Array of @ParameterEnumerationValue items.@n Array of @ParameterEnumerationValue items.@n
This pointer must be null or have been allocated on the heap with `new ParameterEnumerationValue[count]`.
When assining this pointer manually, it must be allocated on the heap with `new ParameterEnumerationValue[count]`.@n
The array pointer will be automatically deleted later.
*/ */
const ParameterEnumerationValue* values;
ParameterEnumerationValue* values;


/** /**
Default constructor, for zero enumeration values. Default constructor, for zero enumeration values.
@@ -540,9 +541,10 @@ struct ParameterEnumerationValues {


/** /**
Constructor using custom values.@n Constructor using custom values.@n
The pointer to @values must have been allocated on the heap with `new`.
When using this constructor the pointer to @values MUST have been statically declared.@n
It will not be automatically deleted later.
*/ */
constexpr ParameterEnumerationValues(uint32_t c, bool r, const ParameterEnumerationValue* v) noexcept
constexpr ParameterEnumerationValues(uint32_t c, bool r, ParameterEnumerationValue* v) noexcept
: count(c), : count(c),
restrictedMode(r), restrictedMode(r),
values(v), values(v),
@@ -675,14 +677,14 @@ struct Parameter {
Assumes enumeration details should have `restrictedMode` on. Assumes enumeration details should have `restrictedMode` on.
*/ */
Parameter(uint32_t h, const char* n, const char* s, const char* u, float def, float min, float max, Parameter(uint32_t h, const char* n, const char* s, const char* u, float def, float min, float max,
uint8_t evcount, const ParameterEnumerationValue ev[]) noexcept
uint8_t evcount, ParameterEnumerationValue ev[]) noexcept
: hints(h), : hints(h),
name(n), name(n),
shortName(), shortName(),
symbol(s), symbol(s),
unit(u), unit(u),
ranges(def, min, max), ranges(def, min, max),
enumValues{ evcount, true, ev },
enumValues(evcount, true, ev),
designation(kParameterDesignationNull), designation(kParameterDesignationNull),
midiCC(0), midiCC(0),
groupId(kPortGroupNone) {} groupId(kPortGroupNone) {}


Loading…
Cancel
Save