Browse Source

Save and restore sassy scope state

Signed-off-by: falkTX <falktx@falktx.com>
tags/22.06
falkTX 3 years ago
parent
commit
fc1fb75123
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 124 additions and 0 deletions
  1. +124
    -0
      plugins/Cardinal/src/SassyScope.cpp

+ 124
- 0
plugins/Cardinal/src/SassyScope.cpp View File

@@ -94,6 +94,130 @@ struct SassyScopeModule : Module {
{
scope.realloc(e.sampleRate);
}

json_t* dataToJson() override
{
json_t* const rootJ = json_object();
DISTRHO_SAFE_ASSERT_RETURN(rootJ != nullptr, nullptr);

json_object_set_new(rootJ, "mTimeScale", json_real(scope.mTimeScale));
json_object_set_new(rootJ, "mTimeScaleSlider", json_integer(scope.mTimeScaleSlider));
json_object_set_new(rootJ, "mSyncMode", json_integer(scope.mSyncMode));
json_object_set_new(rootJ, "mSyncChannel", json_integer(scope.mSyncChannel));
json_object_set_new(rootJ, "mMode", json_integer(scope.mMode));
json_object_set_new(rootJ, "mDisplay", json_integer(scope.mDisplay));
json_object_set_new(rootJ, "mFFTZoom", json_integer(scope.mFFTZoom));
json_object_set_new(rootJ, "mPot", json_integer(scope.mPot));
json_object_set_new(rootJ, "fft.average", json_integer(scope.fft.average));

json_object_set_new(rootJ, "mCh0.mEnabled", json_boolean(scope.mCh[0].mEnabled));
json_object_set_new(rootJ, "mCh0.mScale", json_real(scope.mCh[0].mScale));
json_object_set_new(rootJ, "mCh0.mScaleSlider", json_integer(scope.mCh[0].mScaleSlider));
json_object_set_new(rootJ, "mCh0.mOffset", json_integer(scope.mCh[0].mOffset));

json_object_set_new(rootJ, "mCh1.mEnabled", json_boolean(scope.mCh[1].mEnabled));
json_object_set_new(rootJ, "mCh1.mScale", json_real(scope.mCh[1].mScale));
json_object_set_new(rootJ, "mCh1.mScaleSlider", json_integer(scope.mCh[1].mScaleSlider));
json_object_set_new(rootJ, "mCh1.mOffset", json_integer(scope.mCh[1].mOffset));

json_object_set_new(rootJ, "mCh2.mEnabled", json_boolean(scope.mCh[2].mEnabled));
json_object_set_new(rootJ, "mCh2.mScale", json_real(scope.mCh[2].mScale));
json_object_set_new(rootJ, "mCh2.mScaleSlider", json_integer(scope.mCh[2].mScaleSlider));
json_object_set_new(rootJ, "mCh2.mOffset", json_integer(scope.mCh[2].mOffset));

json_object_set_new(rootJ, "mCh3.mEnabled", json_boolean(scope.mCh[3].mEnabled));
json_object_set_new(rootJ, "mCh3.mScale", json_real(scope.mCh[3].mScale));
json_object_set_new(rootJ, "mCh3.mScaleSlider", json_integer(scope.mCh[3].mScaleSlider));
json_object_set_new(rootJ, "mCh3.mOffset", json_integer(scope.mCh[3].mOffset));

return rootJ;
}

void dataFromJson(json_t* const rootJ) override
{
if (json_t* const mTimeScaleJ = json_object_get(rootJ, "mTimeScale"))
scope.mTimeScale = json_real_value(mTimeScaleJ);

if (json_t* const mTimeScaleSliderJ = json_object_get(rootJ, "mTimeScaleSlider"))
scope.mTimeScaleSlider = json_integer_value(mTimeScaleSliderJ);

if (json_t* const mSyncModeJ = json_object_get(rootJ, "mSyncMode"))
scope.mSyncMode = json_integer_value(mSyncModeJ);

if (json_t* const mSyncChannelJ = json_object_get(rootJ, "mSyncChannel"))
scope.mSyncChannel = json_integer_value(mSyncChannelJ);

if (json_t* const mModeJ = json_object_get(rootJ, "mMode"))
scope.mMode = json_integer_value(mModeJ);

if (json_t* const mDisplayJ = json_object_get(rootJ, "mDisplay"))
scope.mDisplay = json_integer_value(mDisplayJ);

if (json_t* const mFFTZoomJ = json_object_get(rootJ, "mFFTZoom"))
scope.mFFTZoom = json_integer_value(mFFTZoomJ);

if (json_t* const mPotJ = json_object_get(rootJ, "mPot"))
scope.mPot = json_integer_value(mPotJ);

if (json_t* const fftAverageJ = json_object_get(rootJ, "fft.average"))
scope.fft.average = json_integer_value(fftAverageJ);

{
if (json_t* const mCh0mEnabledJ = json_object_get(rootJ, "mCh0.mEnabled"))
scope.mCh[0].mEnabled = json_boolean_value(mCh0mEnabledJ);

if (json_t* const mCh0mScaleJ = json_object_get(rootJ, "mCh0.mScale"))
scope.mCh[0].mScale = json_real_value(mCh0mScaleJ);

if (json_t* const mCh0mScaleSliderJ = json_object_get(rootJ, "mCh0.mScaleSlider"))
scope.mCh[0].mScaleSlider = json_integer_value(mCh0mScaleSliderJ);

if (json_t* const mCh0mOffsetJ = json_object_get(rootJ, "mCh0.mOffset"))
scope.mCh[0].mOffset = json_integer_value(mCh0mOffsetJ);
}

{
if (json_t* const mCh1mEnabledJ = json_object_get(rootJ, "mCh1.mEnabled"))
scope.mCh[1].mEnabled = json_boolean_value(mCh1mEnabledJ);

if (json_t* const mCh1mScaleJ = json_object_get(rootJ, "mCh1.mScale"))
scope.mCh[1].mScale = json_real_value(mCh1mScaleJ);

if (json_t* const mCh1mScaleSliderJ = json_object_get(rootJ, "mCh1.mScaleSlider"))
scope.mCh[1].mScaleSlider = json_integer_value(mCh1mScaleSliderJ);

if (json_t* const mCh1mOffsetJ = json_object_get(rootJ, "mCh1.mOffset"))
scope.mCh[1].mOffset = json_integer_value(mCh1mOffsetJ);
}

{
if (json_t* const mCh2mEnabledJ = json_object_get(rootJ, "mCh2.mEnabled"))
scope.mCh[2].mEnabled = json_boolean_value(mCh2mEnabledJ);

if (json_t* const mCh2mScaleJ = json_object_get(rootJ, "mCh2.mScale"))
scope.mCh[2].mScale = json_real_value(mCh2mScaleJ);

if (json_t* const mCh2mScaleSliderJ = json_object_get(rootJ, "mCh2.mScaleSlider"))
scope.mCh[2].mScaleSlider = json_integer_value(mCh2mScaleSliderJ);

if (json_t* const mCh2mOffsetJ = json_object_get(rootJ, "mCh2.mOffset"))
scope.mCh[2].mOffset = json_integer_value(mCh2mOffsetJ);
}

{
if (json_t* const mCh3mEnabledJ = json_object_get(rootJ, "mCh3.mEnabled"))
scope.mCh[3].mEnabled = json_boolean_value(mCh3mEnabledJ);

if (json_t* const mCh3mScaleJ = json_object_get(rootJ, "mCh3.mScale"))
scope.mCh[3].mScale = json_real_value(mCh3mScaleJ);

if (json_t* const mCh3mScaleSliderJ = json_object_get(rootJ, "mCh3.mScaleSlider"))
scope.mCh[3].mScaleSlider = json_integer_value(mCh3mScaleSliderJ);

if (json_t* const mCh3mOffsetJ = json_object_get(rootJ, "mCh3.mOffset"))
scope.mCh[3].mOffset = json_integer_value(mCh3mOffsetJ);
}
}
};

// used for module browser


Loading…
Cancel
Save