| @@ -1,6 +1,4 @@ | |||||
| RACK_DIR ?= ../.. | RACK_DIR ?= ../.. | ||||
| SLUG = Fundamental | |||||
| VERSION = 0.6.1 | |||||
| FLAGS += -Idep/include | FLAGS += -Idep/include | ||||
| SOURCES += $(wildcard src/*.cpp) | SOURCES += $(wildcard src/*.cpp) | ||||
| @@ -0,0 +1,81 @@ | |||||
| { | |||||
| "slug": "Fundamental", | |||||
| "name": "Fundamental", | |||||
| "author": "VCV", | |||||
| "license": "BSD-3-Clause", | |||||
| "authorEmail": "contact@vcvrack.com", | |||||
| "pluginUrl": "https://vcvrack.com/Fundamental.html", | |||||
| "authorUrl": "https://vcvrack.com/", | |||||
| "sourceUrl": "https://github.com/VCVRack/Fundamental", | |||||
| "version": "1.0.0", | |||||
| "modules": { | |||||
| "VCO": { | |||||
| "name": "VCO-1", | |||||
| "tags": ["VCO"] | |||||
| }, | |||||
| "VCO2": { | |||||
| "name": "VCO-2", | |||||
| "tags": ["VCO"] | |||||
| }, | |||||
| "VCF": { | |||||
| "name": "VCF", | |||||
| "tags": ["VCF"] | |||||
| }, | |||||
| "VCA-1": { | |||||
| "name": "VCA-1", | |||||
| "tags": ["VCA"] | |||||
| }, | |||||
| "VCA": { | |||||
| "name": "VCA-2", | |||||
| "tags": ["VCA", "Dual"] | |||||
| }, | |||||
| "LFO": { | |||||
| "name": "LFO-1", | |||||
| "tags": ["LFO"] | |||||
| }, | |||||
| "LFO2": { | |||||
| "name": "LFO-2", | |||||
| "tags": ["LFO"] | |||||
| }, | |||||
| "Delay": { | |||||
| "name": "Delay", | |||||
| "tags": ["Delay"] | |||||
| }, | |||||
| "ADSR": { | |||||
| "name": "ADSR", | |||||
| "tags": ["Envelope Generator"] | |||||
| }, | |||||
| "VCMixer": { | |||||
| "name": "Mixer", | |||||
| "tags": ["Mixer", "VCA"] | |||||
| }, | |||||
| "8vert": { | |||||
| "name": "8vert", | |||||
| "tags": ["Attenuator"] | |||||
| }, | |||||
| "Unity": { | |||||
| "name": "Unity", | |||||
| "tags": ["Mixer", "Utility", "Dual"] | |||||
| }, | |||||
| "Mutes": { | |||||
| "name": "Mutes", | |||||
| "tags": ["Switch"] | |||||
| }, | |||||
| "Scope": { | |||||
| "name": "Scope", | |||||
| "tags": ["Visual"] | |||||
| }, | |||||
| "SEQ3": { | |||||
| "name": "SEQ-3", | |||||
| "tags": ["Sequencer"] | |||||
| }, | |||||
| "SequentialSwitch1": { | |||||
| "name": "Sequential Switch 1", | |||||
| "tags": ["Utility"] | |||||
| }, | |||||
| "SequentialSwitch2": { | |||||
| "name": "Sequential Switch 1", | |||||
| "tags": ["Utility"] | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -81,4 +81,4 @@ _8vertWidget::_8vertWidget(_8vert *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *model_8vert = Model::create<_8vert, _8vertWidget>("Fundamental", "8vert", "8vert", ATTENUATOR_TAG); | |||||
| Model *model_8vert = Model::create<_8vert, _8vertWidget>("8vert"); | |||||
| @@ -135,4 +135,4 @@ ADSRWidget::ADSRWidget(ADSR *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelADSR = Model::create<ADSR, ADSRWidget>("Fundamental", "ADSR", "ADSR", ENVELOPE_GENERATOR_TAG); | |||||
| Model *modelADSR = createModel<ADSR, ADSRWidget>("ADSR", "ADSR", ENVELOPE_GENERATOR_TAG); | |||||
| @@ -136,4 +136,4 @@ DelayWidget::DelayWidget(Delay *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelDelay = Model::create<Delay, DelayWidget>("Fundamental", "Delay", "Delay", DELAY_TAG); | |||||
| Model *modelDelay = createModel<Delay, DelayWidget>("Delay"); | |||||
| @@ -1,4 +1,4 @@ | |||||
| #include "rack.hpp" | |||||
| #include "rack0.hpp" | |||||
| using namespace rack; | using namespace rack; | ||||
| @@ -155,7 +155,7 @@ LFOWidget::LFOWidget(LFO *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelLFO = Model::create<LFO, LFOWidget>("Fundamental", "LFO", "LFO-1", LFO_TAG); | |||||
| Model *modelLFO = createModel<LFO, LFOWidget>("LFO"); | |||||
| struct LFO2 : Module { | struct LFO2 : Module { | ||||
| @@ -242,4 +242,4 @@ LFO2Widget::LFO2Widget(LFO2 *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelLFO2 = Model::create<LFO2, LFO2Widget>("Fundamental", "LFO2", "LFO-2", LFO_TAG); | |||||
| Model *modelLFO2 = createModel<LFO2, LFO2Widget>("LFO2"); | |||||
| @@ -145,4 +145,4 @@ MutesWidget::MutesWidget(Mutes *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelMutes = Model::create<Mutes, MutesWidget>("Fundamental", "Mutes", "Mutes", SWITCH_TAG); | |||||
| Model *modelMutes = Model::create<Mutes, MutesWidget>("Mutes"); | |||||
| @@ -203,4 +203,4 @@ struct SEQ3Widget : ModuleWidget { | |||||
| Model *modelSEQ3 = Model::create<SEQ3, SEQ3Widget>("Fundamental", "SEQ3", "SEQ-3", SEQUENCER_TAG); | |||||
| Model *modelSEQ3 = Model::create<SEQ3, SEQ3Widget>("SEQ3"); | |||||
| @@ -339,4 +339,4 @@ ScopeWidget::ScopeWidget(Scope *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelScope = Model::create<Scope, ScopeWidget>("Fundamental", "Scope", "Scope", VISUAL_TAG); | |||||
| Model *modelScope = Model::create<Scope, ScopeWidget>("Scope"); | |||||
| @@ -104,7 +104,7 @@ SequentialSwitch1Widget::SequentialSwitch1Widget(SequentialSwitch<1> *module) : | |||||
| } | } | ||||
| Model *modelSequentialSwitch1 = Model::create<SequentialSwitch<1>, SequentialSwitch1Widget>("Fundamental", "SequentialSwitch1", "Sequential Switch 1", UTILITY_TAG); | |||||
| Model *modelSequentialSwitch1 = Model::create<SequentialSwitch<1>, SequentialSwitch1Widget>("SequentialSwitch1"); | |||||
| struct SequentialSwitch2Widget : ModuleWidget { | struct SequentialSwitch2Widget : ModuleWidget { | ||||
| @@ -136,4 +136,4 @@ SequentialSwitch2Widget::SequentialSwitch2Widget(SequentialSwitch<2> *module) : | |||||
| } | } | ||||
| Model *modelSequentialSwitch2 = Model::create<SequentialSwitch<2>, SequentialSwitch2Widget>("Fundamental", "SequentialSwitch2", "Sequential Switch 2", UTILITY_TAG); | |||||
| Model *modelSequentialSwitch2 = Model::create<SequentialSwitch<2>, SequentialSwitch2Widget>("SequentialSwitch2"); | |||||
| @@ -159,4 +159,4 @@ void UnityWidget::appendContextMenu(Menu *menu) { | |||||
| } | } | ||||
| Model *modelUnity = Model::create<Unity, UnityWidget>("Fundamental", "Unity", "Unity", MIXER_TAG, UTILITY_TAG, DUAL_TAG); | |||||
| Model *modelUnity = Model::create<Unity, UnityWidget>("Unity"); | |||||
| @@ -160,5 +160,5 @@ struct VCA_1Widget : ModuleWidget { | |||||
| }; | }; | ||||
| Model *modelVCA_1 = Model::create<VCA_1, VCA_1Widget>("Fundamental", "VCA-1", "VCA-1", AMPLIFIER_TAG); | |||||
| Model *modelVCA = Model::create<VCA, VCAWidget>("Fundamental", "VCA", "VCA-2", AMPLIFIER_TAG, DUAL_TAG); | |||||
| Model *modelVCA_1 = createModel<VCA_1, VCA_1Widget>("VCA-1", "VCA-1", AMPLIFIER_TAG); | |||||
| Model *modelVCA = createModel<VCA, VCAWidget>("VCA", "VCA-2", AMPLIFIER_TAG, DUAL_TAG); | |||||
| @@ -172,4 +172,4 @@ struct VCFWidget : ModuleWidget { | |||||
| Model *modelVCF = Model::create<VCF, VCFWidget>("Fundamental", "VCF", "VCF", FILTER_TAG); | |||||
| Model *modelVCF = createModel<VCF, VCFWidget>("VCF"); | |||||
| @@ -74,4 +74,4 @@ struct VCMixerWidget : ModuleWidget { | |||||
| }; | }; | ||||
| Model *modelVCMixer = Model::create<VCMixer, VCMixerWidget>("Fundamental", "VCMixer", "Mixer", MIXER_TAG, AMPLIFIER_TAG); | |||||
| Model *modelVCMixer = Model::create<VCMixer, VCMixerWidget>("VCMixer"); | |||||
| @@ -265,7 +265,7 @@ VCOWidget::VCOWidget(VCO *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelVCO = Model::create<VCO, VCOWidget>("Fundamental", "VCO", "VCO-1", OSCILLATOR_TAG); | |||||
| Model *modelVCO = createModel<VCO, VCOWidget>("VCO"); | |||||
| struct VCO2 : Module { | struct VCO2 : Module { | ||||
| @@ -355,7 +355,7 @@ VCO2Widget::VCO2Widget(VCO2 *module) : ModuleWidget(module) { | |||||
| } | } | ||||
| Model *modelVCO2 = Model::create<VCO2, VCO2Widget>("Fundamental", "VCO2", "VCO-2", OSCILLATOR_TAG); | |||||
| Model *modelVCO2 = createModel<VCO2, VCO2Widget>("VCO2"); | |||||
| float sawTable[2048] = { | float sawTable[2048] = { | ||||