|
|
@@ -241,6 +241,7 @@ public: |
|
|
|
: fPlugin(this, writeMidiCallback, requestParameterValueChangeCallback), |
|
|
|
fComponentHandler(nullptr), |
|
|
|
fParameterOffset(fPlugin.getParameterOffset()), |
|
|
|
fRealParameterCount(fParameterOffset + fPlugin.getParameterCount()), |
|
|
|
fParameterValues(nullptr) |
|
|
|
#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT |
|
|
|
, fHostEventOutputHandle(nullptr) |
|
|
@@ -1045,7 +1046,7 @@ public: |
|
|
|
|
|
|
|
int32_t getParameterCount() const noexcept |
|
|
|
{ |
|
|
|
return fPlugin.getParameterCount() + fParameterOffset; |
|
|
|
return fRealParameterCount; |
|
|
|
} |
|
|
|
|
|
|
|
v3_result getParameterInfo(const int32_t rindex, v3_param_info* const info) const noexcept |
|
|
@@ -1113,7 +1114,7 @@ public: |
|
|
|
|
|
|
|
v3_result getParameterStringForValue(const v3_param_id rindex, const double normalised, v3_str_128 output) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, V3_INVALID_ARG); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, V3_INVALID_ARG); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
|
if (rindex == 0) |
|
|
@@ -1133,7 +1134,7 @@ public: |
|
|
|
|
|
|
|
v3_result getParameterValueForString(const v3_param_id rindex, int16_t*, double*) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, V3_INVALID_ARG); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, V3_INVALID_ARG); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
|
if (rindex == 0) |
|
|
@@ -1149,7 +1150,7 @@ public: |
|
|
|
|
|
|
|
double normalisedParameterToPlain(const v3_param_id rindex, const double normalised) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, 0.0); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, 0.0); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
|
if (rindex == 0) |
|
|
@@ -1162,7 +1163,7 @@ public: |
|
|
|
|
|
|
|
double plainParameterToNormalised(const v3_param_id rindex, const double plain) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, 0.0); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, 0.0); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
|
if (rindex == 0) |
|
|
@@ -1175,7 +1176,7 @@ public: |
|
|
|
|
|
|
|
double getParameterNormalized(const v3_param_id rindex) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, 0.0); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, 0.0); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
|
if (rindex == 0) |
|
|
@@ -1189,7 +1190,7 @@ public: |
|
|
|
|
|
|
|
v3_result setParameterNormalized(const v3_param_id rindex, const double value) |
|
|
|
{ |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fPlugin.getParameterCount() + fParameterOffset, rindex, V3_INVALID_ARG); |
|
|
|
DISTRHO_SAFE_ASSERT_UINT_RETURN(rindex < fRealParameterCount, rindex, V3_INVALID_ARG); |
|
|
|
DISTRHO_SAFE_ASSERT_RETURN(value >= 0.0 && value <= 1.0, V3_INVALID_ARG); |
|
|
|
|
|
|
|
#if DISTRHO_PLUGIN_WANT_PROGRAMS |
|
|
@@ -1239,6 +1240,7 @@ private: |
|
|
|
|
|
|
|
// Temporary data |
|
|
|
const uint32_t fParameterOffset; |
|
|
|
const uint32_t fRealParameterCount; // regular parameters + current program |
|
|
|
float* fParameterValues; |
|
|
|
#if DISTRHO_PLUGIN_WANT_MIDI_INPUT |
|
|
|
MidiEvent fMidiEvents[kMaxMidiEvents]; |
|
|
|