diff --git a/src/ABC.cpp b/src/ABC.cpp index 7d1a1da..cc18b15 100644 --- a/src/ABC.cpp +++ b/src/ABC.cpp @@ -76,7 +76,7 @@ ABCWidget::ABCWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/ABC.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/ABC.svg"))); addChild(panel); } diff --git a/src/Befaco.cpp b/src/Befaco.cpp index c0a4243..dc04eb2 100644 --- a/src/Befaco.cpp +++ b/src/Befaco.cpp @@ -1,22 +1,19 @@ #include "Befaco.hpp" -struct BefacoPlugin : Plugin { - BefacoPlugin() { - slug = "Befaco"; - name = "Befaco"; - createModel(this, "EvenVCO", "EvenVCO"); - // createModel(this, "Rampage", "Rampage"); - createModel(this, "ABC", "A*B+C"); - createModel(this, "SpringReverb", "Spring Reverb"); - createModel(this, "Mixer", "Mixer"); - createModel(this, "SlewLimiter", "Slew Limiter"); - createModel(this, "DualAtenuverter", "Dual Atenuverter"); - } -}; +Plugin *plugin; +void init(rack::Plugin *p) { + plugin = p; + plugin->slug = "Befaco"; + plugin->name = "Befaco"; + createModel(plugin, "EvenVCO", "EvenVCO"); + // createModel(plugin, "Rampage", "Rampage"); + createModel(plugin, "ABC", "A*B+C"); + createModel(plugin, "SpringReverb", "Spring Reverb"); + createModel(plugin, "Mixer", "Mixer"); + createModel(plugin, "SlewLimiter", "Slew Limiter"); + createModel(plugin, "DualAtenuverter", "Dual Atenuverter"); -Plugin *init() { springReverbInit(); - return new BefacoPlugin(); } diff --git a/src/Befaco.hpp b/src/Befaco.hpp index 4a00fc2..20afa79 100644 --- a/src/Befaco.hpp +++ b/src/Befaco.hpp @@ -3,6 +3,9 @@ using namespace rack; + +extern Plugin *plugin; + void springReverbInit(); //////////////////// diff --git a/src/DualAtenuverter.cpp b/src/DualAtenuverter.cpp index f9122ff..20155a6 100644 --- a/src/DualAtenuverter.cpp +++ b/src/DualAtenuverter.cpp @@ -55,7 +55,7 @@ DualAtenuverterWidget::DualAtenuverterWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/DualAtenuverter.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/DualAtenuverter.svg"))); addChild(panel); } diff --git a/src/EvenVCO.cpp b/src/EvenVCO.cpp index 4089b26..b576f28 100644 --- a/src/EvenVCO.cpp +++ b/src/EvenVCO.cpp @@ -142,7 +142,7 @@ EvenVCOWidget::EvenVCOWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/EvenVCO.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/EvenVCO.svg"))); addChild(panel); } diff --git a/src/Mixer.cpp b/src/Mixer.cpp index 84d9135..90d5bfc 100644 --- a/src/Mixer.cpp +++ b/src/Mixer.cpp @@ -56,7 +56,7 @@ MixerWidget::MixerWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/Mixer.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/Mixer.svg"))); addChild(panel); } diff --git a/src/Rampage.cpp b/src/Rampage.cpp index 0e3766f..6b4018b 100644 --- a/src/Rampage.cpp +++ b/src/Rampage.cpp @@ -121,7 +121,7 @@ RampageWidget::RampageWidget() { { Panel *panel = new DarkPanel(); panel->box.size = box.size; - panel->backgroundImage = Image::load("plugins/Befaco/res/Rampage.png"); + panel->backgroundImage = Image::load(assetPlugin(plugin, "res/Rampage.png")); addChild(panel); } diff --git a/src/SlewLimiter.cpp b/src/SlewLimiter.cpp index a50ee42..85b8e12 100644 --- a/src/SlewLimiter.cpp +++ b/src/SlewLimiter.cpp @@ -71,7 +71,7 @@ SlewLimiterWidget::SlewLimiterWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/SlewLimiter.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/SlewLimiter.svg"))); addChild(panel); } diff --git a/src/SpringReverb.cpp b/src/SpringReverb.cpp index 9cdbe87..0ba8c33 100644 --- a/src/SpringReverb.cpp +++ b/src/SpringReverb.cpp @@ -8,7 +8,8 @@ float *springReverbIR; int springReverbIRLen; void springReverbInit() { - FILE *f = fopen("plugins/Befaco/res/SpringReverbIR.pcm", "rb"); + std::string irFilename = assetPlugin(plugin, "res/SpringReverbIR.pcm"); + FILE *f = fopen(irFilename.c_str(), "rb"); assert(f); fseek(f, 0, SEEK_END); int size = ftell(f); @@ -268,7 +269,7 @@ SpringReverbWidget::SpringReverbWidget() { { SVGPanel *panel = new SVGPanel(); panel->box.size = box.size; - panel->setBackground(SVG::load("plugins/Befaco/res/SpringReverb.svg")); + panel->setBackground(SVG::load(assetPlugin(plugin, "res/SpringReverb.svg"))); addChild(panel); }