| 247 | } |
| 248 | |
| 249 | json_t* dataToJson() override { |
| 250 | json_t* rootJ = json_object(); |
| 251 | |
| 252 | json_t* mapsJ = json_array(); |
| 253 | for (int id = 0; id < mapLen; id++) { |
| 254 | json_t* mapJ = json_object(); |
| 255 | json_object_set_new(mapJ, "cc", json_integer(ccs[id])); |
| 256 | json_object_set_new(mapJ, "moduleId", json_integer(paramHandles[id].moduleId)); |
| 257 | json_object_set_new(mapJ, "paramId", json_integer(paramHandles[id].paramId)); |
| 258 | json_array_append_new(mapsJ, mapJ); |
| 259 | } |
| 260 | json_object_set_new(rootJ, "maps", mapsJ); |
| 261 | |
| 262 | json_object_set_new(rootJ, "smooth", json_boolean(smooth)); |
| 263 | json_object_set_new(rootJ, "midi", midiInput.toJson()); |
| 264 | return rootJ; |
| 265 | } |
| 266 | |
| 267 | void dataFromJson(json_t* rootJ) override { |
| 268 | // Use NoLock because we're already in an Engine write-lock. |