Add enum for state indexes, define "param" for mini variant

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2022-12-30 23:06:09 +00:00
parent 3d5cca6874
commit 73711f77a6
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0

View file

@ -52,17 +52,27 @@
# include "extra/SharedResourcePointer.hpp" # include "extra/SharedResourcePointer.hpp"
#endif #endif
static const constexpr uint kCardinalStateBaseCount = 3; // patch, screenshot, comment
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS) #if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
# include "extra/ScopedValueSetter.hpp" # include "extra/ScopedValueSetter.hpp"
# include "WindowParameters.hpp" # include "WindowParameters.hpp"
static const constexpr uint kCardinalStateCount = kCardinalStateBaseCount + 2; // moduleInfos, windowSize
#else #else
# define kWindowParameterCount 0 # define kWindowParameterCount 0
static const constexpr uint kCardinalStateCount = kCardinalStateBaseCount;
#endif #endif
enum CardinalStates {
kCardinalStatePatch,
kCardinalStateScreenshot,
kCardinalStateComment,
#if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
kCardinalStateModuleInfos,
kCardinalStateWindowSize,
#endif
#if CARDINAL_VARIANT_MINI
kCardinalStateParamChange,
#endif
kCardinalStateCount
};
extern const std::string CARDINAL_VERSION; extern const std::string CARDINAL_VERSION;
namespace rack { namespace rack {
@ -621,7 +631,7 @@ protected:
{ {
switch (index) switch (index)
{ {
case 0: case kCardinalStatePatch:
#if CARDINAL_VARIANT_MINI #if CARDINAL_VARIANT_MINI
state.hints = kStateIsHostWritable; state.hints = kStateIsHostWritable;
#else #else
@ -655,17 +665,18 @@ protected:
state.key = "patch"; state.key = "patch";
state.label = "Patch"; state.label = "Patch";
break; break;
case 1: case kCardinalStateScreenshot:
state.hints = kStateIsHostReadable | kStateIsBase64Blob; state.hints = kStateIsHostReadable | kStateIsBase64Blob;
state.key = "screenshot"; state.key = "screenshot";
state.label = "Screenshot"; state.label = "Screenshot";
break; break;
case 2: case kCardinalStateComment:
state.hints = kStateIsHostWritable; state.hints = kStateIsHostWritable;
state.key = "comment"; state.key = "comment";
state.label = "Comment"; state.label = "Comment";
break; break;
case 3: #if CARDINAL_VARIANT_MINI || !defined(HEADLESS)
case kCardinalStateModuleInfos:
state.hints = 0x0; state.hints = 0x0;
#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS #if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
state.hints |= kStateIsOnlyForDSP; state.hints |= kStateIsOnlyForDSP;
@ -674,12 +685,20 @@ protected:
state.key = "moduleInfos"; state.key = "moduleInfos";
state.label = "moduleInfos"; state.label = "moduleInfos";
break; break;
case 4: case kCardinalStateWindowSize:
state.hints = kStateIsOnlyForUI; state.hints = kStateIsOnlyForUI;
// state.defaultValue = String("%d:%d", DISTRHO_UI_DEFAULT_WIDTH, DISTRHO_UI_DEFAULT_HEIGHT); // state.defaultValue = String("%d:%d", DISTRHO_UI_DEFAULT_WIDTH, DISTRHO_UI_DEFAULT_HEIGHT);
state.key = "windowSize"; state.key = "windowSize";
state.label = "Window size"; state.label = "Window size";
break; break;
#endif
#if CARDINAL_VARIANT_MINI
case kCardinalStateParamChange:
state.hints = kStateIsHostReadable | kStateIsOnlyForDSP;
state.key = "param";
state.label = "ParamChange";
break;
#endif
} }
} }