|
|
@@ -6,7 +6,7 @@ |
|
|
|
namespace rack { |
|
|
|
|
|
|
|
|
|
|
|
template <class TModuleWidget, typename... Tags> |
|
|
|
template <class TModule, class TModuleWidget, typename... Tags> |
|
|
|
Model *createModel(std::string author, std::string slug, std::string name, Tags... tags) { |
|
|
|
struct TModel : Model { |
|
|
|
Module *createModule() override { |
|
|
@@ -14,7 +14,8 @@ Model *createModel(std::string author, std::string slug, std::string name, Tags. |
|
|
|
return module; |
|
|
|
} |
|
|
|
ModuleWidget *createModuleWidget() override { |
|
|
|
TModuleWidget *moduleWidget = new TModuleWidget(createModule()); |
|
|
|
TModule *module = new TModule(); |
|
|
|
TModuleWidget *moduleWidget = new TModuleWidget(module); |
|
|
|
moduleWidget->model = this; |
|
|
|
return moduleWidget; |
|
|
|
} |
|
|
@@ -107,7 +108,7 @@ TPort *createOutputCentered(Vec pos, Module *module, int outputId) { |
|
|
|
return port; |
|
|
|
} |
|
|
|
|
|
|
|
template<class TModuleLightWidget> |
|
|
|
template <class TModuleLightWidget> |
|
|
|
TModuleLightWidget *createLight(Vec pos, Module *module, int firstLightId) { |
|
|
|
TModuleLightWidget *light = new TModuleLightWidget(); |
|
|
|
light->box.pos = pos; |
|
|
@@ -116,7 +117,7 @@ TModuleLightWidget *createLight(Vec pos, Module *module, int firstLightId) { |
|
|
|
return light; |
|
|
|
} |
|
|
|
|
|
|
|
template<class TModuleLightWidget> |
|
|
|
template <class TModuleLightWidget> |
|
|
|
TModuleLightWidget *createLightCentered(Vec pos, Module *module, int firstLightId) { |
|
|
|
TModuleLightWidget *light = new TModuleLightWidget(); |
|
|
|
light->box.pos = pos.minus(light->box.size.div(2)); |
|
|
|