commit 3d7cbde7d4d3522951962a6148bd609809fe7577 parent cf8b752cd6c4c80c77cbddaa0d316b66dbb9377c Author: Matt Demanett <matt@demanett.net> Date: Wed, 5 Aug 2020 04:08:19 -0400 Add hooks for json handling in the module baseclass. Diffstat:
63 files changed, 162 insertions(+), 177 deletions(-)
diff --git a/src/AD.cpp b/src/AD.cpp @@ -29,13 +29,12 @@ void AD::sampleRateChange() { } } -json_t* AD::dataToJson() { - json_t* root = json_object(); +json_t* AD::toJson(json_t* root) { json_object_set_new(root, INVERT, json_real(_invert)); return root; } -void AD::dataFromJson(json_t* root) { +void AD::fromJson(json_t* root) { json_t* i = json_object_get(root, INVERT); if (i) { _invert = json_real_value(i); diff --git a/src/AD.hpp b/src/AD.hpp @@ -76,8 +76,8 @@ struct AD : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void addChannel(int c) override; diff --git a/src/ADSR.cpp b/src/ADSR.cpp @@ -24,13 +24,12 @@ void ADSR::sampleRateChange() { } } -json_t* ADSR::dataToJson() { - json_t* root = json_object(); +json_t* ADSR::toJson(json_t* root) { json_object_set_new(root, INVERT, json_real(_invert)); return root; } -void ADSR::dataFromJson(json_t* root) { +void ADSR::fromJson(json_t* root) { json_t* i = json_object_get(root, INVERT); if (i) { _invert = json_real_value(i); diff --git a/src/ADSR.hpp b/src/ADSR.hpp @@ -67,8 +67,8 @@ struct ADSR : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void addChannel(int c) override; diff --git a/src/AMRM.cpp b/src/AMRM.cpp @@ -3,13 +3,12 @@ #define POLY_INPUT "poly_input" -json_t* AMRM::dataToJson() { - json_t* root = json_object(); +json_t* AMRM::toJson(json_t* root) { json_object_set_new(root, POLY_INPUT, json_integer(_polyInputID)); return root; } -void AMRM::dataFromJson(json_t* root) { +void AMRM::fromJson(json_t* root) { json_t* p = json_object_get(root, POLY_INPUT); if (p) { _polyInputID = json_integer_value(p); diff --git a/src/AMRM.hpp b/src/AMRM.hpp @@ -39,8 +39,8 @@ struct AMRM : BGModule { configParam(DRYWET_PARAM, 0.0f, 1.0f, 1.0f, "Wet mix", "%", 0.0f, 100.0f); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void processChannel(const ProcessArgs& args, int c) override; diff --git a/src/ASR.cpp b/src/ASR.cpp @@ -29,13 +29,12 @@ void ASR::sampleRateChange() { } } -json_t* ASR::dataToJson() { - json_t* root = json_object(); +json_t* ASR::toJson(json_t* root) { json_object_set_new(root, INVERT, json_real(_invert)); return root; } -void ASR::dataFromJson(json_t* root) { +void ASR::fromJson(json_t* root) { json_t* i = json_object_get(root, INVERT); if (i) { _invert = json_real_value(i); diff --git a/src/ASR.hpp b/src/ASR.hpp @@ -71,8 +71,8 @@ struct ASR : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void addChannel(int c) override; diff --git a/src/Analyzer.cpp b/src/Analyzer.cpp @@ -11,13 +11,12 @@ void Analyzer::sampleRateChange() { _core.resetChannels(); } -json_t* Analyzer::dataToJson() { - json_t* root = json_object(); +json_t* Analyzer::toJson(json_t* root) { json_object_set_new(root, RANGE_DB_KEY, json_real(_rangeDb)); return root; } -void Analyzer::dataFromJson(json_t* root) { +void Analyzer::fromJson(json_t* root) { json_t* jrd = json_object_get(root, RANGE_DB_KEY); if (jrd) { _rangeDb = clamp(json_real_value(jrd), 80.0f, 140.0f); diff --git a/src/Analyzer.hpp b/src/Analyzer.hpp @@ -57,8 +57,8 @@ struct Analyzer : AnalyzerBase { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; void processChannel(const ProcessArgs& args, int _c) override; }; diff --git a/src/AnalyzerXL.cpp b/src/AnalyzerXL.cpp @@ -23,8 +23,7 @@ void AnalyzerXL::sampleRateChange() { _core.resetChannels(); } -json_t* AnalyzerXL::dataToJson() { - json_t* root = json_object(); +json_t* AnalyzerXL::toJson(json_t* root) { json_object_set_new(root, RANGE_KEY, json_real(_range)); json_object_set_new(root, RANGE_DB_KEY, json_real(_rangeDb)); json_object_set_new(root, SMOOTH_KEY, json_real(_smooth)); @@ -59,7 +58,7 @@ json_t* AnalyzerXL::dataToJson() { return root; } -void AnalyzerXL::dataFromJson(json_t* root) { +void AnalyzerXL::fromJson(json_t* root) { json_t* jr = json_object_get(root, RANGE_KEY); if (jr) { _range = clamp(json_real_value(jr), -0.9f, 0.8f); diff --git a/src/AnalyzerXL.hpp b/src/AnalyzerXL.hpp @@ -37,8 +37,8 @@ struct AnalyzerXL : AnalyzerBase { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; void processChannel(const ProcessArgs& args, int _c) override; }; diff --git a/src/Arp.cpp b/src/Arp.cpp @@ -229,14 +229,13 @@ void Arp::sampleRateChange() { _sampleTime = APP->engine->getSampleTime(); } -json_t* Arp::dataToJson() { - json_t* root = json_object(); +json_t* Arp::toJson(json_t* root) { json_object_set_new(root, NOTES_IMMEDIATE_MODE, json_boolean(_notesImmediate)); json_object_set_new(root, FIXED_GATE_MODE, json_boolean(_fixedGate)); return root; } -void Arp::dataFromJson(json_t* root) { +void Arp::fromJson(json_t* root) { json_t* ni = json_object_get(root, NOTES_IMMEDIATE_MODE); if (ni) { _notesImmediate = json_is_true(ni); diff --git a/src/Arp.hpp b/src/Arp.hpp @@ -148,8 +148,8 @@ struct Arp : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; int channels() override; void addChannel(int c) override; void removeChannel(int c) override; diff --git a/src/FMOp.cpp b/src/FMOp.cpp @@ -54,13 +54,12 @@ void FMOp::Engine::sampleRateChange() { sustainSL.setParams(sampleRate, 1.0f, 1.0f); } -json_t* FMOp::dataToJson() { - json_t* root = json_object(); +json_t* FMOp::toJson(json_t* root) { json_object_set_new(root, LINEAR_LEVEL, json_boolean(_linearLevel)); return root; } -void FMOp::dataFromJson(json_t* root) { +void FMOp::fromJson(json_t* root) { json_t* ll = json_object_get(root, LINEAR_LEVEL); if (ll) { _linearLevel = json_is_true(ll); diff --git a/src/FMOp.hpp b/src/FMOp.hpp @@ -120,8 +120,8 @@ struct FMOp : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void addChannel(int c) override; diff --git a/src/Inv.cpp b/src/Inv.cpp @@ -12,8 +12,7 @@ void Inv::reset() { } } -json_t* Inv::dataToJson() { - json_t* root = json_object(); +json_t* Inv::toJson(json_t* root) { json_object_set_new(root, SAVE_LATCHED_TO_PATCH, json_boolean(_saveLatchedToPatch)); if (_saveLatchedToPatch) { if (_latch[0]) { @@ -35,7 +34,7 @@ json_t* Inv::dataToJson() { return root; } -void Inv::dataFromJson(json_t* root) { +void Inv::fromJson(json_t* root) { json_t* sl = json_object_get(root, SAVE_LATCHED_TO_PATCH); if (sl) { _saveLatchedToPatch = json_is_true(sl); diff --git a/src/Inv.hpp b/src/Inv.hpp @@ -51,8 +51,8 @@ struct Inv : BGModule { } void reset() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; void processAll(const ProcessArgs& args) override; void processDual(int i); diff --git a/src/LVCF.cpp b/src/LVCF.cpp @@ -41,9 +41,7 @@ float LVCF::Engine::next(float sample) { return _finalHP.next(_filter.next(sample)); } -json_t* LVCF::dataToJson() { - json_t* root = json_object(); - +json_t* LVCF::toJson(json_t* root) { json_object_set_new(root, POLES_KEY, json_integer(_polesSetting)); switch (_bandwidthMode) { @@ -61,7 +59,7 @@ json_t* LVCF::dataToJson() { return root; } -void LVCF::dataFromJson(json_t* root) { +void LVCF::fromJson(json_t* root) { json_t* p = json_object_get(root, POLES_KEY); if (p) { _polesSetting = clamp(json_integer_value(p), 1, 12); diff --git a/src/LVCF.hpp b/src/LVCF.hpp @@ -76,8 +76,8 @@ struct LVCF : BGModule { configParam(MODE_PARAM, 0.0f, 3.0f, 0.0f, "Mode"); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void sampleRateChange() override; bool active() override; int channels() override; diff --git a/src/LVCO.cpp b/src/LVCO.cpp @@ -4,15 +4,15 @@ #define FM_MODE "fm_mode" #define LINEAR_MODE "linear_mode" -json_t* LVCO::dataToJson() { - json_t* root = VCOBase::dataToJson(); +json_t* LVCO::toJson(json_t* root) { + root = VCOBase::toJson(root); json_object_set_new(root, FM_MODE, json_boolean(_fmLinearMode)); json_object_set_new(root, LINEAR_MODE, json_boolean(_linearMode)); return root; } -void LVCO::dataFromJson(json_t* root) { - VCOBase::dataFromJson(root); +void LVCO::fromJson(json_t* root) { + VCOBase::fromJson(root); json_t* fm = json_object_get(root, FM_MODE); if (fm) { diff --git a/src/LVCO.hpp b/src/LVCO.hpp @@ -65,8 +65,8 @@ struct LVCO : VCOBase { configParam(FM_DEPTH_PARAM, 0.0f, 1.0f, 0.0f, "FM depth", "%", 0.0f, 100.0f); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; void modulate() override; void modulateChannel(int c) override; diff --git a/src/Mix4.cpp b/src/Mix4.cpp @@ -3,14 +3,14 @@ #define POLY_OFFSET "poly_channel_offset" -json_t* Mix4::dataToJson() { - json_t* root = DimmableMixerModule::dataToJson(); +json_t* Mix4::toJson(json_t* root) { + root = DimmableMixerModule::toJson(root); json_object_set_new(root, POLY_OFFSET, json_integer(_polyChannelOffset)); return root; } -void Mix4::dataFromJson(json_t* root) { - DimmableMixerModule::dataFromJson(root); +void Mix4::fromJson(json_t* root) { + DimmableMixerModule::fromJson(root); json_t* o = json_object_get(root, POLY_OFFSET); if (o) { _polyChannelOffset = json_integer_value(o); diff --git a/src/Mix4.hpp b/src/Mix4.hpp @@ -96,8 +96,8 @@ struct Mix4 : ExpandableModule<Mix4ExpanderMessage, DimmableMixerModule> { } } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void sampleRateChange() override; void processAll(const ProcessArgs& args) override; }; diff --git a/src/Mix8.cpp b/src/Mix8.cpp @@ -3,14 +3,14 @@ #define POLY_OFFSET "poly_channel_offset" -json_t* Mix8::dataToJson() { - json_t* root = DimmableMixerModule::dataToJson(); +json_t* Mix8::toJson(json_t* root) { + root = DimmableMixerModule::toJson(root); json_object_set_new(root, POLY_OFFSET, json_integer(_polyChannelOffset)); return root; } -void Mix8::dataFromJson(json_t* root) { - DimmableMixerModule::dataFromJson(root); +void Mix8::fromJson(json_t* root) { + DimmableMixerModule::fromJson(root); json_t* o = json_object_get(root, POLY_OFFSET); if (o) { _polyChannelOffset = json_integer_value(o); diff --git a/src/Mix8.hpp b/src/Mix8.hpp @@ -136,8 +136,8 @@ struct Mix8 : ExpandableModule<Mix8ExpanderMessage, DimmableMixerModule> { } } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void sampleRateChange() override; void processAll(const ProcessArgs& args) override; }; diff --git a/src/Mute8.cpp b/src/Mute8.cpp @@ -8,13 +8,12 @@ const float Mute8::maxDecibels = 0.0f; const float Mute8::minDecibels = Amplifier::minDecibels; const float Mute8::slewTimeMS = 5.0f; -json_t* Mute8::dataToJson() { - json_t* root = json_object(); +json_t* Mute8::toJson(json_t* root) { json_object_set_new(root, LATCHING_CVS, json_boolean(_latchingCVs)); return root; } -void Mute8::dataFromJson(json_t* root) { +void Mute8::fromJson(json_t* root) { json_t* l = json_object_get(root, LATCHING_CVS); if (l) { _latchingCVs = json_is_true(l); diff --git a/src/Mute8.hpp b/src/Mute8.hpp @@ -88,8 +88,8 @@ struct Mute8 : BGModule { configParam(MUTE8_PARAM, 0.0f, 3.0f, 0.0f, "Mute 8"); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void reset() override; void sampleRateChange() override; void processAll(const ProcessArgs& args) override; diff --git a/src/Pgmr.cpp b/src/Pgmr.cpp @@ -19,14 +19,14 @@ void Pgmr::sampleRateChange() { _sampleTime = APP->engine->getSampleTime(); } -json_t* Pgmr::dataToJson() { - json_t* root = OutputRangeAddressableSequenceModule::dataToJson(); +json_t* Pgmr::toJson(json_t* root) { + root = OutputRangeAddressableSequenceModule::toJson(root); json_object_set_new(root, SELECT_TRIGGERS, json_boolean(_selectTriggers)); return root; } -void Pgmr::dataFromJson(json_t* root) { - OutputRangeAddressableSequenceModule::dataFromJson(root); +void Pgmr::fromJson(json_t* root) { + OutputRangeAddressableSequenceModule::fromJson(root); json_t* st = json_object_get(root, SELECT_TRIGGERS); if (st) { _selectTriggers = json_is_true(st); diff --git a/src/Pgmr.hpp b/src/Pgmr.hpp @@ -110,8 +110,8 @@ struct Pgmr : ExpandableModule<PgmrExpanderMessage, OutputRangeAddressableSequen void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; void processAlways(const ProcessArgs& args) override; void processChannel(const ProcessArgs& args, int c) override; diff --git a/src/Pulse.cpp b/src/Pulse.cpp @@ -3,14 +3,14 @@ #define LINEAR_MODE "linear_mode" -json_t* Pulse::dataToJson() { - json_t* root = VCOBase::dataToJson(); +json_t* Pulse::toJson(json_t* root) { + root = VCOBase::toJson(root); json_object_set_new(root, LINEAR_MODE, json_boolean(_linearMode)); return root; } -void Pulse::dataFromJson(json_t* root) { - VCOBase::dataFromJson(root); +void Pulse::fromJson(json_t* root) { + VCOBase::fromJson(root); json_t* l = json_object_get(root, LINEAR_MODE); if (l) { _linearMode = json_is_true(l); diff --git a/src/Pulse.hpp b/src/Pulse.hpp @@ -44,8 +44,8 @@ struct Pulse : VCOBase { configParam(PWM_PARAM, -1.0f, 1.0f, 0.0f, "Pulse width CV amount"); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; void addChannel(int c) override; void modulate() override; diff --git a/src/SampleHold.cpp b/src/SampleHold.cpp @@ -15,8 +15,7 @@ void SampleHold::reset() { } } -json_t* SampleHold::dataToJson() { - json_t* root = json_object(); +json_t* SampleHold::toJson(json_t* root) { json_object_set_new(root, POLY_INPUT, json_integer(_polyInputID)); json_object_set_new(root, NOISE_TYPE, json_integer((int)_noiseType)); json_object_set_new(root, RANGE_OFFSET, json_real(_rangeOffset)); @@ -24,7 +23,7 @@ json_t* SampleHold::dataToJson() { return root; } -void SampleHold::dataFromJson(json_t* root) { +void SampleHold::fromJson(json_t* root) { json_t* p = json_object_get(root, POLY_INPUT); if (p) { _polyInputID = json_integer_value(p); diff --git a/src/SampleHold.hpp b/src/SampleHold.hpp @@ -65,8 +65,8 @@ struct SampleHold : BGModule { } void reset() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void processAll(const ProcessArgs& args) override; void handleChannel( Param& trackParam, diff --git a/src/Sine.cpp b/src/Sine.cpp @@ -5,16 +5,16 @@ #define FM_MODE "fm_mode" #define LINEAR_MODE "linear_mode" -json_t* Sine::dataToJson() { - json_t* root = VCOBase::dataToJson(); +json_t* Sine::toJson(json_t* root) { + root = VCOBase::toJson(root); json_object_set_new(root, WAVE, json_integer((int)_wave)); json_object_set_new(root, FM_MODE, json_boolean(_fmLinearMode)); json_object_set_new(root, LINEAR_MODE, json_boolean(_linearMode)); return root; } -void Sine::dataFromJson(json_t* root) { - VCOBase::dataFromJson(root); +void Sine::fromJson(json_t* root) { + VCOBase::fromJson(root); json_t* w = json_object_get(root, WAVE); if (w) { diff --git a/src/Sine.hpp b/src/Sine.hpp @@ -58,8 +58,8 @@ struct Sine : VCOBase { configParam(PHASE_PARAM, -1.0f, 1.0f, 0.0f, "Phase offset", "ยบ", 0.0f, 180.0f); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; void modulate() override; void modulateChannel(int c) override; diff --git a/src/Switch.cpp b/src/Switch.cpp @@ -10,8 +10,7 @@ void bogaudio::Switch::reset() { } } -json_t* bogaudio::Switch::dataToJson() { - json_t* root = json_object(); +json_t* bogaudio::Switch::toJson(json_t* root) { json_object_set_new(root, SAVE_LATCHED_TO_PATCH, json_boolean(_saveLatchedToPatch)); if (_saveLatchedToPatch && _latch) { json_t* a = json_array(); @@ -23,7 +22,7 @@ json_t* bogaudio::Switch::dataToJson() { return root; } -void bogaudio::Switch::dataFromJson(json_t* root) { +void bogaudio::Switch::fromJson(json_t* root) { json_t* sl = json_object_get(root, SAVE_LATCHED_TO_PATCH); if (sl) { _saveLatchedToPatch = json_is_true(sl); diff --git a/src/Switch.hpp b/src/Switch.hpp @@ -52,8 +52,8 @@ struct Switch : BGModule { } void reset() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; int channels() override; void channelsChanged(int before, int after) override; void modulate() override; diff --git a/src/UMix.cpp b/src/UMix.cpp @@ -3,14 +3,14 @@ #define SUM "sum" -json_t* UMix::dataToJson() { - json_t* root = MatrixBaseModule::dataToJson(); +json_t* UMix::toJson(json_t* root) { + root = MatrixBaseModule::toJson(root); json_object_set_new(root, SUM, json_boolean(_sum)); return root; } -void UMix::dataFromJson(json_t* root) { - MatrixBaseModule::dataFromJson(root); +void UMix::fromJson(json_t* root) { + MatrixBaseModule::fromJson(root); json_t* s = json_object_get(root, SUM); if (s) { _sum = json_is_true(s); diff --git a/src/UMix.hpp b/src/UMix.hpp @@ -39,8 +39,8 @@ struct UMix : MatrixBaseModule { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; bool active() override; int channels() override; void processChannel(const ProcessArgs& args, int c) override; diff --git a/src/VCF.cpp b/src/VCF.cpp @@ -75,8 +75,7 @@ float VCF::Engine::next(float sample) { return _finalHP.next(out); } -json_t* VCF::dataToJson() { - json_t* root = json_object(); +json_t* VCF::toJson(json_t* root) { switch (_bandwidthMode) { case MultimodeFilter::LINEAR_BANDWIDTH_MODE: { json_object_set_new(root, BANDWIDTH_MODE_KEY, json_string(LINEAR_BANDWIDTH_MODE_KEY)); @@ -91,7 +90,7 @@ json_t* VCF::dataToJson() { return root; } -void VCF::dataFromJson(json_t* root) { +void VCF::fromJson(json_t* root) { json_t* bwm = json_object_get(root, BANDWIDTH_MODE_KEY); if (bwm) { if (strcmp(json_string_value(bwm), LINEAR_BANDWIDTH_MODE_KEY) == 0) { diff --git a/src/VCF.hpp b/src/VCF.hpp @@ -79,8 +79,8 @@ struct VCF : BGModule { configParam<ScaledSquaringParamQuantity<Engine::maxPoles - Engine::minPoles>>(SLOPE_PARAM, 0.0f, 1.0f, 0.522233f, "Slope", " poles", 0.0f, 1.0f, Engine::minPoles); } - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void sampleRateChange() override; bool active() override; int channels() override; diff --git a/src/Walk.cpp b/src/Walk.cpp @@ -19,8 +19,7 @@ void Walk::sampleRateChange() { } } -json_t* Walk::dataToJson() { - json_t* root = json_object(); +json_t* Walk::toJson(json_t* root) { json_object_set_new(root, POLY_INPUT, json_integer(_polyInputID)); switch (_jumpMode) { case JUMP_JUMPMODE: { @@ -39,7 +38,7 @@ json_t* Walk::dataToJson() { return root; } -void Walk::dataFromJson(json_t* root) { +void Walk::fromJson(json_t* root) { json_t* p = json_object_get(root, POLY_INPUT); if (p) { _polyInputID = json_integer_value(p); diff --git a/src/Walk.hpp b/src/Walk.hpp @@ -55,8 +55,8 @@ struct Walk : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; int channels() override; void modulateChannel(int c) override; void processChannel(const ProcessArgs& args, int c) override; diff --git a/src/Walk2.cpp b/src/Walk2.cpp @@ -15,15 +15,14 @@ void Walk2::sampleRateChange() { _historySteps = (historySeconds * APP->engine->getSampleRate()) / historyPoints; } -json_t* Walk2::dataToJson() { - json_t* root = json_object(); +json_t* Walk2::toJson(json_t* root) { json_object_set_new(root, ZOOM_OUT_KEY, json_boolean(_zoomOut)); json_object_set_new(root, GRID_KEY, json_boolean(_drawGrid)); json_object_set_new(root, COLOR_KEY, json_integer(_traceColor)); return root; } -void Walk2::dataFromJson(json_t* root) { +void Walk2::fromJson(json_t* root) { json_t* zo = json_object_get(root, ZOOM_OUT_KEY); if (zo) { _zoomOut = json_is_true(zo); diff --git a/src/Walk2.hpp b/src/Walk2.hpp @@ -93,8 +93,8 @@ struct Walk2 : BGModule { void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; void processAlways(const ProcessArgs& args) override; void processChannel(const ProcessArgs& args, int _c) override; diff --git a/src/addressable_sequence.cpp b/src/addressable_sequence.cpp @@ -24,8 +24,7 @@ void AddressableSequenceModule::sampleRateChange() { } } -json_t* AddressableSequenceModule::dataToJson() { - json_t* root = json_object(); +json_t* AddressableSequenceModule::toJson(json_t* root) { json_object_set_new(root, POLY_INPUT, json_integer(_polyInputID)); json_object_set_new(root, SELECT_ON_CLOCK, json_boolean(_selectOnClock)); json_object_set_new(root, TRIGGERED_SELECT, json_boolean(_triggeredSelect)); @@ -33,7 +32,7 @@ json_t* AddressableSequenceModule::dataToJson() { return root; } -void AddressableSequenceModule::dataFromJson(json_t* root) { +void AddressableSequenceModule::fromJson(json_t* root) { json_t* p = json_object_get(root, POLY_INPUT); if (p) { _polyInputID = json_integer_value(p); diff --git a/src/addressable_sequence.hpp b/src/addressable_sequence.hpp @@ -30,8 +30,8 @@ struct AddressableSequenceModule : BGModule { } void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; int channels() override; int nextStep( int c, diff --git a/src/disable_output_limit.cpp b/src/disable_output_limit.cpp @@ -3,13 +3,12 @@ #define DISABLE_OUTPUT_LIMIT "disableOutputLimit" -json_t* DisableOutputLimitModule::dataToJson() { - json_t* root = json_object(); +json_t* DisableOutputLimitModule::toJson(json_t* root) { json_object_set_new(root, DISABLE_OUTPUT_LIMIT, json_boolean(_disableOutputLimit)); return root; } -void DisableOutputLimitModule::dataFromJson(json_t* root) { +void DisableOutputLimitModule::fromJson(json_t* root) { json_t* dol = json_object_get(root, DISABLE_OUTPUT_LIMIT); if (dol) { _disableOutputLimit = json_is_true(dol); diff --git a/src/disable_output_limit.hpp b/src/disable_output_limit.hpp @@ -7,8 +7,8 @@ namespace bogaudio { struct DisableOutputLimitModule : BGModule { bool _disableOutputLimit = false; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; }; struct DisableOutputLimitModuleWidget : ModuleWidget { diff --git a/src/matrix_base.cpp b/src/matrix_base.cpp @@ -8,14 +8,13 @@ using namespace bogaudio::dsp; #define CLIPPING_MODE "clipping_mode" #define INPUT_GAIN_DB "input_gain_db" -json_t* MatrixBaseModule::dataToJson() { - json_t* root = json_object(); +json_t* MatrixBaseModule::toJson(json_t* root) { json_object_set_new(root, CLIPPING_MODE, json_integer(_clippingMode)); json_object_set_new(root, INPUT_GAIN_DB, json_real(_inputGainDb)); return root; } -void MatrixBaseModule::dataFromJson(json_t* root) { +void MatrixBaseModule::fromJson(json_t* root) { json_t* c = json_object_get(root, CLIPPING_MODE); if (c) { _clippingMode = (Clipping)json_integer_value(c); @@ -106,14 +105,14 @@ void MatrixModule::processChannel(const ProcessArgs& args, int c) { #define INDICATOR_KNOBS "indicator_knobs" -json_t* KnobMatrixModule::dataToJson() { - json_t* root = MatrixBaseModule::dataToJson(); +json_t* KnobMatrixModule::toJson(json_t* root) { + root = MatrixBaseModule::toJson(root); json_object_set_new(root, INDICATOR_KNOBS, json_boolean(_indicatorKnobs)); return root; } -void KnobMatrixModule::dataFromJson(json_t* root) { - MatrixBaseModule::dataFromJson(root); +void KnobMatrixModule::fromJson(json_t* root) { + MatrixBaseModule::fromJson(root); json_t* k = json_object_get(root, INDICATOR_KNOBS); if (k) { _indicatorKnobs = json_is_true(k); @@ -156,8 +155,8 @@ void KnobMatrixModuleWidget::appendContextMenu(Menu* menu) { #define ROW_EXCLUSIVE "row_exclusive" #define COLUMN_EXCLUSIVE "column_exclusive" -json_t* SwitchMatrixModule::dataToJson() { - json_t* root = MatrixBaseModule::dataToJson(); +json_t* SwitchMatrixModule::toJson(json_t* root) { + root = MatrixBaseModule::toJson(root); switch (_inverting) { case CLICK_INVERTING: { @@ -180,8 +179,8 @@ json_t* SwitchMatrixModule::dataToJson() { return root; } -void SwitchMatrixModule::dataFromJson(json_t* root) { - MatrixBaseModule::dataFromJson(root); +void SwitchMatrixModule::fromJson(json_t* root) { + MatrixBaseModule::fromJson(root); json_t* i = json_object_get(root, INVERTING); if (i) { diff --git a/src/matrix_base.hpp b/src/matrix_base.hpp @@ -19,8 +19,8 @@ struct MatrixBaseModule : BGModule { float _inputGainDb = 0.0f; float _inputGainLevel = 1.0f; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void modulate() override; }; @@ -69,8 +69,8 @@ struct KnobMatrixModule : MatrixModule { : MatrixModule(n, firstParamID, firstInputID, firstOutputID) {} - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; }; struct KnobMatrixModuleWidget : MatrixBaseModuleWidget { @@ -97,8 +97,8 @@ struct SwitchMatrixModule : MatrixModule { : MatrixModule(n, firstParamID, firstInputID, firstOutputID) {} - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; void setInverting(Inverting inverting); void configSwitchParam(int id, const char* label); void switchChanged(int id, float value); diff --git a/src/mixer.cpp b/src/mixer.cpp @@ -40,13 +40,12 @@ void MixerChannel::next(float sample, bool solo, int c) { #define DIM_DB "dim_decibels" -json_t* DimmableMixerModule::dataToJson() { - json_t* root = json_object(); +json_t* DimmableMixerModule::toJson(json_t* root) { json_object_set_new(root, DIM_DB, json_real(_dimDb)); return root; } -void DimmableMixerModule::dataFromJson(json_t* root) { +void DimmableMixerModule::fromJson(json_t* root) { json_t* o = json_object_get(root, DIM_DB); if (o) { _dimDb = json_real_value(o); diff --git a/src/mixer.hpp b/src/mixer.hpp @@ -51,8 +51,8 @@ struct MixerChannel { struct DimmableMixerModule : BGModule { float _dimDb = 12.0f; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; }; struct DimmableMixerWidget : ModuleWidget { diff --git a/src/module.cpp b/src/module.cpp @@ -14,6 +14,14 @@ void BGModule::onSampleRateChange() { sampleRateChange(); } +json_t* BGModule::dataToJson() { + return toJson(json_object()); +} + +void BGModule::dataFromJson(json_t* root) { + fromJson(root); +} + void BGModule::process(const ProcessArgs& args) { if (_steps < 0) { onReset(); diff --git a/src/module.hpp b/src/module.hpp @@ -25,10 +25,14 @@ struct BGModule : Module { void onReset() override; void onSampleRateChange() override; + json_t* dataToJson() override; + void dataFromJson(json_t* root) override; void process(const ProcessArgs& args) override; virtual void reset() {} virtual void sampleRateChange() {} + virtual json_t* toJson(json_t* root) { return root; } + virtual void fromJson(json_t* root) {} virtual bool active() { return true; } virtual int channels() { return 1; } virtual void channelsChanged(int before, int after) {} diff --git a/src/output_range.hpp b/src/output_range.hpp @@ -18,18 +18,15 @@ struct OutputRange { template<class BASE> struct OutputRangeModule : BASE, OutputRange { - json_t* dataToJson() override { - json_t* root = BASE::dataToJson(); - if (!root) { - root = json_object(); - } + json_t* toJson(json_t* root) override { + root = BASE::toJson(root); json_object_set_new(root, "range_offset", json_real(_rangeOffset)); json_object_set_new(root, "range_scale", json_real(_rangeScale)); return root; } - void dataFromJson(json_t* root) override { - BASE::dataFromJson(root); + void fromJson(json_t* root) override { + BASE::fromJson(root); json_t* ro = json_object_get(root, "range_offset"); if (ro) { diff --git a/src/poly_channels.cpp b/src/poly_channels.cpp @@ -5,13 +5,12 @@ using namespace bogaudio; #define POLY_CHANNELS "poly_channels" -json_t* PolyChannelsModule::dataToJson() { - json_t* root = json_object(); +json_t* PolyChannelsModule::toJson(json_t* root) { json_object_set_new(root, POLY_CHANNELS, json_integer(_polyChannels)); return root; } -void PolyChannelsModule::dataFromJson(json_t* root) { +void PolyChannelsModule::fromJson(json_t* root) { json_t* pc = json_object_get(root, POLY_CHANNELS); if (!pc) { pc = json_object_get(root, "noise_channels"); // backward compatibility hack. diff --git a/src/poly_channels.hpp b/src/poly_channels.hpp @@ -9,8 +9,8 @@ namespace bogaudio { struct PolyChannelsModule : BGModule { int _polyChannels = 1; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; }; struct PolyChannelsMenuItem : MenuItem { diff --git a/src/trigger_on_load.cpp b/src/trigger_on_load.cpp @@ -6,14 +6,13 @@ using namespace bogaudio; #define TRIGGER_ON_LOAD "triggerOnLoad" #define SHOULD_TRIGGER_ON_LOAD "shouldTriggerOnLoad" -json_t* TriggerOnLoadModule::dataToJson() { - json_t* root = json_object(); +json_t* TriggerOnLoadModule::toJson(json_t* root) { json_object_set_new(root, TRIGGER_ON_LOAD, json_boolean(_triggerOnLoad)); json_object_set_new(root, SHOULD_TRIGGER_ON_LOAD, json_boolean(shouldTriggerOnNextLoad())); return root; } -void TriggerOnLoadModule::dataFromJson(json_t* root) { +void TriggerOnLoadModule::fromJson(json_t* root) { json_t* tol = json_object_get(root, TRIGGER_ON_LOAD); if (tol) { _triggerOnLoad = json_is_true(tol); diff --git a/src/trigger_on_load.hpp b/src/trigger_on_load.hpp @@ -10,8 +10,8 @@ struct TriggerOnLoadModule : BGModule { bool _triggerOnLoad = true; bool _shouldTriggerOnLoad = true; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; virtual bool shouldTriggerOnNextLoad() = 0; }; diff --git a/src/vco_base.cpp b/src/vco_base.cpp @@ -75,13 +75,12 @@ void VCOBase::sampleRateChange() { } } -json_t* VCOBase::dataToJson() { - json_t* root = json_object(); +json_t* VCOBase::toJson(json_t* root) { json_object_set_new(root, POLY_INPUT, json_integer(_polyInputID)); return root; } -void VCOBase::dataFromJson(json_t* root) { +void VCOBase::fromJson(json_t* root) { json_t* p = json_object_get(root, POLY_INPUT); if (p) { _polyInputID = json_integer_value(p); diff --git a/src/vco_base.hpp b/src/vco_base.hpp @@ -83,8 +83,8 @@ struct VCOBase : BGModule { inline float linearModeVoltsToHertz(float v) { return _slowMode ? v : 1000.0f * v; } void reset() override; void sampleRateChange() override; - json_t* dataToJson() override; - void dataFromJson(json_t* root) override; + json_t* toJson(json_t* root) override; + void fromJson(json_t* root) override; int channels() override; void addChannel(int c) override; void removeChannel(int c) override;