|
|
@@ -168,258 +168,322 @@ Plugin* pluginInstance__GrandeModular; |
|
|
|
Plugin* pluginInstance__ZetaCarinaeModules; |
|
|
|
|
|
|
|
namespace rack { |
|
|
|
|
|
|
|
// core plugins |
|
|
|
namespace core { |
|
|
|
extern Model* modelAudioInterface2; |
|
|
|
extern Model* modelMIDI_CV; |
|
|
|
extern Model* modelMIDI_CC; |
|
|
|
extern Model* modelMIDI_Gate; |
|
|
|
extern Model* modelMIDI_Map; |
|
|
|
extern Model* modelCV_MIDI; |
|
|
|
extern Model* modelCV_CC; |
|
|
|
extern Model* modelCV_Gate; |
|
|
|
extern Model* modelBlank; |
|
|
|
extern Model* modelNotes; |
|
|
|
} |
|
|
|
|
|
|
|
// regular plugins |
|
|
|
namespace plugin { |
|
|
|
|
|
|
|
struct StaticPluginLoader { |
|
|
|
Plugin* const plugin; |
|
|
|
FILE* file; |
|
|
|
json_t* rootJ; |
|
|
|
|
|
|
|
StaticPluginLoader(Plugin* const p, const char* const name) |
|
|
|
: plugin(p), |
|
|
|
file(nullptr), |
|
|
|
rootJ(nullptr) |
|
|
|
{ |
|
|
|
p->path = system::join(CARDINAL_PLUGINS_DIR, name); |
|
|
|
|
|
|
|
const std::string manifestFilename = system::join(p->path, "plugin.json"); |
|
|
|
|
|
|
|
if ((file = std::fopen(manifestFilename.c_str(), "r")) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("Manifest file %s does not exist", manifestFilename.c_str()); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
json_error_t error; |
|
|
|
if ((rootJ = json_loadf(file, 0, &error)) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("JSON parsing error at %s %d:%d %s", manifestFilename.c_str(), error.line, error.column, error.text); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// force ABI, we use static plugins so this doesnt matter as long as it builds |
|
|
|
json_t* const version = json_string((APP_VERSION_MAJOR + ".0").c_str()); |
|
|
|
json_object_set(rootJ, "version", version); |
|
|
|
json_decref(version); |
|
|
|
} |
|
|
|
|
|
|
|
~StaticPluginLoader() |
|
|
|
{ |
|
|
|
if (rootJ != nullptr) |
|
|
|
{ |
|
|
|
plugin->fromJson(rootJ); |
|
|
|
json_decref(rootJ); |
|
|
|
plugins.push_back(plugin); |
|
|
|
} |
|
|
|
|
|
|
|
if (file != nullptr) |
|
|
|
std::fclose(file); |
|
|
|
} |
|
|
|
|
|
|
|
bool ok() const noexcept |
|
|
|
{ |
|
|
|
return rootJ != nullptr; |
|
|
|
} |
|
|
|
Plugin* const plugin; |
|
|
|
FILE* file; |
|
|
|
json_t* rootJ; |
|
|
|
|
|
|
|
// core |
|
|
|
StaticPluginLoader(Plugin* const p) |
|
|
|
: plugin(p), |
|
|
|
file(nullptr), |
|
|
|
rootJ(nullptr) |
|
|
|
{ |
|
|
|
p->path = system::join(CARDINAL_PLUGINS_DIR, "Core.json"); |
|
|
|
|
|
|
|
if ((file = std::fopen(p->path.c_str(), "r")) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("Manifest file %s does not exist", p->path.c_str()); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
json_error_t error; |
|
|
|
if ((rootJ = json_loadf(file, 0, &error)) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("JSON parsing error at %s %d:%d %s", p->path.c_str(), error.line, error.column, error.text); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// force ABI, we use static plugins so this doesnt matter as long as it builds |
|
|
|
json_t* const version = json_string((APP_VERSION_MAJOR + ".0").c_str()); |
|
|
|
json_object_set(rootJ, "version", version); |
|
|
|
json_decref(version); |
|
|
|
} |
|
|
|
|
|
|
|
// regular plugins |
|
|
|
StaticPluginLoader(Plugin* const p, const char* const name) |
|
|
|
: plugin(p), |
|
|
|
file(nullptr), |
|
|
|
rootJ(nullptr) |
|
|
|
{ |
|
|
|
p->path = system::join(CARDINAL_PLUGINS_DIR, name); |
|
|
|
|
|
|
|
const std::string manifestFilename = system::join(p->path, "plugin.json"); |
|
|
|
|
|
|
|
if ((file = std::fopen(manifestFilename.c_str(), "r")) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("Manifest file %s does not exist", manifestFilename.c_str()); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
json_error_t error; |
|
|
|
if ((rootJ = json_loadf(file, 0, &error)) == nullptr) |
|
|
|
{ |
|
|
|
d_stderr2("JSON parsing error at %s %d:%d %s", manifestFilename.c_str(), error.line, error.column, error.text); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// force ABI, we use static plugins so this doesnt matter as long as it builds |
|
|
|
json_t* const version = json_string((APP_VERSION_MAJOR + ".0").c_str()); |
|
|
|
json_object_set(rootJ, "version", version); |
|
|
|
json_decref(version); |
|
|
|
} |
|
|
|
|
|
|
|
~StaticPluginLoader() |
|
|
|
{ |
|
|
|
if (rootJ != nullptr) |
|
|
|
{ |
|
|
|
plugin->fromJson(rootJ); |
|
|
|
json_decref(rootJ); |
|
|
|
plugins.push_back(plugin); |
|
|
|
} |
|
|
|
|
|
|
|
if (file != nullptr) |
|
|
|
std::fclose(file); |
|
|
|
} |
|
|
|
|
|
|
|
bool ok() const noexcept |
|
|
|
{ |
|
|
|
return rootJ != nullptr; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
static void initStatic__Core() |
|
|
|
{ |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(rack::core::modelAudioInterface2); |
|
|
|
p->addModel(rack::core::modelMIDI_CV); |
|
|
|
p->addModel(rack::core::modelMIDI_CC); |
|
|
|
p->addModel(rack::core::modelMIDI_Gate); |
|
|
|
p->addModel(rack::core::modelMIDI_Map); |
|
|
|
p->addModel(rack::core::modelCV_MIDI); |
|
|
|
p->addModel(rack::core::modelCV_CC); |
|
|
|
p->addModel(rack::core::modelCV_Gate); |
|
|
|
p->addModel(rack::core::modelBlank); |
|
|
|
p->addModel(rack::core::modelNotes); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__AnimatedCircuits() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__AnimatedCircuits = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "AnimatedCircuits"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(model_AC_Folding); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "AnimatedCircuits"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(model_AC_Folding); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__AudibleInstruments() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__AudibleInstruments = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "AudibleInstruments"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelBraids); |
|
|
|
p->addModel(modelPlaits); |
|
|
|
p->addModel(modelElements); |
|
|
|
p->addModel(modelTides); |
|
|
|
p->addModel(modelTides2); |
|
|
|
p->addModel(modelClouds); |
|
|
|
p->addModel(modelWarps); |
|
|
|
p->addModel(modelRings); |
|
|
|
p->addModel(modelLinks); |
|
|
|
p->addModel(modelKinks); |
|
|
|
p->addModel(modelShades); |
|
|
|
p->addModel(modelBranches); |
|
|
|
p->addModel(modelBlinds); |
|
|
|
p->addModel(modelVeils); |
|
|
|
p->addModel(modelFrames); |
|
|
|
p->addModel(modelMarbles); |
|
|
|
p->addModel(modelStages); |
|
|
|
p->addModel(modelRipples); |
|
|
|
p->addModel(modelShelves); |
|
|
|
p->addModel(modelStreams); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "AudibleInstruments"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelBraids); |
|
|
|
p->addModel(modelPlaits); |
|
|
|
p->addModel(modelElements); |
|
|
|
p->addModel(modelTides); |
|
|
|
p->addModel(modelTides2); |
|
|
|
p->addModel(modelClouds); |
|
|
|
p->addModel(modelWarps); |
|
|
|
p->addModel(modelRings); |
|
|
|
p->addModel(modelLinks); |
|
|
|
p->addModel(modelKinks); |
|
|
|
p->addModel(modelShades); |
|
|
|
p->addModel(modelBranches); |
|
|
|
p->addModel(modelBlinds); |
|
|
|
p->addModel(modelVeils); |
|
|
|
p->addModel(modelFrames); |
|
|
|
p->addModel(modelMarbles); |
|
|
|
p->addModel(modelStages); |
|
|
|
p->addModel(modelRipples); |
|
|
|
p->addModel(modelShelves); |
|
|
|
p->addModel(modelStreams); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__Befaco() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__Befaco = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "Befaco"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelEvenVCO); |
|
|
|
p->addModel(modelRampage); |
|
|
|
p->addModel(modelABC); |
|
|
|
p->addModel(modelSpringReverb); |
|
|
|
p->addModel(modelMixer); |
|
|
|
p->addModel(modelSlewLimiter); |
|
|
|
p->addModel(modelDualAtenuverter); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "Befaco"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelEvenVCO); |
|
|
|
p->addModel(modelRampage); |
|
|
|
p->addModel(modelABC); |
|
|
|
p->addModel(modelSpringReverb); |
|
|
|
p->addModel(modelMixer); |
|
|
|
p->addModel(modelSlewLimiter); |
|
|
|
p->addModel(modelDualAtenuverter); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__BogaudioModules() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__BogaudioModules = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "BogaudioModules"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
const StaticPluginLoader spl(p, "BogaudioModules"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
#define modelADSR modelBogaudioADSR |
|
|
|
#define modelLFO modelBogaudioLFO |
|
|
|
#define modelNoise modelBogaudioNoise |
|
|
|
#define modelVCA modelBogaudioVCA |
|
|
|
#define modelVCF modelBogaudioVCF |
|
|
|
#define modelVCO modelBogaudioVCO |
|
|
|
p->addModel(modelVCO); |
|
|
|
p->addModel(modelLVCO); |
|
|
|
p->addModel(modelSine); |
|
|
|
p->addModel(modelPulse); |
|
|
|
p->addModel(modelXCO); |
|
|
|
p->addModel(modelAdditator); |
|
|
|
p->addModel(modelFMOp); |
|
|
|
p->addModel(modelChirp); |
|
|
|
p->addModel(modelLFO); |
|
|
|
p->addModel(modelLLFO); |
|
|
|
p->addModel(modelFourFO); |
|
|
|
p->addModel(modelEightFO); |
|
|
|
p->addModel(modelVCF); |
|
|
|
p->addModel(modelLVCF); |
|
|
|
p->addModel(modelFFB); |
|
|
|
p->addModel(modelEQ); |
|
|
|
p->addModel(modelEQS); |
|
|
|
p->addModel(modelLPG); |
|
|
|
p->addModel(modelLLPG); |
|
|
|
p->addModel(modelMegaGate); |
|
|
|
p->addModel(modelPEQ); |
|
|
|
p->addModel(modelPEQ6); |
|
|
|
p->addModel(modelPEQ6XF); |
|
|
|
p->addModel(modelPEQ14); |
|
|
|
p->addModel(modelPEQ14XF); |
|
|
|
p->addModel(modelDADSRH); |
|
|
|
p->addModel(modelDADSRHPlus); |
|
|
|
p->addModel(modelShaper); |
|
|
|
p->addModel(modelShaperPlus); |
|
|
|
p->addModel(modelAD); |
|
|
|
p->addModel(modelASR); |
|
|
|
p->addModel(modelADSR); |
|
|
|
p->addModel(modelVish); |
|
|
|
p->addModel(modelFollow); |
|
|
|
p->addModel(modelDGate); |
|
|
|
p->addModel(modelRGate); |
|
|
|
p->addModel(modelEdge); |
|
|
|
p->addModel(modelNoise); |
|
|
|
p->addModel(modelSampleHold); |
|
|
|
p->addModel(modelWalk2); |
|
|
|
p->addModel(modelWalk); |
|
|
|
p->addModel(modelMix8); |
|
|
|
p->addModel(modelMix8x); |
|
|
|
p->addModel(modelMix4); |
|
|
|
p->addModel(modelMix4x); |
|
|
|
p->addModel(modelMix2); |
|
|
|
p->addModel(modelMix1); |
|
|
|
p->addModel(modelVCM); |
|
|
|
p->addModel(modelMute8); |
|
|
|
p->addModel(modelPan); |
|
|
|
p->addModel(modelXFade); |
|
|
|
p->addModel(modelVCA); |
|
|
|
p->addModel(modelVCAmp); |
|
|
|
p->addModel(modelVelo); |
|
|
|
p->addModel(modelUMix); |
|
|
|
p->addModel(modelMumix); |
|
|
|
p->addModel(modelMatrix81); |
|
|
|
p->addModel(modelMatrix18); |
|
|
|
p->addModel(modelMatrix44); |
|
|
|
p->addModel(modelMatrix44Cvm); |
|
|
|
p->addModel(modelMatrix88); |
|
|
|
p->addModel(modelMatrix88Cv); |
|
|
|
p->addModel(modelMatrix88M); |
|
|
|
p->addModel(modelSwitch81); |
|
|
|
p->addModel(modelSwitch18); |
|
|
|
p->addModel(modelSwitch44); |
|
|
|
p->addModel(modelSwitch88); |
|
|
|
p->addModel(modelSwitch1616); |
|
|
|
p->addModel(modelAMRM); |
|
|
|
p->addModel(modelPressor); |
|
|
|
p->addModel(modelClpr); |
|
|
|
p->addModel(modelLmtr); |
|
|
|
p->addModel(modelNsgt); |
|
|
|
p->addModel(modelCmpDist); |
|
|
|
p->addModel(modelOneEight); |
|
|
|
p->addModel(modelEightOne); |
|
|
|
p->addModel(modelAddrSeq); |
|
|
|
p->addModel(modelAddrSeqX); |
|
|
|
p->addModel(modelPgmr); |
|
|
|
p->addModel(modelPgmrX); |
|
|
|
p->addModel(modelVU); |
|
|
|
p->addModel(modelAnalyzer); |
|
|
|
p->addModel(modelAnalyzerXL); |
|
|
|
p->addModel(modelRanalyzer); |
|
|
|
p->addModel(modelDetune); |
|
|
|
p->addModel(modelStack); |
|
|
|
p->addModel(modelReftone); |
|
|
|
p->addModel(modelMono); |
|
|
|
p->addModel(modelArp); |
|
|
|
p->addModel(modelAssign); |
|
|
|
p->addModel(modelUnison); |
|
|
|
p->addModel(modelPolyCon8); |
|
|
|
p->addModel(modelPolyCon16); |
|
|
|
p->addModel(modelPolyOff8); |
|
|
|
p->addModel(modelPolyOff16); |
|
|
|
p->addModel(modelPolyMult); |
|
|
|
p->addModel(modelBool); |
|
|
|
p->addModel(modelCmp); |
|
|
|
p->addModel(modelCVD); |
|
|
|
p->addModel(modelFlipFlop); |
|
|
|
p->addModel(modelInv); |
|
|
|
p->addModel(modelManual); |
|
|
|
p->addModel(modelFourMan); |
|
|
|
p->addModel(modelMult); |
|
|
|
p->addModel(modelOffset); |
|
|
|
p->addModel(modelSlew); |
|
|
|
p->addModel(modelSums); |
|
|
|
p->addModel(modelSwitch); |
|
|
|
p->addModel(modelLgsw); |
|
|
|
p->addModel(modelBlank3); |
|
|
|
p->addModel(modelBlank6); |
|
|
|
p->addModel(modelVCO); |
|
|
|
p->addModel(modelLVCO); |
|
|
|
p->addModel(modelSine); |
|
|
|
p->addModel(modelPulse); |
|
|
|
p->addModel(modelXCO); |
|
|
|
p->addModel(modelAdditator); |
|
|
|
p->addModel(modelFMOp); |
|
|
|
p->addModel(modelChirp); |
|
|
|
p->addModel(modelLFO); |
|
|
|
p->addModel(modelLLFO); |
|
|
|
p->addModel(modelFourFO); |
|
|
|
p->addModel(modelEightFO); |
|
|
|
p->addModel(modelVCF); |
|
|
|
p->addModel(modelLVCF); |
|
|
|
p->addModel(modelFFB); |
|
|
|
p->addModel(modelEQ); |
|
|
|
p->addModel(modelEQS); |
|
|
|
p->addModel(modelLPG); |
|
|
|
p->addModel(modelLLPG); |
|
|
|
p->addModel(modelMegaGate); |
|
|
|
p->addModel(modelPEQ); |
|
|
|
p->addModel(modelPEQ6); |
|
|
|
p->addModel(modelPEQ6XF); |
|
|
|
p->addModel(modelPEQ14); |
|
|
|
p->addModel(modelPEQ14XF); |
|
|
|
p->addModel(modelDADSRH); |
|
|
|
p->addModel(modelDADSRHPlus); |
|
|
|
p->addModel(modelShaper); |
|
|
|
p->addModel(modelShaperPlus); |
|
|
|
p->addModel(modelAD); |
|
|
|
p->addModel(modelASR); |
|
|
|
p->addModel(modelADSR); |
|
|
|
p->addModel(modelVish); |
|
|
|
p->addModel(modelFollow); |
|
|
|
p->addModel(modelDGate); |
|
|
|
p->addModel(modelRGate); |
|
|
|
p->addModel(modelEdge); |
|
|
|
p->addModel(modelNoise); |
|
|
|
p->addModel(modelSampleHold); |
|
|
|
p->addModel(modelWalk2); |
|
|
|
p->addModel(modelWalk); |
|
|
|
p->addModel(modelMix8); |
|
|
|
p->addModel(modelMix8x); |
|
|
|
p->addModel(modelMix4); |
|
|
|
p->addModel(modelMix4x); |
|
|
|
p->addModel(modelMix2); |
|
|
|
p->addModel(modelMix1); |
|
|
|
p->addModel(modelVCM); |
|
|
|
p->addModel(modelMute8); |
|
|
|
p->addModel(modelPan); |
|
|
|
p->addModel(modelXFade); |
|
|
|
p->addModel(modelVCA); |
|
|
|
p->addModel(modelVCAmp); |
|
|
|
p->addModel(modelVelo); |
|
|
|
p->addModel(modelUMix); |
|
|
|
p->addModel(modelMumix); |
|
|
|
p->addModel(modelMatrix81); |
|
|
|
p->addModel(modelMatrix18); |
|
|
|
p->addModel(modelMatrix44); |
|
|
|
p->addModel(modelMatrix44Cvm); |
|
|
|
p->addModel(modelMatrix88); |
|
|
|
p->addModel(modelMatrix88Cv); |
|
|
|
p->addModel(modelMatrix88M); |
|
|
|
p->addModel(modelSwitch81); |
|
|
|
p->addModel(modelSwitch18); |
|
|
|
p->addModel(modelSwitch44); |
|
|
|
p->addModel(modelSwitch88); |
|
|
|
p->addModel(modelSwitch1616); |
|
|
|
p->addModel(modelAMRM); |
|
|
|
p->addModel(modelPressor); |
|
|
|
p->addModel(modelClpr); |
|
|
|
p->addModel(modelLmtr); |
|
|
|
p->addModel(modelNsgt); |
|
|
|
p->addModel(modelCmpDist); |
|
|
|
p->addModel(modelOneEight); |
|
|
|
p->addModel(modelEightOne); |
|
|
|
p->addModel(modelAddrSeq); |
|
|
|
p->addModel(modelAddrSeqX); |
|
|
|
p->addModel(modelPgmr); |
|
|
|
p->addModel(modelPgmrX); |
|
|
|
p->addModel(modelVU); |
|
|
|
p->addModel(modelAnalyzer); |
|
|
|
p->addModel(modelAnalyzerXL); |
|
|
|
p->addModel(modelRanalyzer); |
|
|
|
p->addModel(modelDetune); |
|
|
|
p->addModel(modelStack); |
|
|
|
p->addModel(modelReftone); |
|
|
|
p->addModel(modelMono); |
|
|
|
p->addModel(modelArp); |
|
|
|
p->addModel(modelAssign); |
|
|
|
p->addModel(modelUnison); |
|
|
|
p->addModel(modelPolyCon8); |
|
|
|
p->addModel(modelPolyCon16); |
|
|
|
p->addModel(modelPolyOff8); |
|
|
|
p->addModel(modelPolyOff16); |
|
|
|
p->addModel(modelPolyMult); |
|
|
|
p->addModel(modelBool); |
|
|
|
p->addModel(modelCmp); |
|
|
|
p->addModel(modelCVD); |
|
|
|
p->addModel(modelFlipFlop); |
|
|
|
p->addModel(modelInv); |
|
|
|
p->addModel(modelManual); |
|
|
|
p->addModel(modelFourMan); |
|
|
|
p->addModel(modelMult); |
|
|
|
p->addModel(modelOffset); |
|
|
|
p->addModel(modelSlew); |
|
|
|
p->addModel(modelSums); |
|
|
|
p->addModel(modelSwitch); |
|
|
|
p->addModel(modelLgsw); |
|
|
|
p->addModel(modelBlank3); |
|
|
|
p->addModel(modelBlank6); |
|
|
|
#ifdef EXPERIMENTAL |
|
|
|
p->addModel(modelLag); |
|
|
|
p->addModel(modelPEQ14XR); |
|
|
|
p->addModel(modelPEQ14XV); |
|
|
|
p->addModel(modelLag); |
|
|
|
p->addModel(modelPEQ14XR); |
|
|
|
p->addModel(modelPEQ14XV); |
|
|
|
#endif |
|
|
|
#ifdef TEST |
|
|
|
p->addModel(modelTest); |
|
|
|
p->addModel(modelTest2); |
|
|
|
p->addModel(modelTestExpanderBase); |
|
|
|
p->addModel(modelTestExpanderExtension); |
|
|
|
p->addModel(modelTestGl); |
|
|
|
p->addModel(modelTestVCF); |
|
|
|
p->addModel(modelTest); |
|
|
|
p->addModel(modelTest2); |
|
|
|
p->addModel(modelTestExpanderBase); |
|
|
|
p->addModel(modelTestExpanderExtension); |
|
|
|
p->addModel(modelTestGl); |
|
|
|
p->addModel(modelTestVCF); |
|
|
|
#endif |
|
|
|
#undef modelADSR |
|
|
|
#undef modelLFO |
|
|
@@ -427,69 +491,69 @@ static void initStatic__BogaudioModules() |
|
|
|
#undef modelVCA |
|
|
|
#undef modelVCF |
|
|
|
#undef modelVCO |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__Fundamental() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__Fundamental = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "Fundamental"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelVCO); |
|
|
|
p->addModel(modelVCO2); |
|
|
|
p->addModel(modelVCF); |
|
|
|
p->addModel(modelVCA_1); |
|
|
|
p->addModel(modelVCA); |
|
|
|
p->addModel(modelLFO); |
|
|
|
p->addModel(modelLFO2); |
|
|
|
p->addModel(modelDelay); |
|
|
|
p->addModel(modelADSR); |
|
|
|
p->addModel(modelVCMixer); |
|
|
|
p->addModel(model_8vert); |
|
|
|
p->addModel(modelUnity); |
|
|
|
p->addModel(modelMutes); |
|
|
|
p->addModel(modelPulses); |
|
|
|
p->addModel(modelScope); |
|
|
|
p->addModel(modelSEQ3); |
|
|
|
p->addModel(modelSequentialSwitch1); |
|
|
|
p->addModel(modelSequentialSwitch2); |
|
|
|
p->addModel(modelOctave); |
|
|
|
p->addModel(modelQuantizer); |
|
|
|
p->addModel(modelSplit); |
|
|
|
p->addModel(modelMerge); |
|
|
|
p->addModel(modelSum); |
|
|
|
p->addModel(modelViz); |
|
|
|
p->addModel(modelMidSide); |
|
|
|
p->addModel(modelNoise); |
|
|
|
p->addModel(modelRandom); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "Fundamental"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelVCO); |
|
|
|
p->addModel(modelVCO2); |
|
|
|
p->addModel(modelVCF); |
|
|
|
p->addModel(modelVCA_1); |
|
|
|
p->addModel(modelVCA); |
|
|
|
p->addModel(modelLFO); |
|
|
|
p->addModel(modelLFO2); |
|
|
|
p->addModel(modelDelay); |
|
|
|
p->addModel(modelADSR); |
|
|
|
p->addModel(modelVCMixer); |
|
|
|
p->addModel(model_8vert); |
|
|
|
p->addModel(modelUnity); |
|
|
|
p->addModel(modelMutes); |
|
|
|
p->addModel(modelPulses); |
|
|
|
p->addModel(modelScope); |
|
|
|
p->addModel(modelSEQ3); |
|
|
|
p->addModel(modelSequentialSwitch1); |
|
|
|
p->addModel(modelSequentialSwitch2); |
|
|
|
p->addModel(modelOctave); |
|
|
|
p->addModel(modelQuantizer); |
|
|
|
p->addModel(modelSplit); |
|
|
|
p->addModel(modelMerge); |
|
|
|
p->addModel(modelSum); |
|
|
|
p->addModel(modelViz); |
|
|
|
p->addModel(modelMidSide); |
|
|
|
p->addModel(modelNoise); |
|
|
|
p->addModel(modelRandom); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__GrandeModular() |
|
|
|
{ |
|
|
|
Plugin* p = new Plugin; |
|
|
|
Plugin* const p = new Plugin; |
|
|
|
pluginInstance__GrandeModular = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "GrandeModular"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelClip); |
|
|
|
p->addModel(modelMergeSplit4); |
|
|
|
p->addModel(modelMicrotonalChords); |
|
|
|
p->addModel(modelMicrotonalNotes); |
|
|
|
p->addModel(modelNoteMT); |
|
|
|
p->addModel(modelPolyMergeResplit); |
|
|
|
p->addModel(modelQuant); |
|
|
|
p->addModel(modelQuantIntervals); |
|
|
|
p->addModel(modelQuantMT); |
|
|
|
p->addModel(modelSampleDelays); |
|
|
|
p->addModel(modelScale); |
|
|
|
p->addModel(modelTails); |
|
|
|
p->addModel(modelVarSampleDelays); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "GrandeModular"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelClip); |
|
|
|
p->addModel(modelMergeSplit4); |
|
|
|
p->addModel(modelMicrotonalChords); |
|
|
|
p->addModel(modelMicrotonalNotes); |
|
|
|
p->addModel(modelNoteMT); |
|
|
|
p->addModel(modelPolyMergeResplit); |
|
|
|
p->addModel(modelQuant); |
|
|
|
p->addModel(modelQuantIntervals); |
|
|
|
p->addModel(modelQuantMT); |
|
|
|
p->addModel(modelSampleDelays); |
|
|
|
p->addModel(modelScale); |
|
|
|
p->addModel(modelTails); |
|
|
|
p->addModel(modelVarSampleDelays); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
static void initStatic__ZetaCarinaeModules() |
|
|
@@ -497,30 +561,38 @@ static void initStatic__ZetaCarinaeModules() |
|
|
|
Plugin* p = new Plugin; |
|
|
|
pluginInstance__ZetaCarinaeModules = p; |
|
|
|
|
|
|
|
const StaticPluginLoader spl(p, "ZetaCarinaeModules"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelBrownianBridge); |
|
|
|
p->addModel(modelOrnsteinUhlenbeck); |
|
|
|
p->addModel(modelIOU); |
|
|
|
p->addModel(modelWarbler); |
|
|
|
p->addModel(modelRosenchance); |
|
|
|
p->addModel(modelGuildensTurn); |
|
|
|
p->addModel(modelRosslerRustler); |
|
|
|
p->addModel(modelFirefly); |
|
|
|
} |
|
|
|
const StaticPluginLoader spl(p, "ZetaCarinaeModules"); |
|
|
|
if (spl.ok()) |
|
|
|
{ |
|
|
|
p->addModel(modelBrownianBridge); |
|
|
|
p->addModel(modelOrnsteinUhlenbeck); |
|
|
|
p->addModel(modelIOU); |
|
|
|
p->addModel(modelWarbler); |
|
|
|
p->addModel(modelRosenchance); |
|
|
|
p->addModel(modelGuildensTurn); |
|
|
|
p->addModel(modelRosslerRustler); |
|
|
|
p->addModel(modelFirefly); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void initStaticPlugins() |
|
|
|
{ |
|
|
|
initStatic__Core(); |
|
|
|
initStatic__AnimatedCircuits(); |
|
|
|
initStatic__AudibleInstruments(); |
|
|
|
initStatic__Befaco(); |
|
|
|
initStatic__BogaudioModules(); |
|
|
|
initStatic__BogaudioModules(); |
|
|
|
initStatic__Fundamental(); |
|
|
|
initStatic__GrandeModular(); |
|
|
|
initStatic__GrandeModular(); |
|
|
|
initStatic__ZetaCarinaeModules(); |
|
|
|
} |
|
|
|
|
|
|
|
void destroyStaticPlugins() |
|
|
|
{ |
|
|
|
for (Plugin* p : plugins) |
|
|
|
delete p; |
|
|
|
plugins.clear(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |