MCPcopy Create free account
hub / github.com/VCVRack/Rack / toJson

Method toJson

src/engine/Module.cpp:114–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112
113
114json_t* Module::toJson() {
115 json_t* rootJ = json_object();
116
117 // id
118 json_object_set_new(rootJ, "id", json_integer(id));
119
120 // plugin
121 json_object_set_new(rootJ, "plugin", json_string(model->plugin->slug.c_str()));
122
123 // model
124 json_object_set_new(rootJ, "model", json_string(model->slug.c_str()));
125
126 // version
127 json_object_set_new(rootJ, "version", json_string(model->plugin->version.c_str()));
128
129 // params
130 json_t* paramsJ = paramsToJson();
131 if (paramsJ)
132 json_object_set_new(rootJ, "params", paramsJ);
133
134 // bypass
135 if (internal->bypassed)
136 json_object_set_new(rootJ, "bypass", json_boolean(true));
137
138 // leftModuleId
139 if (leftExpander.moduleId >= 0)
140 json_object_set_new(rootJ, "leftModuleId", json_integer(leftExpander.moduleId));
141
142 // rightModuleId
143 if (rightExpander.moduleId >= 0)
144 json_object_set_new(rootJ, "rightModuleId", json_integer(rightExpander.moduleId));
145
146 // data
147 json_t* dataJ = dataToJson();
148 if (dataJ) {
149 json_object_set_new(rootJ, "data", dataJ);
150 }
151
152 return rootJ;
153}
154
155
156void Module::fromJson(json_t* rootJ) {

Callers 1

paramsToJsonMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected