@@ -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; | ||||