Browse Source

Serialize MIDI-TRIG/CC

tags/v0.6.0
Andrew Belt 6 years ago
parent
commit
fa95c3e63b
2 changed files with 34 additions and 0 deletions
  1. +17
    -0
      src/Core/MIDICCToCVInterface.cpp
  2. +17
    -0
      src/Core/MIDITriggerToCVInterface.cpp

+ 17
- 0
src/Core/MIDICCToCVInterface.cpp View File

@@ -74,11 +74,28 @@ struct MIDICCToCVInterface : Module {

json_t *toJson() override {
json_t *rootJ = json_object();

json_t *ccsJ = json_array();
for (int i = 0; i < 16; i++) {
json_t *ccJ = json_integer(learnedCcs[i]);
json_array_append_new(ccsJ, ccJ);
}
json_object_set_new(rootJ, "ccs", ccsJ);

json_object_set_new(rootJ, "midi", midiInput.toJson());
return rootJ;
}

void fromJson(json_t *rootJ) override {
json_t *ccsJ = json_object_get(rootJ, "ccs");
if (ccsJ) {
for (int i = 0; i < 16; i++) {
json_t *ccJ = json_array_get(ccsJ, i);
if (ccJ)
learnedCcs[i] = json_integer_value(ccJ);
}
}

json_t *midiJ = json_object_get(rootJ, "midi");
midiInput.fromJson(midiJ);
}


+ 17
- 0
src/Core/MIDITriggerToCVInterface.cpp View File

@@ -104,11 +104,28 @@ struct MIDITriggerToCVInterface : Module {

json_t *toJson() override {
json_t *rootJ = json_object();

json_t *notesJ = json_array();
for (int i = 0; i < 16; i++) {
json_t *noteJ = json_integer(learnedNotes[i]);
json_array_append_new(notesJ, noteJ);
}
json_object_set_new(rootJ, "notes", notesJ);

json_object_set_new(rootJ, "midi", midiInput.toJson());
return rootJ;
}

void fromJson(json_t *rootJ) override {
json_t *notesJ = json_object_get(rootJ, "notes");
if (notesJ) {
for (int i = 0; i < 16; i++) {
json_t *noteJ = json_array_get(notesJ, i);
if (noteJ)
learnedNotes[i] = json_integer_value(noteJ) & 0x7f;
}
}

json_t *midiJ = json_object_get(rootJ, "midi");
midiInput.fromJson(midiJ);
}


Loading…
Cancel
Save