| @@ -24,11 +24,14 @@ static ModuleWidget* moduleFromJson(json_t* moduleJ) { | |||||
| json_t* pluginSlugJ = json_object_get(moduleJ, "plugin"); | json_t* pluginSlugJ = json_object_get(moduleJ, "plugin"); | ||||
| if (!pluginSlugJ) | if (!pluginSlugJ) | ||||
| return NULL; | return NULL; | ||||
| std::string pluginSlug = json_string_value(pluginSlugJ); | |||||
| pluginSlug = plugin::normalizeSlug(pluginSlug); | |||||
| json_t* modelSlugJ = json_object_get(moduleJ, "model"); | json_t* modelSlugJ = json_object_get(moduleJ, "model"); | ||||
| if (!modelSlugJ) | if (!modelSlugJ) | ||||
| return NULL; | return NULL; | ||||
| std::string pluginSlug = json_string_value(pluginSlugJ); | |||||
| std::string modelSlug = json_string_value(modelSlugJ); | std::string modelSlug = json_string_value(modelSlugJ); | ||||
| modelSlug = plugin::normalizeSlug(modelSlug); | |||||
| // Get Model | // Get Model | ||||
| plugin::Model* model = plugin::getModel(pluginSlug, modelSlug); | plugin::Model* model = plugin::getModel(pluginSlug, modelSlug); | ||||
| @@ -1,4 +1,5 @@ | |||||
| #include <engine/Module.hpp> | #include <engine/Module.hpp> | ||||
| #include <plugin.hpp> | |||||
| namespace rack { | namespace rack { | ||||
| @@ -89,6 +90,7 @@ void Module::fromJson(json_t* rootJ) { | |||||
| std::string pluginSlug; | std::string pluginSlug; | ||||
| if (pluginJ) { | if (pluginJ) { | ||||
| pluginSlug = json_string_value(pluginJ); | pluginSlug = json_string_value(pluginJ); | ||||
| pluginSlug = plugin::normalizeSlug(pluginSlug); | |||||
| if (pluginSlug != model->plugin->slug) { | if (pluginSlug != model->plugin->slug) { | ||||
| WARN("Plugin %s does not match Module's plugin %s.", pluginSlug.c_str(), model->plugin->slug.c_str()); | WARN("Plugin %s does not match Module's plugin %s.", pluginSlug.c_str(), model->plugin->slug.c_str()); | ||||
| return; | return; | ||||
| @@ -99,6 +101,7 @@ void Module::fromJson(json_t* rootJ) { | |||||
| std::string modelSlug; | std::string modelSlug; | ||||
| if (modelJ) { | if (modelJ) { | ||||
| modelSlug = json_string_value(modelJ); | modelSlug = json_string_value(modelJ); | ||||
| modelSlug = plugin::normalizeSlug(modelSlug); | |||||
| if (modelSlug != model->slug) { | if (modelSlug != model->slug) { | ||||
| WARN("Model %s does not match Module's model %s.", modelSlug.c_str(), model->slug.c_str()); | WARN("Model %s does not match Module's model %s.", modelSlug.c_str(), model->slug.c_str()); | ||||
| return; | return; | ||||
| @@ -446,9 +446,8 @@ bool isSyncing() { | |||||
| } | } | ||||
| Plugin* getPlugin(const std::string& pluginSlug) { | Plugin* getPlugin(const std::string& pluginSlug) { | ||||
| std::string slug = normalizeSlug(pluginSlug); | |||||
| for (Plugin* plugin : plugins) { | for (Plugin* plugin : plugins) { | ||||
| if (plugin->slug == slug) { | |||||
| if (plugin->slug == pluginSlug) { | |||||
| return plugin; | return plugin; | ||||
| } | } | ||||
| } | } | ||||
| @@ -23,7 +23,6 @@ void Plugin::addModel(Model* model) { | |||||
| } | } | ||||
| Model* Plugin::getModel(std::string slug) { | Model* Plugin::getModel(std::string slug) { | ||||
| slug = normalizeSlug(slug); | |||||
| for (Model* model : models) { | for (Model* model : models) { | ||||
| if (model->slug == slug) { | if (model->slug == slug) { | ||||
| return model; | return model; | ||||