commit e9aedd4c77d07a1cd122d75b6739e6bcfa15e751
parent 62ff449599c2fdaf6b059247e7fc5aae8d8a84d6
Author: Matt Demanett <matt@demanett.net>
Date: Sat, 18 May 2019 23:04:32 -0400
v1: config(), setModule(), configParam() most places.
Diffstat:
105 files changed, 808 insertions(+), 436 deletions(-)
diff --git a/src/AD.cpp b/src/AD.cpp
@@ -63,7 +63,8 @@ void AD::process(const ProcessArgs& args) {
struct ADWidget : ModuleWidget {
static constexpr int hp = 3;
- ADWidget(AD* module) : ModuleWidget(module) {
+ ADWidget(AD* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -95,10 +96,10 @@ struct ADWidget : ModuleWidget {
auto linearLightPosition = Vec(2.5, 147.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(attackParamPosition, module, AD::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob29>(decayParamPosition, module, AD::DECAY_PARAM, 0.0, 1.0, 0.31623));
- addParam(createParam<StatefulButton9>(loopParamPosition, module, AD::LOOP_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(linearParamPosition, module, AD::LINEAR_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(attackParamPosition, module, AD::ATTACK_PARAM));
+ addParam(createParam<Knob29>(decayParamPosition, module, AD::DECAY_PARAM));
+ addParam(createParam<StatefulButton9>(loopParamPosition, module, AD::LOOP_PARAM));
+ addParam(createParam<StatefulButton9>(linearParamPosition, module, AD::LINEAR_PARAM));
addInput(createInput<Port24>(triggerInputPosition, module, AD::TRIGGER_INPUT));
addInput(createInput<Port24>(attackInputPosition, module, AD::ATTACK_INPUT));
diff --git a/src/AD.hpp b/src/AD.hpp
@@ -51,7 +51,13 @@ struct AD : Module {
bogaudio::dsp::SlewLimiter _attackSL;
bogaudio::dsp::SlewLimiter _decaySL;
- AD() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ AD() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.31623f, "decay");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 0.0f, "loop");
+ configParam(LINEAR_PARAM, 0.0f, 1.0f, 0.0f, "linear");
+
onReset();
onSampleRateChange();
_envelope.setSustain(0.0f);
diff --git a/src/ADSR.cpp b/src/ADSR.cpp
@@ -42,7 +42,8 @@ void ADSR::process(const ProcessArgs& args) {
struct ADSRWidget : ModuleWidget {
static constexpr int hp = 3;
- ADSRWidget(ADSR* module) : ModuleWidget(module) {
+ ADSRWidget(ADSR* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -73,11 +74,11 @@ struct ADSRWidget : ModuleWidget {
auto linearLightPosition = Vec(4.0, 247.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(attackParamPosition, module, ADSR::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob29>(decayParamPosition, module, ADSR::DECAY_PARAM, 0.0, 1.0, 0.31623));
- addParam(createParam<Knob29>(sustainParamPosition, module, ADSR::SUSTAIN_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob29>(releaseParamPosition, module, ADSR::RELEASE_PARAM, 0.0, 1.0, 0.31623));
- addParam(createParam<StatefulButton9>(linearParamPosition, module, ADSR::LINEAR_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(attackParamPosition, module, ADSR::ATTACK_PARAM));
+ addParam(createParam<Knob29>(decayParamPosition, module, ADSR::DECAY_PARAM));
+ addParam(createParam<Knob29>(sustainParamPosition, module, ADSR::SUSTAIN_PARAM));
+ addParam(createParam<Knob29>(releaseParamPosition, module, ADSR::RELEASE_PARAM));
+ addParam(createParam<StatefulButton9>(linearParamPosition, module, ADSR::LINEAR_PARAM));
addInput(createInput<Port24>(gateInputPosition, module, ADSR::GATE_INPUT));
diff --git a/src/ADSR.hpp b/src/ADSR.hpp
@@ -42,7 +42,14 @@ struct ADSR : Module {
Trigger _gateTrigger;
bogaudio::dsp::ADSR _envelope;
- ADSR() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ ADSR() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.31623f, "decay");
+ configParam(SUSTAIN_PARAM, 0.0f, 1.0f, 1.0f, "sustain");
+ configParam(RELEASE_PARAM, 0.0f, 1.0f, 0.31623f, "release");
+ configParam(LINEAR_PARAM, 0.0f, 1.0f, 0.0f, "linear");
+
onReset();
onSampleRateChange();
}
diff --git a/src/AMRM.cpp b/src/AMRM.cpp
@@ -34,7 +34,8 @@ void AMRM::process(const ProcessArgs& args) {
struct AMRMWidget : ModuleWidget {
static constexpr int hp = 6;
- AMRMWidget(AMRM* module) : ModuleWidget(module) {
+ AMRMWidget(AMRM* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -60,8 +61,8 @@ struct AMRMWidget : ModuleWidget {
auto outOutputPosition = Vec(50.0, 320.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob45>(rectifyParamPosition, module, AMRM::RECTIFY_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob45>(drywetParamPosition, module, AMRM::DRYWET_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob45>(rectifyParamPosition, module, AMRM::RECTIFY_PARAM));
+ addParam(createParam<Knob45>(drywetParamPosition, module, AMRM::DRYWET_PARAM));
addInput(createInput<Port24>(modulatorInputPosition, module, AMRM::MODULATOR_INPUT));
addInput(createInput<Port24>(carrierInputPosition, module, AMRM::CARRIER_INPUT));
diff --git a/src/AMRM.hpp b/src/AMRM.hpp
@@ -36,7 +36,10 @@ struct AMRM : Module {
Saturator _saturator;
- AMRM() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ AMRM() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RECTIFY_PARAM, 0.0f, 1.0f, 0.0f, "rectify");
+ configParam(DRYWET_PARAM, 0.0f, 1.0f, 1.0f, "drywet");
}
void process(const ProcessArgs& args) override;
diff --git a/src/Additator.cpp b/src/Additator.cpp
@@ -159,7 +159,8 @@ void Additator::process(const ProcessArgs& args) {
struct AdditatorWidget : ModuleWidget {
static constexpr int hp = 15;
- AdditatorWidget(Additator* module) : ModuleWidget(module) {
+ AdditatorWidget(Additator* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -204,42 +205,21 @@ struct AdditatorWidget : ModuleWidget {
auto cosineLightPosition = Vec(185.0, 287.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob68>(frequencyParamPosition, module, Additator::FREQUENCY_PARAM, -3.0, 6.0, 0.0));
+ addParam(createParam<Knob68>(frequencyParamPosition, module, Additator::FREQUENCY_PARAM));
{
- auto w = createParam<Knob38>(partialsParamPosition, module, Additator::PARTIALS_PARAM, 1.0, Additator::maxPartials, Additator::maxPartials / 5.0);
+ auto w = createParam<Knob38>(partialsParamPosition, module, Additator::PARTIALS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<Knob16>(fineParamPosition, module, Additator::FINE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(widthParamPosition, module, Additator::WIDTH_PARAM, 0.0, maxWidth, maxWidth / 2.0));
- addParam(createParam<Knob26>(oddSkewParamPosition, module, Additator::ODD_SKEW_PARAM, -maxSkew, maxSkew, 0.0));
- addParam(createParam<Knob26>(evenSkewParamPosition, module, Additator::EVEN_SKEW_PARAM, -maxSkew, maxSkew, 0.0));
- addParam(createParam<Knob26>(
- gainParamPosition,
- module,
- Additator::GAIN_PARAM,
- minAmplitudeNormalization,
- maxAmplitudeNormalization,
- (maxAmplitudeNormalization - minAmplitudeNormalization) / 2.0 + minAmplitudeNormalization
- ));
- addParam(createParam<Knob26>(
- decayParamPosition,
- module,
- Additator::DECAY_PARAM,
- minDecay,
- maxDecay,
- (maxDecay - minDecay) / 2.0 + minDecay
- ));
- addParam(createParam<Knob26>(balanceParamPosition, module, Additator::BALANCE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(
- filterParamPosition,
- module,
- Additator::FILTER_PARAM,
- minFilter,
- maxFilter,
- (maxFilter - minFilter) / 2.0 + minFilter
- ));
- addParam(createParam<StatefulButton9>(phaseParamPosition, module, Additator::PHASE_PARAM, 1.0, 2.0, 1.0));
+ addParam(createParam<Knob16>(fineParamPosition, module, Additator::FINE_PARAM));
+ addParam(createParam<Knob26>(widthParamPosition, module, Additator::WIDTH_PARAM));
+ addParam(createParam<Knob26>(oddSkewParamPosition, module, Additator::ODD_SKEW_PARAM));
+ addParam(createParam<Knob26>(evenSkewParamPosition, module, Additator::EVEN_SKEW_PARAM));
+ addParam(createParam<Knob26>gainParamPosition, module, Additator::GAIN_PARAM));
+ addParam(createParam<Knob26>decayParamPosition, module, Additator::DECAY_PARAM));
+ addParam(createParam<Knob26>(balanceParamPosition, module, Additator::BALANCE_PARAM));
+ addParam(createParam<Knob26>filterParamPosition, module, Additator::FILTER_PARAM));
+ addParam(createParam<StatefulButton9>(phaseParamPosition, module, Additator::PHASE_PARAM));
addInput(createInput<Port24>(partialsInputPosition, module, Additator::PARTIALS_INPUT));
addInput(createInput<Port24>(widthInputPosition, module, Additator::WIDTH_INPUT));
diff --git a/src/Additator.hpp b/src/Additator.hpp
@@ -83,9 +83,21 @@ struct Additator : Module {
bogaudio::dsp::SlewLimiter _filterSL;
Additator()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _oscillator(1000.0f, 100.0f, maxPartials)
+ : _oscillator(1000.0f, 100.0f, maxPartials)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(FREQUENCY_PARAM, -3.0f, 6.0f, 0.0f, "frequency");
+ configParam(PARTIALS_PARAM, 1.0f, Additator::maxPartials, Additator::maxPartials / 5.0f, "partials");
+ configParam(FINE_PARAM, -1.0f, 1.0f, 0.0f, "fine");
+ configParam(WIDTH_PARAM, 0.0f, maxWidth, maxWidth / 2.0f, "width");
+ configParam(ODD_SKEW_PARAM, -maxSkew, maxSkew, 0.0f, "odd_skew");
+ configParam(EVEN_SKEW_PARAM, -maxSkew, maxSkew, 0.0f, "even_skew");
+ configParam(GAIN_PARAM, minAmplitudeNormalization, maxAmplitudeNormalization, (maxAmplitudeNormalization - minAmplitudeNormalization, "gain");
+ configParam(DECAY_PARAM, minDecay, maxDecay, (maxDecay - minDecay, "decay");
+ configParam(BALANCE_PARAM, -1.0f, 1.0f, 0.0f, "balance");
+ configParam(FILTER_PARAM, minFilter, maxFilter, (maxFilter - minFilter, "filter");
+ configParam(PHASE_PARAM, 1.0f, 2.0f, 1.0f, "phase");
+
onReset();
onSampleRateChange();
}
diff --git a/src/AddrSeq.cpp b/src/AddrSeq.cpp
@@ -76,7 +76,8 @@ struct SelectOnClockMenuItem : MenuItem {
struct AddrSeqWidget : ModuleWidget {
static constexpr int hp = 6;
- AddrSeqWidget(AddrSeq* module) : ModuleWidget(module) {
+ AddrSeqWidget(AddrSeq* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -119,24 +120,24 @@ struct AddrSeqWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob16>(stepsParamPosition, module, AddrSeq::STEPS_PARAM, 1.0, 8.0, 8.0);
+ auto w = createParam<Knob16>(stepsParamPosition, module, AddrSeq::STEPS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, AddrSeq::DIRECTION_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, AddrSeq::DIRECTION_PARAM));
{
- auto w = createParam<Knob29>(selectParamPosition, module, AddrSeq::SELECT_PARAM, 0.0, 7.0, 0.0);
+ auto w = createParam<Knob29>(selectParamPosition, module, AddrSeq::SELECT_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<Knob16>(out1ParamPosition, module, AddrSeq::OUT1_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out2ParamPosition, module, AddrSeq::OUT2_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out3ParamPosition, module, AddrSeq::OUT3_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out4ParamPosition, module, AddrSeq::OUT4_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out5ParamPosition, module, AddrSeq::OUT5_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out6ParamPosition, module, AddrSeq::OUT6_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out7ParamPosition, module, AddrSeq::OUT7_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(out8ParamPosition, module, AddrSeq::OUT8_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob16>(out1ParamPosition, module, AddrSeq::OUT1_PARAM));
+ addParam(createParam<Knob16>(out2ParamPosition, module, AddrSeq::OUT2_PARAM));
+ addParam(createParam<Knob16>(out3ParamPosition, module, AddrSeq::OUT3_PARAM));
+ addParam(createParam<Knob16>(out4ParamPosition, module, AddrSeq::OUT4_PARAM));
+ addParam(createParam<Knob16>(out5ParamPosition, module, AddrSeq::OUT5_PARAM));
+ addParam(createParam<Knob16>(out6ParamPosition, module, AddrSeq::OUT6_PARAM));
+ addParam(createParam<Knob16>(out7ParamPosition, module, AddrSeq::OUT7_PARAM));
+ addParam(createParam<Knob16>(out8ParamPosition, module, AddrSeq::OUT8_PARAM));
addInput(createInput<Port24>(clockInputPosition, module, AddrSeq::CLOCK_INPUT));
addInput(createInput<Port24>(resetInputPosition, module, AddrSeq::RESET_INPUT));
diff --git a/src/AddrSeq.hpp b/src/AddrSeq.hpp
@@ -56,7 +56,20 @@ struct AddrSeq : Module {
bool _selectOnClock = false;
int _select = 0;
- AddrSeq() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ AddrSeq() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(STEPS_PARAM, 1.0f, 8.0f, 8.0f, "steps");
+ configParam(DIRECTION_PARAM, 0.0f, 1.0f, 1.0f, "direction");
+ configParam(SELECT_PARAM, 0.0f, 7.0f, 0.0f, "select");
+ configParam(OUT1_PARAM, -1.0f, 1.0f, 0.0f, "out1");
+ configParam(OUT2_PARAM, -1.0f, 1.0f, 0.0f, "out2");
+ configParam(OUT3_PARAM, -1.0f, 1.0f, 0.0f, "out3");
+ configParam(OUT4_PARAM, -1.0f, 1.0f, 0.0f, "out4");
+ configParam(OUT5_PARAM, -1.0f, 1.0f, 0.0f, "out5");
+ configParam(OUT6_PARAM, -1.0f, 1.0f, 0.0f, "out6");
+ configParam(OUT7_PARAM, -1.0f, 1.0f, 0.0f, "out7");
+ configParam(OUT8_PARAM, -1.0f, 1.0f, 0.0f, "out8");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Analyzer.cpp b/src/Analyzer.cpp
@@ -104,7 +104,8 @@ struct RangeDbMenuItem : MenuItem {
struct AnalyzerWidget : ModuleWidget {
static constexpr int hp = 20;
- AnalyzerWidget(Analyzer* module) : ModuleWidget(module) {
+ AnalyzerWidget(Analyzer* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -152,10 +153,10 @@ struct AnalyzerWidget : ModuleWidget {
auto windowKaiserLightPosition = Vec(241.0, 295.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(range2ParamPosition, module, Analyzer::RANGE2_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob38>(smoothParamPosition, module, Analyzer::SMOOTH_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<StatefulButton9>(qualityParamPosition, module, Analyzer::QUALITY_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<StatefulButton9>(windowParamPosition, module, Analyzer::WINDOW_PARAM, 1.0, 3.0, 1.0));
+ addParam(createParam<Knob38>(range2ParamPosition, module, Analyzer::RANGE2_PARAM));
+ addParam(createParam<Knob38>(smoothParamPosition, module, Analyzer::SMOOTH_PARAM));
+ addParam(createParam<StatefulButton9>(qualityParamPosition, module, Analyzer::QUALITY_PARAM));
+ addParam(createParam<StatefulButton9>(windowParamPosition, module, Analyzer::WINDOW_PARAM));
addInput(createInput<Port24>(signalaInputPosition, module, Analyzer::SIGNALA_INPUT));
addInput(createInput<Port24>(signalbInputPosition, module, Analyzer::SIGNALB_INPUT));
diff --git a/src/AnalyzerXL.cpp b/src/AnalyzerXL.cpp
@@ -242,7 +242,8 @@ struct WindowMenuItem : MenuItem {
struct AnalyzerXLWidget : ModuleWidget {
static constexpr int hp = 42;
- AnalyzerXLWidget(AnalyzerXL* module) : ModuleWidget(module) {
+ AnalyzerXLWidget(AnalyzerXL* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Blank3.cpp b/src/Blank3.cpp
@@ -67,7 +67,8 @@ struct Blank3Display : OpaqueWidget {
struct Blank3Widget : ModuleWidget {
static constexpr int hp = 3;
- Blank3Widget(Blank3* module) : ModuleWidget(module) {
+ Blank3Widget(Blank3* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Blank3.hpp b/src/Blank3.hpp
@@ -30,7 +30,8 @@ struct Blank3 : Module {
RootMeanSquare _rms;
float _level = 0.0f;
- Blank3() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Blank3() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
onSampleRateChange();
}
diff --git a/src/Blank6.cpp b/src/Blank6.cpp
@@ -67,7 +67,8 @@ struct Blank6Display : OpaqueWidget {
struct Blank6Widget : ModuleWidget {
static constexpr int hp = 6;
- Blank6Widget(Blank6* module) : ModuleWidget(module) {
+ Blank6Widget(Blank6* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Blank6.hpp b/src/Blank6.hpp
@@ -30,7 +30,8 @@ struct Blank6 : Module {
RootMeanSquare _rms;
float _level = 0.0f;
- Blank6() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Blank6() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
onSampleRateChange();
}
diff --git a/src/Bool.cpp b/src/Bool.cpp
@@ -14,7 +14,8 @@ void Bool::process(const ProcessArgs& args) {
struct BoolWidget : ModuleWidget {
static constexpr int hp = 3;
- BoolWidget(Bool* module) : ModuleWidget(module) {
+ BoolWidget(Bool* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Bool.hpp b/src/Bool.hpp
@@ -30,8 +30,9 @@ struct Bool : Module {
NUM_LIGHTS
};
- Bool() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
- }
+ Bool() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ }
void process(const ProcessArgs& args) override;
};
diff --git a/src/CVD.cpp b/src/CVD.cpp
@@ -36,7 +36,8 @@ void CVD::process(const ProcessArgs& args) {
struct CVDWidget : ModuleWidget {
static constexpr int hp = 3;
- CVDWidget(CVD* module) : ModuleWidget(module) {
+ CVDWidget(CVD* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -61,9 +62,9 @@ struct CVDWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 305.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(timeParamPosition, module, CVD::TIME_PARAM, 0.0, 1.0, 0.5));
+ addParam(createParam<Knob29>(timeParamPosition, module, CVD::TIME_PARAM));
{
- auto w = createParam<Knob16>(timeScaleParamPosition, module, CVD::TIME_SCALE_PARAM, 0.0, 2.0, 1.0);
+ auto w = createParam<Knob16>(timeScaleParamPosition, module, CVD::TIME_SCALE_PARAM);
auto k = dynamic_cast<SVGKnob*>(w);
k->snap = true;
k->minAngle = -M_PI / 4.0f;
@@ -71,7 +72,7 @@ struct CVDWidget : ModuleWidget {
k->speed = 3.0;
addParam(w);
}
- addParam(createParam<Knob29>(mixParamPosition, module, CVD::MIX_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(mixParamPosition, module, CVD::MIX_PARAM));
addInput(createInput<Port24>(timeInputPosition, module, CVD::TIME_INPUT));
addInput(createInput<Port24>(mixInputPosition, module, CVD::MIX_INPUT));
diff --git a/src/CVD.hpp b/src/CVD.hpp
@@ -37,9 +37,13 @@ struct CVD : Module {
CrossFader _mix;
CVD()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _delay(1000.0f, 10000.0f)
+ : _delay(1000.0f, 10000.0f)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(TIME_PARAM, 0.0f, 1.0f, 0.5f, "time");
+ configParam(TIME_SCALE_PARAM, 0.0f, 2.0f, 1.0f, "time_scale");
+ configParam(MIX_PARAM, -1.0f, 1.0f, 0.0f, "mix");
+
onSampleRateChange();
}
diff --git a/src/Clpr.cpp b/src/Clpr.cpp
@@ -51,7 +51,8 @@ void Clpr::process(const ProcessArgs& args) {
struct ClprWidget : ModuleWidget {
static constexpr int hp = 6;
- ClprWidget(Clpr* module) : ModuleWidget(module) {
+ ClprWidget(Clpr* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -78,9 +79,9 @@ struct ClprWidget : ModuleWidget {
auto rightOutputPosition = Vec(50.0, 320.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(thresholdParamPosition, module, Clpr::THRESHOLD_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(outputGainParamPosition, module, Clpr::OUTPUT_GAIN_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Clpr::KNEE_PARAM, 0.95, 1.0, 0.0));
+ addParam(createParam<Knob38>(thresholdParamPosition, module, Clpr::THRESHOLD_PARAM));
+ addParam(createParam<Knob38>(outputGainParamPosition, module, Clpr::OUTPUT_GAIN_PARAM));
+ addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Clpr::KNEE_PARAM));
addInput(createInput<Port24>(leftInputPosition, module, Clpr::LEFT_INPUT));
addInput(createInput<Port24>(rightInputPosition, module, Clpr::RIGHT_INPUT));
diff --git a/src/Clpr.hpp b/src/Clpr.hpp
@@ -46,7 +46,12 @@ struct Clpr : Module {
Amplifier _amplifier;
Saturator _saturator;
- Clpr() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Clpr() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(THRESHOLD_PARAM, 0.0f, 1.0f, 0.8f, "threshold");
+ configParam(OUTPUT_GAIN_PARAM, 0.0f, 1.0f, 0.0f, "output_gain");
+ configParam(KNEE_PARAM, 0.95f, 1.0f, 0.0f, "knee");
+
onReset();
}
diff --git a/src/Cmp.cpp b/src/Cmp.cpp
@@ -156,7 +156,8 @@ int Cmp::lagInSamples() {
struct CmpWidget : ModuleWidget {
static constexpr int hp = 6;
- CmpWidget(Cmp* module) : ModuleWidget(module) {
+ CmpWidget(Cmp* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -187,12 +188,12 @@ struct CmpWidget : ModuleWidget {
auto notEqualOutputPosition = Vec(50.0, 319.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(aParamPosition, module, Cmp::A_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob29>(bParamPosition, module, Cmp::B_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob29>(windowParamPosition, module, Cmp::WINDOW_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<Knob29>(lagParamPosition, module, Cmp::LAG_PARAM, 0.0, 1.0, 0.1));
+ addParam(createParam<Knob29>(aParamPosition, module, Cmp::A_PARAM));
+ addParam(createParam<Knob29>(bParamPosition, module, Cmp::B_PARAM));
+ addParam(createParam<Knob29>(windowParamPosition, module, Cmp::WINDOW_PARAM));
+ addParam(createParam<Knob29>(lagParamPosition, module, Cmp::LAG_PARAM));
{
- auto w = createParam<Knob16>(outputParamPosition, module, Cmp::OUTPUT_PARAM, 0.0, 1.0, 0.0);
+ auto w = createParam<Knob16>(outputParamPosition, module, Cmp::OUTPUT_PARAM);
auto k = dynamic_cast<SVGKnob*>(w);
k->snap = true;
k->minAngle = 3.0f * (M_PI / 8.0f);
diff --git a/src/Cmp.hpp b/src/Cmp.hpp
@@ -48,7 +48,14 @@ struct Cmp : Module {
State _windowState;
int _windowLag = 0;
- Cmp() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Cmp() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(A_PARAM, -1.0f, 1.0f, 0.0f, "a");
+ configParam(B_PARAM, -1.0f, 1.0f, 0.0f, "b");
+ configParam(WINDOW_PARAM, 0.0f, 1.0f, 0.5f, "window");
+ configParam(LAG_PARAM, 0.0f, 1.0f, 0.1f, "lag");
+ configParam(OUTPUT_PARAM, 0.0f, 1.0f, 0.0f, "output");
+
onReset();
}
diff --git a/src/DADSRH.cpp b/src/DADSRH.cpp
@@ -4,7 +4,8 @@
struct DADSRHWidget : ModuleWidget {
static constexpr int hp = 10;
- DADSRHWidget(DADSRH* module) : ModuleWidget(module) {
+ DADSRHWidget(DADSRH* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -57,20 +58,20 @@ struct DADSRHWidget : ModuleWidget {
auto releaseShape3LightPosition = Vec(77.0, 284.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(delayParamPosition, module, DADSRH::DELAY_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob38>(attackParamPosition, module, DADSRH::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob38>(decayParamPosition, module, DADSRH::DECAY_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(sustainParamPosition, module, DADSRH::SUSTAIN_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<Knob38>(releaseParamPosition, module, DADSRH::RELEASE_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(holdParamPosition, module, DADSRH::HOLD_PARAM, 0.0, 1.0, 0.45));
- addParam(createParam<StatefulButton9>(attackShapeParamPosition, module, DADSRH::ATTACK_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<StatefulButton9>(decayShapeParamPosition, module, DADSRH::DECAY_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<StatefulButton9>(releaseShapeParamPosition, module, DADSRH::RELEASE_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<Button18>(triggerParamPosition, module, DADSRH::TRIGGER_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, DADSRH::MODE_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DADSRH::LOOP_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, DADSRH::SPEED_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(retriggerParamPosition, module, DADSRH::RETRIGGER_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob38>(delayParamPosition, module, DADSRH::DELAY_PARAM));
+ addParam(createParam<Knob38>(attackParamPosition, module, DADSRH::ATTACK_PARAM));
+ addParam(createParam<Knob38>(decayParamPosition, module, DADSRH::DECAY_PARAM));
+ addParam(createParam<Knob38>(sustainParamPosition, module, DADSRH::SUSTAIN_PARAM));
+ addParam(createParam<Knob38>(releaseParamPosition, module, DADSRH::RELEASE_PARAM));
+ addParam(createParam<Knob38>(holdParamPosition, module, DADSRH::HOLD_PARAM));
+ addParam(createParam<StatefulButton9>(attackShapeParamPosition, module, DADSRH::ATTACK_SHAPE_PARAM));
+ addParam(createParam<StatefulButton9>(decayShapeParamPosition, module, DADSRH::DECAY_SHAPE_PARAM));
+ addParam(createParam<StatefulButton9>(releaseShapeParamPosition, module, DADSRH::RELEASE_SHAPE_PARAM));
+ addParam(createParam<Button18>(triggerParamPosition, module, DADSRH::TRIGGER_PARAM));
+ addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, DADSRH::MODE_PARAM));
+ addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DADSRH::LOOP_PARAM));
+ addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, DADSRH::SPEED_PARAM));
+ addParam(createParam<SliderSwitch2State14>(retriggerParamPosition, module, DADSRH::RETRIGGER_PARAM));
addInput(createInput<Port24>(triggerInputPosition, module, DADSRH::TRIGGER_INPUT));
diff --git a/src/DADSRH.hpp b/src/DADSRH.hpp
@@ -115,6 +115,21 @@ struct DADSRH : TriggerOnLoadModule {
_triggerOnLoad,
_shouldTriggerOnLoad
) {
+ configParam(DELAY_PARAM, 0.0f, 1.0f, 0.0f, "delay");
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.32f, "decay");
+ configParam(SUSTAIN_PARAM, 0.0f, 1.0f, 0.5f, "sustain");
+ configParam(RELEASE_PARAM, 0.0f, 1.0f, 0.32f, "release");
+ configParam(HOLD_PARAM, 0.0f, 1.0f, 0.45f, "hold");
+ configParam(ATTACK_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "attack_shape");
+ configParam(DECAY_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "decay_shape");
+ configParam(RELEASE_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "release_shape");
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+ configParam(MODE_PARAM, 0.0f, 1.0f, 1.0f, "mode");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 1.0f, "loop");
+ configParam(SPEED_PARAM, 0.0f, 1.0f, 1.0f, "speed");
+ configParam(RETRIGGER_PARAM, 0.0f, 1.0f, 1.0f, "retrigger");
+
onReset();
}
diff --git a/src/DADSRHPlus.cpp b/src/DADSRHPlus.cpp
@@ -4,7 +4,8 @@
struct DADSRHPlusWidget : ModuleWidget {
static constexpr int hp = 15;
- DADSRHPlusWidget(DADSRHPlus* module) : ModuleWidget(module) {
+ DADSRHPlusWidget(DADSRHPlus* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -68,20 +69,20 @@ struct DADSRHPlusWidget : ModuleWidget {
auto releaseShape3LightPosition = Vec(77.0, 284.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(delayParamPosition, module, DADSRHPlus::DELAY_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob38>(attackParamPosition, module, DADSRHPlus::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob38>(decayParamPosition, module, DADSRHPlus::DECAY_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(sustainParamPosition, module, DADSRHPlus::SUSTAIN_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<Knob38>(releaseParamPosition, module, DADSRHPlus::RELEASE_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(holdParamPosition, module, DADSRHPlus::HOLD_PARAM, 0.0, 1.0, 0.45));
- addParam(createParam<StatefulButton9>(attackShapeParamPosition, module, DADSRHPlus::ATTACK_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<StatefulButton9>(decayShapeParamPosition, module, DADSRHPlus::DECAY_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<StatefulButton9>(releaseShapeParamPosition, module, DADSRHPlus::RELEASE_SHAPE_PARAM, 1.0, 3.0, 1.0));
- addParam(createParam<Button18>(triggerParamPosition, module, DADSRHPlus::TRIGGER_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, DADSRHPlus::MODE_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DADSRHPlus::LOOP_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, DADSRHPlus::SPEED_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(retriggerParamPosition, module, DADSRHPlus::RETRIGGER_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob38>(delayParamPosition, module, DADSRHPlus::DELAY_PARAM));
+ addParam(createParam<Knob38>(attackParamPosition, module, DADSRHPlus::ATTACK_PARAM));
+ addParam(createParam<Knob38>(decayParamPosition, module, DADSRHPlus::DECAY_PARAM));
+ addParam(createParam<Knob38>(sustainParamPosition, module, DADSRHPlus::SUSTAIN_PARAM));
+ addParam(createParam<Knob38>(releaseParamPosition, module, DADSRHPlus::RELEASE_PARAM));
+ addParam(createParam<Knob38>(holdParamPosition, module, DADSRHPlus::HOLD_PARAM));
+ addParam(createParam<StatefulButton9>(attackShapeParamPosition, module, DADSRHPlus::ATTACK_SHAPE_PARAM));
+ addParam(createParam<StatefulButton9>(decayShapeParamPosition, module, DADSRHPlus::DECAY_SHAPE_PARAM));
+ addParam(createParam<StatefulButton9>(releaseShapeParamPosition, module, DADSRHPlus::RELEASE_SHAPE_PARAM));
+ addParam(createParam<Button18>(triggerParamPosition, module, DADSRHPlus::TRIGGER_PARAM));
+ addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, DADSRHPlus::MODE_PARAM));
+ addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DADSRHPlus::LOOP_PARAM));
+ addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, DADSRHPlus::SPEED_PARAM));
+ addParam(createParam<SliderSwitch2State14>(retriggerParamPosition, module, DADSRHPlus::RETRIGGER_PARAM));
addInput(createInput<Port24>(delayInputPosition, module, DADSRHPlus::DELAY_INPUT));
addInput(createInput<Port24>(attackInputPosition, module, DADSRHPlus::ATTACK_INPUT));
diff --git a/src/DADSRHPlus.hpp b/src/DADSRHPlus.hpp
@@ -126,6 +126,21 @@ struct DADSRHPlus : TriggerOnLoadModule {
_triggerOnLoad,
_shouldTriggerOnLoad
) {
+ configParam(DELAY_PARAM, 0.0f, 1.0f, 0.0f, "delay");
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.32f, "decay");
+ configParam(SUSTAIN_PARAM, 0.0f, 1.0f, 0.5f, "sustain");
+ configParam(RELEASE_PARAM, 0.0f, 1.0f, 0.32f, "release");
+ configParam(HOLD_PARAM, 0.0f, 1.0f, 0.45f, "hold");
+ configParam(ATTACK_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "attack_shape");
+ configParam(DECAY_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "decay_shape");
+ configParam(RELEASE_SHAPE_PARAM, 1.0f, 3.0f, 1.0f, "release_shape");
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+ configParam(MODE_PARAM, 0.0f, 1.0f, 1.0f, "mode");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 1.0f, "loop");
+ configParam(SPEED_PARAM, 0.0f, 1.0f, 1.0f, "speed");
+ configParam(RETRIGGER_PARAM, 0.0f, 1.0f, 1.0f, "retrigger");
+
onReset();
}
diff --git a/src/DGate.cpp b/src/DGate.cpp
@@ -73,7 +73,8 @@ bool DGate::stepStage(Param& knob) {
struct DGateWidget : ModuleWidget {
static constexpr int hp = 3;
- DGateWidget(DGate* module) : ModuleWidget(module) {
+ DGateWidget(DGate* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -101,10 +102,10 @@ struct DGateWidget : ModuleWidget {
auto gateLightPosition = Vec(20.8, 124.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(delayParamPosition, module, DGate::DELAY_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob29>(gateParamPosition, module, DGate::GATE_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DGate::LOOP_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Button18>(triggerParamPosition, module, DGate::TRIGGER_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(delayParamPosition, module, DGate::DELAY_PARAM));
+ addParam(createParam<Knob29>(gateParamPosition, module, DGate::GATE_PARAM));
+ addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, DGate::LOOP_PARAM));
+ addParam(createParam<Button18>(triggerParamPosition, module, DGate::TRIGGER_PARAM));
addInput(createInput<Port24>(triggerInputPosition, module, DGate::TRIGGER_INPUT));
diff --git a/src/DGate.hpp b/src/DGate.hpp
@@ -45,6 +45,11 @@ struct DGate : TriggerOnLoadModule {
float _stageProgress;
DGate() : TriggerOnLoadModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ configParam(DELAY_PARAM, 0.0f, 1.0f, 0.0f, "delay");
+ configParam(GATE_PARAM, 0.0f, 1.0f, 0.32f, "gate");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 1.0f, "loop");
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+
onReset();
}
diff --git a/src/Detune.cpp b/src/Detune.cpp
@@ -40,7 +40,8 @@ void Detune::process(const ProcessArgs& args) {
struct DetuneWidget : ModuleWidget {
static constexpr int hp = 3;
- DetuneWidget(Detune* module) : ModuleWidget(module) {
+ DetuneWidget(Detune* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -65,7 +66,7 @@ struct DetuneWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob26>(centsParamPosition, module, Detune::CENTS_PARAM, 0.0, 50.0, 0.0);
+ auto w = createParam<Knob26>(centsParamPosition, module, Detune::CENTS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
diff --git a/src/Detune.hpp b/src/Detune.hpp
@@ -37,7 +37,9 @@ struct Detune : Module {
float _plusCV;
float _minusCV;
- Detune() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Detune() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(CENTS_PARAM, 0.0f, 50.0f, 0.0f, "cents");
}
void process(const ProcessArgs& args) override;
diff --git a/src/EightOne.cpp b/src/EightOne.cpp
@@ -76,7 +76,8 @@ struct SelectOnClockMenuItem : MenuItem {
struct EightOneWidget : ModuleWidget {
static constexpr int hp = 6;
- EightOneWidget(EightOne* module) : ModuleWidget(module) {
+ EightOneWidget(EightOne* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -119,13 +120,13 @@ struct EightOneWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob16>(stepsParamPosition, module, EightOne::STEPS_PARAM, 1.0, 8.0, 8.0);
+ auto w = createParam<Knob16>(stepsParamPosition, module, EightOne::STEPS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, EightOne::DIRECTION_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, EightOne::DIRECTION_PARAM));
{
- auto w = createParam<Knob29>(selectParamPosition, module, EightOne::SELECT_PARAM, 0.0, 7.0, 0.0);
+ auto w = createParam<Knob29>(selectParamPosition, module, EightOne::SELECT_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
diff --git a/src/EightOne.hpp b/src/EightOne.hpp
@@ -56,7 +56,12 @@ struct EightOne : Module {
bool _selectOnClock = false;
int _select = 0;
- EightOne() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ EightOne() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(STEPS_PARAM, 1.0f, 8.0f, 8.0f, "steps");
+ configParam(DIRECTION_PARAM, 0.0f, 1.0f, 1.0f, "direction");
+ configParam(SELECT_PARAM, 0.0f, 7.0f, 0.0f, "select");
+
onReset();
onSampleRateChange();
}
diff --git a/src/FMOp.cpp b/src/FMOp.cpp
@@ -209,7 +209,8 @@ struct LinearLevelMenuItem : MenuItem {
struct FMOpWidget : ModuleWidget {
static constexpr int hp = 10;
- FMOpWidget(FMOp* module) : ModuleWidget(module) {
+ FMOpWidget(FMOp* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -253,18 +254,18 @@ struct FMOpWidget : ModuleWidget {
auto envToLevelLightPosition = Vec(30.0, 253.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(ratioParamPosition, module, FMOp::RATIO_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(fineParamPosition, module, FMOp::FINE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(attackParamPosition, module, FMOp::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob26>(decayParamPosition, module, FMOp::DECAY_PARAM, 0.0, 1.0, 0.31623));
- addParam(createParam<Knob26>(sustainParamPosition, module, FMOp::SUSTAIN_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob26>(releaseParamPosition, module, FMOp::RELEASE_PARAM, 0.0, 1.0, 0.31623));
- addParam(createParam<Knob26>(depthParamPosition, module, FMOp::DEPTH_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(feedbackParamPosition, module, FMOp::FEEDBACK_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(levelParamPosition, module, FMOp::LEVEL_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<StatefulButton9>(envToLevelParamPosition, module, FMOp::ENV_TO_LEVEL_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(envToFeedbackParamPosition, module, FMOp::ENV_TO_FEEDBACK_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(envToDepthParamPosition, module, FMOp::ENV_TO_DEPTH_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob38>(ratioParamPosition, module, FMOp::RATIO_PARAM));
+ addParam(createParam<Knob16>(fineParamPosition, module, FMOp::FINE_PARAM));
+ addParam(createParam<Knob26>(attackParamPosition, module, FMOp::ATTACK_PARAM));
+ addParam(createParam<Knob26>(decayParamPosition, module, FMOp::DECAY_PARAM));
+ addParam(createParam<Knob26>(sustainParamPosition, module, FMOp::SUSTAIN_PARAM));
+ addParam(createParam<Knob26>(releaseParamPosition, module, FMOp::RELEASE_PARAM));
+ addParam(createParam<Knob26>(depthParamPosition, module, FMOp::DEPTH_PARAM));
+ addParam(createParam<Knob26>(feedbackParamPosition, module, FMOp::FEEDBACK_PARAM));
+ addParam(createParam<Knob26>(levelParamPosition, module, FMOp::LEVEL_PARAM));
+ addParam(createParam<StatefulButton9>(envToLevelParamPosition, module, FMOp::ENV_TO_LEVEL_PARAM));
+ addParam(createParam<StatefulButton9>(envToFeedbackParamPosition, module, FMOp::ENV_TO_FEEDBACK_PARAM));
+ addParam(createParam<StatefulButton9>(envToDepthParamPosition, module, FMOp::ENV_TO_DEPTH_PARAM));
addInput(createInput<Port24>(sustainInputPosition, module, FMOp::SUSTAIN_INPUT));
addInput(createInput<Port24>(depthInputPosition, module, FMOp::DEPTH_INPUT));
diff --git a/src/FMOp.hpp b/src/FMOp.hpp
@@ -81,9 +81,22 @@ struct FMOp : Module {
bool _linearLevel = false;
FMOp()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _envelope(true)
+ : _envelope(true)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RATIO_PARAM, -1.0f, 1.0f, 0.0f, "ratio");
+ configParam(FINE_PARAM, -1.0f, 1.0f, 0.0f, "fine");
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.31623f, "decay");
+ configParam(SUSTAIN_PARAM, 0.0f, 1.0f, 1.0f, "sustain");
+ configParam(RELEASE_PARAM, 0.0f, 1.0f, 0.31623f, "release");
+ configParam(DEPTH_PARAM, 0.0f, 1.0f, 0.0f, "depth");
+ configParam(FEEDBACK_PARAM, 0.0f, 1.0f, 0.0f, "feedback");
+ configParam(LEVEL_PARAM, 0.0f, 1.0f, 1.0f, "level");
+ configParam(ENV_TO_LEVEL_PARAM, 0.0f, 1.0f, 0.0f, "env_to_level");
+ configParam(ENV_TO_FEEDBACK_PARAM, 0.0f, 1.0f, 0.0f, "env_to_feedback");
+ configParam(ENV_TO_DEPTH_PARAM, 0.0f, 1.0f, 0.0f, "env_to_depth");
+
onReset();
onSampleRateChange();
}
diff --git a/src/FlipFlop.cpp b/src/FlipFlop.cpp
@@ -62,7 +62,8 @@ void FlipFlop::channelStep(
struct FlipFlopWidget : ModuleWidget {
static constexpr int hp = 3;
- FlipFlopWidget(FlipFlop* module) : ModuleWidget(module) {
+ FlipFlopWidget(FlipFlop* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/FlipFlop.hpp b/src/FlipFlop.hpp
@@ -41,7 +41,8 @@ struct FlipFlop : Module {
PositiveZeroCrossing _trigger2;
Trigger _resetTrigger2;
- FlipFlop() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ FlipFlop() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
onReset();
}
diff --git a/src/Follow.cpp b/src/Follow.cpp
@@ -25,7 +25,8 @@ void Follow::process(const ProcessArgs& args) {
struct FollowWidget : ModuleWidget {
static constexpr int hp = 3;
- FollowWidget(Follow* module) : ModuleWidget(module) {
+ FollowWidget(Follow* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -49,8 +50,8 @@ struct FollowWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 271.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(responseParamPosition, module, Follow::RESPONSE_PARAM, 0.0, 1.0, 0.3));
- addParam(createParam<Knob29>(scaleParamPosition, module, Follow::SCALE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob29>(responseParamPosition, module, Follow::RESPONSE_PARAM));
+ addParam(createParam<Knob29>(scaleParamPosition, module, Follow::SCALE_PARAM));
addInput(createInput<Port24>(responseInputPosition, module, Follow::RESPONSE_INPUT));
addInput(createInput<Port24>(scaleInputPosition, module, Follow::SCALE_INPUT));
diff --git a/src/Follow.hpp b/src/Follow.hpp
@@ -35,9 +35,12 @@ struct Follow : Module {
RootMeanSquare _rms;
Follow()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _rms(1000.0f, 1.0f, 500.0f)
+ : _rms(1000.0f, 1.0f, 500.0f)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RESPONSE_PARAM, 0.0f, 1.0f, 0.3f, "response");
+ configParam(SCALE_PARAM, 0.0f, 1.0f, 1.0f, "scale");
+
onSampleRateChange();
}
diff --git a/src/LFO.cpp b/src/LFO.cpp
@@ -144,13 +144,13 @@ struct LFOWidget : LFOBaseWidget {
auto slowLightPosition = Vec(111.0, 240.0);
// end generated by svg_widgets.rb
- _frequencyKnob = createParam<Knob68>(frequencyParamPosition, module, LFO::FREQUENCY_PARAM, -8.0, 5.0, 0.0);
+ _frequencyKnob = createParam<Knob68>(frequencyParamPosition, module, LFO::FREQUENCY_PARAM);
addParam(_frequencyKnob);
- addParam(createParam<StatefulButton9>(slowParamPosition, module, LFO::SLOW_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(sampleParamPosition, module, LFO::SAMPLE_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(pwParamPosition, module, LFO::PW_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(offsetParamPosition, module, LFO::OFFSET_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(scaleParamPosition, module, LFO::SCALE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<StatefulButton9>(slowParamPosition, module, LFO::SLOW_PARAM));
+ addParam(createParam<Knob26>(sampleParamPosition, module, LFO::SAMPLE_PARAM));
+ addParam(createParam<Knob26>(pwParamPosition, module, LFO::PW_PARAM));
+ addParam(createParam<Knob16>(offsetParamPosition, module, LFO::OFFSET_PARAM));
+ addParam(createParam<Knob16>(scaleParamPosition, module, LFO::SCALE_PARAM));
addInput(createInput<Port24>(sampleInputPosition, module, LFO::SAMPLE_INPUT));
addInput(createInput<Port24>(pwInputPosition, module, LFO::PW_INPUT));
diff --git a/src/LLFO.cpp b/src/LLFO.cpp
@@ -116,12 +116,12 @@ struct LLFOWidget : LFOBaseWidget {
auto pulseLightPosition = Vec(24.0, 115.0);
// end generated by svg_widgets.rb
- _frequencyKnob = createParam<Knob26>(frequencyParamPosition, module, LLFO::FREQUENCY_PARAM, -8.0, 5.0, 0.0);
+ _frequencyKnob = createParam<Knob26>(frequencyParamPosition, module, LLFO::FREQUENCY_PARAM);
addParam(_frequencyKnob);
- addParam(createParam<StatefulButton9>(slowParamPosition, module, LLFO::SLOW_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(waveParamPosition, module, LLFO::WAVE_PARAM, 0.0, 5.0, 0.0));
- addParam(createParam<Knob16>(offsetParamPosition, module, LLFO::OFFSET_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(scaleParamPosition, module, LLFO::SCALE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<StatefulButton9>(slowParamPosition, module, LLFO::SLOW_PARAM));
+ addParam(createParam<StatefulButton9>(waveParamPosition, module, LLFO::WAVE_PARAM));
+ addParam(createParam<Knob16>(offsetParamPosition, module, LLFO::OFFSET_PARAM));
+ addParam(createParam<Knob16>(scaleParamPosition, module, LLFO::SCALE_PARAM));
addInput(createInput<Port24>(pitchInputPosition, module, LLFO::PITCH_INPUT));
addInput(createInput<Port24>(resetInputPosition, module, LLFO::RESET_INPUT));
diff --git a/src/Lag.cpp b/src/Lag.cpp
@@ -52,7 +52,8 @@ void Lag::process(const ProcessArgs& args) {
struct LagWidget : ModuleWidget {
static constexpr int hp = 3;
- LagWidget(Lag* module) : ModuleWidget(module) {
+ LagWidget(Lag* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -77,9 +78,9 @@ struct LagWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 305.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(timeParamPosition, module, Lag::TIME_PARAM, 0.0, 1.0, 0.5));
+ addParam(createParam<Knob29>(timeParamPosition, module, Lag::TIME_PARAM));
{
- auto w = createParam<Knob16>(timeScaleParamPosition, module, Lag::TIME_SCALE_PARAM, 0.0, 2.0, 1.0);
+ auto w = createParam<Knob16>(timeScaleParamPosition, module, Lag::TIME_SCALE_PARAM);
auto k = dynamic_cast<SVGKnob*>(w);
k->snap = true;
k->minAngle = -M_PI / 4.0f;
@@ -87,7 +88,7 @@ struct LagWidget : ModuleWidget {
k->speed = 3.0;
addParam(w);
}
- addParam(createParam<Knob29>(shapeParamPosition, module, Lag::SHAPE_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(shapeParamPosition, module, Lag::SHAPE_PARAM));
addInput(createInput<Port24>(timeInputPosition, module, Lag::TIME_INPUT));
addInput(createInput<Port24>(shapeInputPosition, module, Lag::SHAPE_INPUT));
diff --git a/src/Lag.hpp b/src/Lag.hpp
@@ -37,7 +37,12 @@ struct Lag : Module {
int _modulationStep = 0;
ShapedSlewLimiter _slew;
- Lag() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Lag() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(TIME_PARAM, 0.0f, 1.0f, 0.5f, "time");
+ configParam(TIME_SCALE_PARAM, 0.0f, 2.0f, 1.0f, "time_scale");
+ configParam(SHAPE_PARAM, -1.0f, 1.0f, 0.0f, "shape");
+
onReset();
}
diff --git a/src/Lmtr.cpp b/src/Lmtr.cpp
@@ -67,7 +67,8 @@ void Lmtr::process(const ProcessArgs& args) {
struct LmtrWidget : ModuleWidget {
static constexpr int hp = 6;
- LmtrWidget(Lmtr* module) : ModuleWidget(module) {
+ LmtrWidget(Lmtr* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -94,9 +95,9 @@ struct LmtrWidget : ModuleWidget {
auto rightOutputPosition = Vec(50.0, 320.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(thresholdParamPosition, module, Lmtr::THRESHOLD_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(outputGainParamPosition, module, Lmtr::OUTPUT_GAIN_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Lmtr::KNEE_PARAM, 0.95, 1.0, 0.0));
+ addParam(createParam<Knob38>(thresholdParamPosition, module, Lmtr::THRESHOLD_PARAM));
+ addParam(createParam<Knob38>(outputGainParamPosition, module, Lmtr::OUTPUT_GAIN_PARAM));
+ addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Lmtr::KNEE_PARAM));
addInput(createInput<Port24>(leftInputPosition, module, Lmtr::LEFT_INPUT));
addInput(createInput<Port24>(rightInputPosition, module, Lmtr::RIGHT_INPUT));
diff --git a/src/Lmtr.hpp b/src/Lmtr.hpp
@@ -50,7 +50,12 @@ struct Lmtr : Module {
Amplifier _amplifier;
Saturator _saturator;
- Lmtr() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Lmtr() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(THRESHOLD_PARAM, 0.0f, 1.0f, 0.8f, "threshold");
+ configParam(OUTPUT_GAIN_PARAM, 0.0f, 1.0f, 0.0f, "output_gain");
+ configParam(KNEE_PARAM, 0.95f, 1.0f, 0.0f, "knee");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Manual.cpp b/src/Manual.cpp
@@ -32,7 +32,8 @@ void Manual::process(const ProcessArgs& args) {
struct ManualWidget : ModuleWidget {
static constexpr int hp = 3;
- ManualWidget(Manual* module) : ModuleWidget(module) {
+ ManualWidget(Manual* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -58,7 +59,7 @@ struct ManualWidget : ModuleWidget {
auto out8OutputPosition = Vec(10.5, 267.0);
// end generated by svg_widgets.rb
- addParam(createParam<Button18>(triggerParamPosition, module, Manual::TRIGGER_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Button18>(triggerParamPosition, module, Manual::TRIGGER_PARAM));
addOutput(createOutput<Port24>(out1OutputPosition, module, Manual::OUT1_OUTPUT));
addOutput(createOutput<Port24>(out2OutputPosition, module, Manual::OUT2_OUTPUT));
diff --git a/src/Manual.hpp b/src/Manual.hpp
@@ -37,6 +37,8 @@ struct Manual : TriggerOnLoadModule {
rack::dsp::PulseGenerator _pulse;
Manual() : TriggerOnLoadModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+
_triggerOnLoad = false;
onReset();
}
diff --git a/src/Matrix88.cpp b/src/Matrix88.cpp
@@ -15,7 +15,8 @@ void Matrix88::process(const ProcessArgs& args) {
struct Matrix88Widget : ModuleWidget {
static constexpr int hp = 22;
- Matrix88Widget(Matrix88* module) : ModuleWidget(module) {
+ Matrix88Widget(Matrix88* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -116,71 +117,71 @@ struct Matrix88Widget : ModuleWidget {
auto out8OutputPosition = Vec(296.5, 328.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob19>(mix11ParamPosition, module, Matrix88::MIX11_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix21ParamPosition, module, Matrix88::MIX21_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix31ParamPosition, module, Matrix88::MIX31_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix41ParamPosition, module, Matrix88::MIX41_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix51ParamPosition, module, Matrix88::MIX51_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix61ParamPosition, module, Matrix88::MIX61_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix71ParamPosition, module, Matrix88::MIX71_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix81ParamPosition, module, Matrix88::MIX81_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix12ParamPosition, module, Matrix88::MIX12_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix22ParamPosition, module, Matrix88::MIX22_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix32ParamPosition, module, Matrix88::MIX32_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix42ParamPosition, module, Matrix88::MIX42_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix52ParamPosition, module, Matrix88::MIX52_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix62ParamPosition, module, Matrix88::MIX62_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix72ParamPosition, module, Matrix88::MIX72_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix82ParamPosition, module, Matrix88::MIX82_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix13ParamPosition, module, Matrix88::MIX13_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix23ParamPosition, module, Matrix88::MIX23_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix33ParamPosition, module, Matrix88::MIX33_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix43ParamPosition, module, Matrix88::MIX43_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix53ParamPosition, module, Matrix88::MIX53_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix63ParamPosition, module, Matrix88::MIX63_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix73ParamPosition, module, Matrix88::MIX73_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix83ParamPosition, module, Matrix88::MIX83_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix14ParamPosition, module, Matrix88::MIX14_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix24ParamPosition, module, Matrix88::MIX24_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix34ParamPosition, module, Matrix88::MIX34_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix44ParamPosition, module, Matrix88::MIX44_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix54ParamPosition, module, Matrix88::MIX54_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix64ParamPosition, module, Matrix88::MIX64_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix74ParamPosition, module, Matrix88::MIX74_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix84ParamPosition, module, Matrix88::MIX84_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix15ParamPosition, module, Matrix88::MIX15_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix25ParamPosition, module, Matrix88::MIX25_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix35ParamPosition, module, Matrix88::MIX35_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix45ParamPosition, module, Matrix88::MIX45_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix55ParamPosition, module, Matrix88::MIX55_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix65ParamPosition, module, Matrix88::MIX65_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix75ParamPosition, module, Matrix88::MIX75_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix85ParamPosition, module, Matrix88::MIX85_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix16ParamPosition, module, Matrix88::MIX16_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix26ParamPosition, module, Matrix88::MIX26_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix36ParamPosition, module, Matrix88::MIX36_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix46ParamPosition, module, Matrix88::MIX46_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix56ParamPosition, module, Matrix88::MIX56_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix66ParamPosition, module, Matrix88::MIX66_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix76ParamPosition, module, Matrix88::MIX76_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix86ParamPosition, module, Matrix88::MIX86_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix17ParamPosition, module, Matrix88::MIX17_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix27ParamPosition, module, Matrix88::MIX27_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix37ParamPosition, module, Matrix88::MIX37_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix47ParamPosition, module, Matrix88::MIX47_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix57ParamPosition, module, Matrix88::MIX57_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix67ParamPosition, module, Matrix88::MIX67_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix77ParamPosition, module, Matrix88::MIX77_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix87ParamPosition, module, Matrix88::MIX87_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix18ParamPosition, module, Matrix88::MIX18_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix28ParamPosition, module, Matrix88::MIX28_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix38ParamPosition, module, Matrix88::MIX38_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix48ParamPosition, module, Matrix88::MIX48_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix58ParamPosition, module, Matrix88::MIX58_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix68ParamPosition, module, Matrix88::MIX68_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix78ParamPosition, module, Matrix88::MIX78_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob19>(mix88ParamPosition, module, Matrix88::MIX88_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(levelParamPosition, module, Matrix88::LEVEL_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob19>(mix11ParamPosition, module, Matrix88::MIX11_PARAM));
+ addParam(createParam<Knob19>(mix21ParamPosition, module, Matrix88::MIX21_PARAM));
+ addParam(createParam<Knob19>(mix31ParamPosition, module, Matrix88::MIX31_PARAM));
+ addParam(createParam<Knob19>(mix41ParamPosition, module, Matrix88::MIX41_PARAM));
+ addParam(createParam<Knob19>(mix51ParamPosition, module, Matrix88::MIX51_PARAM));
+ addParam(createParam<Knob19>(mix61ParamPosition, module, Matrix88::MIX61_PARAM));
+ addParam(createParam<Knob19>(mix71ParamPosition, module, Matrix88::MIX71_PARAM));
+ addParam(createParam<Knob19>(mix81ParamPosition, module, Matrix88::MIX81_PARAM));
+ addParam(createParam<Knob19>(mix12ParamPosition, module, Matrix88::MIX12_PARAM));
+ addParam(createParam<Knob19>(mix22ParamPosition, module, Matrix88::MIX22_PARAM));
+ addParam(createParam<Knob19>(mix32ParamPosition, module, Matrix88::MIX32_PARAM));
+ addParam(createParam<Knob19>(mix42ParamPosition, module, Matrix88::MIX42_PARAM));
+ addParam(createParam<Knob19>(mix52ParamPosition, module, Matrix88::MIX52_PARAM));
+ addParam(createParam<Knob19>(mix62ParamPosition, module, Matrix88::MIX62_PARAM));
+ addParam(createParam<Knob19>(mix72ParamPosition, module, Matrix88::MIX72_PARAM));
+ addParam(createParam<Knob19>(mix82ParamPosition, module, Matrix88::MIX82_PARAM));
+ addParam(createParam<Knob19>(mix13ParamPosition, module, Matrix88::MIX13_PARAM));
+ addParam(createParam<Knob19>(mix23ParamPosition, module, Matrix88::MIX23_PARAM));
+ addParam(createParam<Knob19>(mix33ParamPosition, module, Matrix88::MIX33_PARAM));
+ addParam(createParam<Knob19>(mix43ParamPosition, module, Matrix88::MIX43_PARAM));
+ addParam(createParam<Knob19>(mix53ParamPosition, module, Matrix88::MIX53_PARAM));
+ addParam(createParam<Knob19>(mix63ParamPosition, module, Matrix88::MIX63_PARAM));
+ addParam(createParam<Knob19>(mix73ParamPosition, module, Matrix88::MIX73_PARAM));
+ addParam(createParam<Knob19>(mix83ParamPosition, module, Matrix88::MIX83_PARAM));
+ addParam(createParam<Knob19>(mix14ParamPosition, module, Matrix88::MIX14_PARAM));
+ addParam(createParam<Knob19>(mix24ParamPosition, module, Matrix88::MIX24_PARAM));
+ addParam(createParam<Knob19>(mix34ParamPosition, module, Matrix88::MIX34_PARAM));
+ addParam(createParam<Knob19>(mix44ParamPosition, module, Matrix88::MIX44_PARAM));
+ addParam(createParam<Knob19>(mix54ParamPosition, module, Matrix88::MIX54_PARAM));
+ addParam(createParam<Knob19>(mix64ParamPosition, module, Matrix88::MIX64_PARAM));
+ addParam(createParam<Knob19>(mix74ParamPosition, module, Matrix88::MIX74_PARAM));
+ addParam(createParam<Knob19>(mix84ParamPosition, module, Matrix88::MIX84_PARAM));
+ addParam(createParam<Knob19>(mix15ParamPosition, module, Matrix88::MIX15_PARAM));
+ addParam(createParam<Knob19>(mix25ParamPosition, module, Matrix88::MIX25_PARAM));
+ addParam(createParam<Knob19>(mix35ParamPosition, module, Matrix88::MIX35_PARAM));
+ addParam(createParam<Knob19>(mix45ParamPosition, module, Matrix88::MIX45_PARAM));
+ addParam(createParam<Knob19>(mix55ParamPosition, module, Matrix88::MIX55_PARAM));
+ addParam(createParam<Knob19>(mix65ParamPosition, module, Matrix88::MIX65_PARAM));
+ addParam(createParam<Knob19>(mix75ParamPosition, module, Matrix88::MIX75_PARAM));
+ addParam(createParam<Knob19>(mix85ParamPosition, module, Matrix88::MIX85_PARAM));
+ addParam(createParam<Knob19>(mix16ParamPosition, module, Matrix88::MIX16_PARAM));
+ addParam(createParam<Knob19>(mix26ParamPosition, module, Matrix88::MIX26_PARAM));
+ addParam(createParam<Knob19>(mix36ParamPosition, module, Matrix88::MIX36_PARAM));
+ addParam(createParam<Knob19>(mix46ParamPosition, module, Matrix88::MIX46_PARAM));
+ addParam(createParam<Knob19>(mix56ParamPosition, module, Matrix88::MIX56_PARAM));
+ addParam(createParam<Knob19>(mix66ParamPosition, module, Matrix88::MIX66_PARAM));
+ addParam(createParam<Knob19>(mix76ParamPosition, module, Matrix88::MIX76_PARAM));
+ addParam(createParam<Knob19>(mix86ParamPosition, module, Matrix88::MIX86_PARAM));
+ addParam(createParam<Knob19>(mix17ParamPosition, module, Matrix88::MIX17_PARAM));
+ addParam(createParam<Knob19>(mix27ParamPosition, module, Matrix88::MIX27_PARAM));
+ addParam(createParam<Knob19>(mix37ParamPosition, module, Matrix88::MIX37_PARAM));
+ addParam(createParam<Knob19>(mix47ParamPosition, module, Matrix88::MIX47_PARAM));
+ addParam(createParam<Knob19>(mix57ParamPosition, module, Matrix88::MIX57_PARAM));
+ addParam(createParam<Knob19>(mix67ParamPosition, module, Matrix88::MIX67_PARAM));
+ addParam(createParam<Knob19>(mix77ParamPosition, module, Matrix88::MIX77_PARAM));
+ addParam(createParam<Knob19>(mix87ParamPosition, module, Matrix88::MIX87_PARAM));
+ addParam(createParam<Knob19>(mix18ParamPosition, module, Matrix88::MIX18_PARAM));
+ addParam(createParam<Knob19>(mix28ParamPosition, module, Matrix88::MIX28_PARAM));
+ addParam(createParam<Knob19>(mix38ParamPosition, module, Matrix88::MIX38_PARAM));
+ addParam(createParam<Knob19>(mix48ParamPosition, module, Matrix88::MIX48_PARAM));
+ addParam(createParam<Knob19>(mix58ParamPosition, module, Matrix88::MIX58_PARAM));
+ addParam(createParam<Knob19>(mix68ParamPosition, module, Matrix88::MIX68_PARAM));
+ addParam(createParam<Knob19>(mix78ParamPosition, module, Matrix88::MIX78_PARAM));
+ addParam(createParam<Knob19>(mix88ParamPosition, module, Matrix88::MIX88_PARAM));
+ addParam(createParam<Knob16>(levelParamPosition, module, Matrix88::LEVEL_PARAM));
addInput(createInput<Port24>(in1InputPosition, module, Matrix88::IN1_INPUT));
addInput(createInput<Port24>(in2InputPosition, module, Matrix88::IN2_INPUT));
diff --git a/src/Matrix88.hpp b/src/Matrix88.hpp
@@ -109,7 +109,73 @@ struct Matrix88 : Module {
Saturator _saturators[8];
- Matrix88() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Matrix88() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(MIX11_PARAM, -1.0f, 1.0f, 0.0f, "mix11");
+ configParam(MIX21_PARAM, -1.0f, 1.0f, 0.0f, "mix21");
+ configParam(MIX31_PARAM, -1.0f, 1.0f, 0.0f, "mix31");
+ configParam(MIX41_PARAM, -1.0f, 1.0f, 0.0f, "mix41");
+ configParam(MIX51_PARAM, -1.0f, 1.0f, 0.0f, "mix51");
+ configParam(MIX61_PARAM, -1.0f, 1.0f, 0.0f, "mix61");
+ configParam(MIX71_PARAM, -1.0f, 1.0f, 0.0f, "mix71");
+ configParam(MIX81_PARAM, -1.0f, 1.0f, 0.0f, "mix81");
+ configParam(MIX12_PARAM, -1.0f, 1.0f, 0.0f, "mix12");
+ configParam(MIX22_PARAM, -1.0f, 1.0f, 0.0f, "mix22");
+ configParam(MIX32_PARAM, -1.0f, 1.0f, 0.0f, "mix32");
+ configParam(MIX42_PARAM, -1.0f, 1.0f, 0.0f, "mix42");
+ configParam(MIX52_PARAM, -1.0f, 1.0f, 0.0f, "mix52");
+ configParam(MIX62_PARAM, -1.0f, 1.0f, 0.0f, "mix62");
+ configParam(MIX72_PARAM, -1.0f, 1.0f, 0.0f, "mix72");
+ configParam(MIX82_PARAM, -1.0f, 1.0f, 0.0f, "mix82");
+ configParam(MIX13_PARAM, -1.0f, 1.0f, 0.0f, "mix13");
+ configParam(MIX23_PARAM, -1.0f, 1.0f, 0.0f, "mix23");
+ configParam(MIX33_PARAM, -1.0f, 1.0f, 0.0f, "mix33");
+ configParam(MIX43_PARAM, -1.0f, 1.0f, 0.0f, "mix43");
+ configParam(MIX53_PARAM, -1.0f, 1.0f, 0.0f, "mix53");
+ configParam(MIX63_PARAM, -1.0f, 1.0f, 0.0f, "mix63");
+ configParam(MIX73_PARAM, -1.0f, 1.0f, 0.0f, "mix73");
+ configParam(MIX83_PARAM, -1.0f, 1.0f, 0.0f, "mix83");
+ configParam(MIX14_PARAM, -1.0f, 1.0f, 0.0f, "mix14");
+ configParam(MIX24_PARAM, -1.0f, 1.0f, 0.0f, "mix24");
+ configParam(MIX34_PARAM, -1.0f, 1.0f, 0.0f, "mix34");
+ configParam(MIX44_PARAM, -1.0f, 1.0f, 0.0f, "mix44");
+ configParam(MIX54_PARAM, -1.0f, 1.0f, 0.0f, "mix54");
+ configParam(MIX64_PARAM, -1.0f, 1.0f, 0.0f, "mix64");
+ configParam(MIX74_PARAM, -1.0f, 1.0f, 0.0f, "mix74");
+ configParam(MIX84_PARAM, -1.0f, 1.0f, 0.0f, "mix84");
+ configParam(MIX15_PARAM, -1.0f, 1.0f, 0.0f, "mix15");
+ configParam(MIX25_PARAM, -1.0f, 1.0f, 0.0f, "mix25");
+ configParam(MIX35_PARAM, -1.0f, 1.0f, 0.0f, "mix35");
+ configParam(MIX45_PARAM, -1.0f, 1.0f, 0.0f, "mix45");
+ configParam(MIX55_PARAM, -1.0f, 1.0f, 0.0f, "mix55");
+ configParam(MIX65_PARAM, -1.0f, 1.0f, 0.0f, "mix65");
+ configParam(MIX75_PARAM, -1.0f, 1.0f, 0.0f, "mix75");
+ configParam(MIX85_PARAM, -1.0f, 1.0f, 0.0f, "mix85");
+ configParam(MIX16_PARAM, -1.0f, 1.0f, 0.0f, "mix16");
+ configParam(MIX26_PARAM, -1.0f, 1.0f, 0.0f, "mix26");
+ configParam(MIX36_PARAM, -1.0f, 1.0f, 0.0f, "mix36");
+ configParam(MIX46_PARAM, -1.0f, 1.0f, 0.0f, "mix46");
+ configParam(MIX56_PARAM, -1.0f, 1.0f, 0.0f, "mix56");
+ configParam(MIX66_PARAM, -1.0f, 1.0f, 0.0f, "mix66");
+ configParam(MIX76_PARAM, -1.0f, 1.0f, 0.0f, "mix76");
+ configParam(MIX86_PARAM, -1.0f, 1.0f, 0.0f, "mix86");
+ configParam(MIX17_PARAM, -1.0f, 1.0f, 0.0f, "mix17");
+ configParam(MIX27_PARAM, -1.0f, 1.0f, 0.0f, "mix27");
+ configParam(MIX37_PARAM, -1.0f, 1.0f, 0.0f, "mix37");
+ configParam(MIX47_PARAM, -1.0f, 1.0f, 0.0f, "mix47");
+ configParam(MIX57_PARAM, -1.0f, 1.0f, 0.0f, "mix57");
+ configParam(MIX67_PARAM, -1.0f, 1.0f, 0.0f, "mix67");
+ configParam(MIX77_PARAM, -1.0f, 1.0f, 0.0f, "mix77");
+ configParam(MIX87_PARAM, -1.0f, 1.0f, 0.0f, "mix87");
+ configParam(MIX18_PARAM, -1.0f, 1.0f, 0.0f, "mix18");
+ configParam(MIX28_PARAM, -1.0f, 1.0f, 0.0f, "mix28");
+ configParam(MIX38_PARAM, -1.0f, 1.0f, 0.0f, "mix38");
+ configParam(MIX48_PARAM, -1.0f, 1.0f, 0.0f, "mix48");
+ configParam(MIX58_PARAM, -1.0f, 1.0f, 0.0f, "mix58");
+ configParam(MIX68_PARAM, -1.0f, 1.0f, 0.0f, "mix68");
+ configParam(MIX78_PARAM, -1.0f, 1.0f, 0.0f, "mix78");
+ configParam(MIX88_PARAM, -1.0f, 1.0f, 0.0f, "mix88");
+ configParam(LEVEL_PARAM, 0.0f, 1.0f, 1.0f, "level");
}
void process(const ProcessArgs& args) override;
diff --git a/src/Mix1.cpp b/src/Mix1.cpp
@@ -13,7 +13,8 @@ void Mix1::process(const ProcessArgs& args) {
struct Mix1Widget : ModuleWidget {
static constexpr int hp = 3;
- Mix1Widget(Mix1* module) : ModuleWidget(module) {
+ Mix1Widget(Mix1* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -38,20 +39,13 @@ struct Mix1Widget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto slider = createParam<VUSlider151>(
- levelParamPosition,
- module,
- Mix1::LEVEL_PARAM,
- 0.0,
- 1.0,
- fabsf(MixerChannel::minDecibels) / (MixerChannel::maxDecibels - MixerChannel::minDecibels)
- );
+ auto slider = createParam<VUSlider151>levelParamPosition, module, Mix1::LEVEL_PARAM);
if (module) {
dynamic_cast<VUSlider*>(slider)->setVULevel(&module->_channel.rms);
}
addParam(slider);
}
- addParam(createParam<MuteButton>(muteParamPosition, module, Mix1::MUTE_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<MuteButton>(muteParamPosition, module, Mix1::MUTE_PARAM));
addInput(createInput<Port24>(muteInputPosition, module, Mix1::MUTE_INPUT));
addInput(createInput<Port24>(levelInputPosition, module, Mix1::LEVEL_INPUT));
diff --git a/src/Mix1.hpp b/src/Mix1.hpp
@@ -36,8 +36,7 @@ struct Mix1 : Module {
MixerChannel _channel;
Mix1()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _channel(
+ : _channel(
params[LEVEL_PARAM],
params[LEVEL_PARAM], // not used
params[MUTE_PARAM],
@@ -48,6 +47,10 @@ struct Mix1 : Module {
&inputs[MUTE_INPUT]
)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(LEVEL_PARAM, 0.0f, 1.0f, fabsf(MixerChannel::minDecibels, "level");
+ configParam(MUTE_PARAM, 0.0f, 1.0f, 0.0f, "mute");
+
onSampleRateChange();
}
diff --git a/src/Mult.cpp b/src/Mult.cpp
@@ -18,7 +18,8 @@ void Mult::process(const ProcessArgs& args) {
struct MultWidget : ModuleWidget {
static constexpr int hp = 3;
- MultWidget(Mult* module) : ModuleWidget(module) {
+ MultWidget(Mult* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Mult.hpp b/src/Mult.hpp
@@ -31,8 +31,9 @@ struct Mult : Module {
NUM_LIGHTS
};
- Mult() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
- }
+ Mult() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ }
void process(const ProcessArgs& args) override;
};
diff --git a/src/Mute8.cpp b/src/Mute8.cpp
@@ -46,7 +46,8 @@ void Mute8::stepChannel(int i, bool solo) {
struct Mute8Widget : ModuleWidget {
static constexpr int hp = 10;
- Mute8Widget(Mute8* module) : ModuleWidget(module) {
+ Mute8Widget(Mute8* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -107,14 +108,14 @@ struct Mute8Widget : ModuleWidget {
auto mute8LightPosition = Vec(100.5, 324.8);
// end generated by svg_widgets.rb
- addParam(createParam<SoloMuteButton>(mute1ParamPosition, module, Mute8::MUTE1_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute2ParamPosition, module, Mute8::MUTE2_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute3ParamPosition, module, Mute8::MUTE3_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute4ParamPosition, module, Mute8::MUTE4_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute5ParamPosition, module, Mute8::MUTE5_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute6ParamPosition, module, Mute8::MUTE6_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute7ParamPosition, module, Mute8::MUTE7_PARAM, 0.0, 3.0, 0.0));
- addParam(createParam<SoloMuteButton>(mute8ParamPosition, module, Mute8::MUTE8_PARAM, 0.0, 3.0, 0.0));
+ addParam(createParam<SoloMuteButton>(mute1ParamPosition, module, Mute8::MUTE1_PARAM));
+ addParam(createParam<SoloMuteButton>(mute2ParamPosition, module, Mute8::MUTE2_PARAM));
+ addParam(createParam<SoloMuteButton>(mute3ParamPosition, module, Mute8::MUTE3_PARAM));
+ addParam(createParam<SoloMuteButton>(mute4ParamPosition, module, Mute8::MUTE4_PARAM));
+ addParam(createParam<SoloMuteButton>(mute5ParamPosition, module, Mute8::MUTE5_PARAM));
+ addParam(createParam<SoloMuteButton>(mute6ParamPosition, module, Mute8::MUTE6_PARAM));
+ addParam(createParam<SoloMuteButton>(mute7ParamPosition, module, Mute8::MUTE7_PARAM));
+ addParam(createParam<SoloMuteButton>(mute8ParamPosition, module, Mute8::MUTE8_PARAM));
addInput(createInput<Port24>(input1InputPosition, module, Mute8::INPUT1_INPUT));
addInput(createInput<Port24>(input2InputPosition, module, Mute8::INPUT2_INPUT));
diff --git a/src/Mute8.hpp b/src/Mute8.hpp
@@ -74,7 +74,17 @@ struct Mute8 : Module {
bogaudio::dsp::SlewLimiter _slewLimiters[8];
Trigger _triggers[8];
- Mute8() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Mute8() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(MUTE1_PARAM, 0.0f, 3.0f, 0.0f, "mute1");
+ configParam(MUTE2_PARAM, 0.0f, 3.0f, 0.0f, "mute2");
+ configParam(MUTE3_PARAM, 0.0f, 3.0f, 0.0f, "mute3");
+ configParam(MUTE4_PARAM, 0.0f, 3.0f, 0.0f, "mute4");
+ configParam(MUTE5_PARAM, 0.0f, 3.0f, 0.0f, "mute5");
+ configParam(MUTE6_PARAM, 0.0f, 3.0f, 0.0f, "mute6");
+ configParam(MUTE7_PARAM, 0.0f, 3.0f, 0.0f, "mute7");
+ configParam(MUTE8_PARAM, 0.0f, 3.0f, 0.0f, "mute8");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Noise.cpp b/src/Noise.cpp
@@ -31,7 +31,8 @@ void Noise::process(const ProcessArgs& args) {
struct NoiseWidget : ModuleWidget {
static constexpr int hp = 3;
- NoiseWidget(Noise* module) : ModuleWidget(module) {
+ NoiseWidget(Noise* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/Noise.hpp b/src/Noise.hpp
@@ -39,7 +39,9 @@ struct Noise : Module {
RedNoiseGenerator _red;
GaussianNoiseGenerator _gauss;
- Noise() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
+ Noise() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ }
void process(const ProcessArgs& args) override;
};
diff --git a/src/Nsgt.cpp b/src/Nsgt.cpp
@@ -71,7 +71,8 @@ void Nsgt::process(const ProcessArgs& args) {
struct NsgtWidget : ModuleWidget {
static constexpr int hp = 6;
- NsgtWidget(Nsgt* module) : ModuleWidget(module) {
+ NsgtWidget(Nsgt* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -98,9 +99,9 @@ struct NsgtWidget : ModuleWidget {
auto rightOutputPosition = Vec(50.0, 320.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(thresholdParamPosition, module, Nsgt::THRESHOLD_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(ratioParamPosition, module, Nsgt::RATIO_PARAM, 0.0, 1.0, 0.552));
- addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Nsgt::KNEE_PARAM, 0.95, 1.0, 1.0));
+ addParam(createParam<Knob38>(thresholdParamPosition, module, Nsgt::THRESHOLD_PARAM));
+ addParam(createParam<Knob38>(ratioParamPosition, module, Nsgt::RATIO_PARAM));
+ addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Nsgt::KNEE_PARAM));
addInput(createInput<Port24>(leftInputPosition, module, Nsgt::LEFT_INPUT));
addInput(createInput<Port24>(rightInputPosition, module, Nsgt::RIGHT_INPUT));
diff --git a/src/Nsgt.hpp b/src/Nsgt.hpp
@@ -50,7 +50,12 @@ struct Nsgt : Module {
Amplifier _amplifier;
Saturator _saturator;
- Nsgt() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Nsgt() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(THRESHOLD_PARAM, 0.0f, 1.0f, 0.8f, "threshold");
+ configParam(RATIO_PARAM, 0.0f, 1.0f, 0.552f, "ratio");
+ configParam(KNEE_PARAM, 0.95f, 1.0f, 1.0f, "knee");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Offset.cpp b/src/Offset.cpp
@@ -51,8 +51,8 @@ struct OffsetWidget : DisableOutputLimitModuleWidget {
auto outOutputPosition = Vec(10.5, 281.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(offsetParamPosition, module, Offset::OFFSET_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob29>(scaleParamPosition, module, Offset::SCALE_PARAM, -1.0, 1.0, 0.316));
+ addParam(createParam<Knob29>(offsetParamPosition, module, Offset::OFFSET_PARAM));
+ addParam(createParam<Knob29>(scaleParamPosition, module, Offset::SCALE_PARAM));
addInput(createInput<Port24>(offsetInputPosition, module, Offset::OFFSET_INPUT));
addInput(createInput<Port24>(scaleInputPosition, module, Offset::SCALE_INPUT));
diff --git a/src/Offset.hpp b/src/Offset.hpp
@@ -26,7 +26,10 @@ struct Offset : DisableOutputLimitModule {
NUM_OUTPUTS
};
- Offset() : DisableOutputLimitModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS) {}
+ Offset() : DisableOutputLimitModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS) {configParam(OFFSET_PARAM, -1.0f, 1.0f, 0.0f, "offset");
+ configParam(SCALE_PARAM, -1.0f, 1.0f, 0.316f, "scale");
+
+ }
void process(const ProcessArgs& args) override;
diff --git a/src/OneEight.cpp b/src/OneEight.cpp
@@ -75,7 +75,8 @@ struct SelectOnClockMenuItem : MenuItem {
struct OneEightWidget : ModuleWidget {
static constexpr int hp = 6;
- OneEightWidget(OneEight* module) : ModuleWidget(module) {
+ OneEightWidget(OneEight* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -118,13 +119,13 @@ struct OneEightWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob16>(stepsParamPosition, module, OneEight::STEPS_PARAM, 1.0, 8.0, 8.0);
+ auto w = createParam<Knob16>(stepsParamPosition, module, OneEight::STEPS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, OneEight::DIRECTION_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<SliderSwitch2State14>(directionParamPosition, module, OneEight::DIRECTION_PARAM));
{
- auto w = createParam<Knob29>(selectParamPosition, module, OneEight::SELECT_PARAM, 0.0, 7.0, 0.0);
+ auto w = createParam<Knob29>(selectParamPosition, module, OneEight::SELECT_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
diff --git a/src/OneEight.hpp b/src/OneEight.hpp
@@ -56,7 +56,12 @@ struct OneEight : Module {
bool _selectOnClock = false;
int _select = 0;
- OneEight() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ OneEight() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(STEPS_PARAM, 1.0f, 8.0f, 8.0f, "steps");
+ configParam(DIRECTION_PARAM, 0.0f, 1.0f, 1.0f, "direction");
+ configParam(SELECT_PARAM, 0.0f, 7.0f, 0.0f, "select");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Pan.cpp b/src/Pan.cpp
@@ -35,7 +35,8 @@ void Pan::process(const ProcessArgs& args) {
struct PanWidget : ModuleWidget {
static constexpr int hp = 3;
- PanWidget(Pan* module) : ModuleWidget(module) {
+ PanWidget(Pan* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -61,8 +62,8 @@ struct PanWidget : ModuleWidget {
auto rOutputPosition = Vec(10.5, 303.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob26>(pan1ParamPosition, module, Pan::PAN1_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(pan2ParamPosition, module, Pan::PAN2_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob26>(pan1ParamPosition, module, Pan::PAN1_PARAM));
+ addParam(createParam<Knob26>(pan2ParamPosition, module, Pan::PAN2_PARAM));
addInput(createInput<Port24>(cv1InputPosition, module, Pan::CV1_INPUT));
addInput(createInput<Port24>(in1InputPosition, module, Pan::IN1_INPUT));
diff --git a/src/Pan.hpp b/src/Pan.hpp
@@ -41,7 +41,11 @@ struct Pan : Module {
Saturator _saturatorLeft;
Saturator _saturatorRight;
- Pan() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Pan() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(PAN1_PARAM, -1.0f, 1.0f, 0.0f, "pan1");
+ configParam(PAN2_PARAM, -1.0f, 1.0f, 0.0f, "pan2");
+
onSampleRateChange();
}
diff --git a/src/Pressor.cpp b/src/Pressor.cpp
@@ -172,7 +172,8 @@ struct CompressionDisplay : OpaqueWidget {
struct PressorWidget : ModuleWidget {
static constexpr int hp = 15;
- PressorWidget(Pressor* module) : ModuleWidget(module) {
+ PressorWidget(Pressor* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -221,16 +222,16 @@ struct PressorWidget : ModuleWidget {
auto rightOutputPosition = Vec(186.0, 318.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(thresholdParamPosition, module, Pressor::THRESHOLD_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(ratioParamPosition, module, Pressor::RATIO_PARAM, 0.0, 1.0, 0.552));
- addParam(createParam<Knob26>(attackParamPosition, module, Pressor::ATTACK_PARAM, 0.0, 1.0, 0.316));
- addParam(createParam<Knob26>(releaseParamPosition, module, Pressor::RELEASE_PARAM, 0.0, 1.0, 0.316));
- addParam(createParam<Knob26>(outputGainParamPosition, module, Pressor::OUTPUT_GAIN_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(inputGainParamPosition, module, Pressor::INPUT_GAIN_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(detectorMixParamPosition, module, Pressor::DETECTOR_MIX_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, Pressor::MODE_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(dectectorModeParamPosition, module, Pressor::DECTECTOR_MODE_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Pressor::KNEE_PARAM, 0.95, 1.0, 1.0));
+ addParam(createParam<Knob38>(thresholdParamPosition, module, Pressor::THRESHOLD_PARAM));
+ addParam(createParam<Knob38>(ratioParamPosition, module, Pressor::RATIO_PARAM));
+ addParam(createParam<Knob26>(attackParamPosition, module, Pressor::ATTACK_PARAM));
+ addParam(createParam<Knob26>(releaseParamPosition, module, Pressor::RELEASE_PARAM));
+ addParam(createParam<Knob26>(outputGainParamPosition, module, Pressor::OUTPUT_GAIN_PARAM));
+ addParam(createParam<Knob26>(inputGainParamPosition, module, Pressor::INPUT_GAIN_PARAM));
+ addParam(createParam<Knob26>(detectorMixParamPosition, module, Pressor::DETECTOR_MIX_PARAM));
+ addParam(createParam<SliderSwitch2State14>(modeParamPosition, module, Pressor::MODE_PARAM));
+ addParam(createParam<SliderSwitch2State14>(dectectorModeParamPosition, module, Pressor::DECTECTOR_MODE_PARAM));
+ addParam(createParam<SliderSwitch2State14>(kneeParamPosition, module, Pressor::KNEE_PARAM));
addInput(createInput<Port24>(leftInputPosition, module, Pressor::LEFT_INPUT));
addInput(createInput<Port24>(sidechainInputPosition, module, Pressor::SIDECHAIN_INPUT));
diff --git a/src/Pressor.hpp b/src/Pressor.hpp
@@ -73,9 +73,20 @@ struct Pressor : Module {
Saturator _saturator;
Pressor()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _detectorRMS(1000.0f, 1.0f, 50.0f)
+ : _detectorRMS(1000.0f, 1.0f, 50.0f)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(THRESHOLD_PARAM, 0.0f, 1.0f, 0.8f, "threshold");
+ configParam(RATIO_PARAM, 0.0f, 1.0f, 0.552f, "ratio");
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.316f, "attack");
+ configParam(RELEASE_PARAM, 0.0f, 1.0f, 0.316f, "release");
+ configParam(OUTPUT_GAIN_PARAM, 0.0f, 1.0f, 0.0f, "output_gain");
+ configParam(INPUT_GAIN_PARAM, -1.0f, 1.0f, 0.0f, "input_gain");
+ configParam(DETECTOR_MIX_PARAM, -1.0f, 1.0f, 0.0f, "detector_mix");
+ configParam(MODE_PARAM, 0.0f, 1.0f, 1.0f, "mode");
+ configParam(DECTECTOR_MODE_PARAM, 0.0f, 1.0f, 1.0f, "dectector_mode");
+ configParam(KNEE_PARAM, 0.95f, 1.0f, 1.0f, "knee");
+
onReset();
onSampleRateChange();
}
diff --git a/src/Reftone.cpp b/src/Reftone.cpp
@@ -186,7 +186,8 @@ float ReftoneDisplay::textRenderWidth(const DrawArgs& args, const char* s, int s
struct ReftoneWidget : ModuleWidget {
static constexpr int hp = 3;
- ReftoneWidget(Reftone* module) : ModuleWidget(module) {
+ ReftoneWidget(Reftone* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -218,16 +219,16 @@ struct ReftoneWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob26>(pitchParamPosition, module, Reftone::PITCH_PARAM, 0.0, 11.0, 9.0);
+ auto w = createParam<Knob26>(pitchParamPosition, module, Reftone::PITCH_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
{
- auto w = createParam<Knob26>(octaveParamPosition, module, Reftone::OCTAVE_PARAM, 1.0, 8.0, 4.0);
+ auto w = createParam<Knob26>(octaveParamPosition, module, Reftone::OCTAVE_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
- addParam(createParam<Knob26>(fineParamPosition, module, Reftone::FINE_PARAM, -0.99, 0.99, 0.0));
+ addParam(createParam<Knob26>(fineParamPosition, module, Reftone::FINE_PARAM));
addOutput(createOutput<Port24>(cvOutputPosition, module, Reftone::CV_OUTPUT));
addOutput(createOutput<Port24>(outOutputPosition, module, Reftone::OUT_OUTPUT));
diff --git a/src/Reftone.hpp b/src/Reftone.hpp
@@ -39,7 +39,12 @@ struct Reftone : Module {
float _cv = frequencyToCV(_frequency);
SineOscillator _sine;
- Reftone() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Reftone() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(PITCH_PARAM, 0.0f, 11.0f, 9.0f, "pitch");
+ configParam(OCTAVE_PARAM, 1.0f, 8.0f, 4.0f, "octave");
+ configParam(FINE_PARAM, -0.99f, 0.99f, 0.0f, "fine");
+
onSampleRateChange();
}
diff --git a/src/SampleHold.cpp b/src/SampleHold.cpp
@@ -41,7 +41,8 @@ void SampleHold::process(const ProcessArgs& args) {
struct SampleHoldWidget : ModuleWidget {
static constexpr int hp = 3;
- SampleHoldWidget(SampleHold* module) : ModuleWidget(module) {
+ SampleHoldWidget(SampleHold* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -72,10 +73,10 @@ struct SampleHoldWidget : ModuleWidget {
auto track2LightPosition = Vec(7.0, 287.0);
// end generated by svg_widgets.rb
- addParam(createParam<Button18>(trigger1ParamPosition, module, SampleHold::TRIGGER1_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Button18>(trigger2ParamPosition, module, SampleHold::TRIGGER2_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(track1ParamPosition, module, SampleHold::TRACK1_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(track2ParamPosition, module, SampleHold::TRACK2_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Button18>(trigger1ParamPosition, module, SampleHold::TRIGGER1_PARAM));
+ addParam(createParam<Button18>(trigger2ParamPosition, module, SampleHold::TRIGGER2_PARAM));
+ addParam(createParam<StatefulButton9>(track1ParamPosition, module, SampleHold::TRACK1_PARAM));
+ addParam(createParam<StatefulButton9>(track2ParamPosition, module, SampleHold::TRACK2_PARAM));
addInput(createInput<Port24>(trigger1InputPosition, module, SampleHold::TRIGGER1_INPUT));
addInput(createInput<Port24>(in1InputPosition, module, SampleHold::IN1_INPUT));
diff --git a/src/SampleHold.hpp b/src/SampleHold.hpp
@@ -43,10 +43,15 @@ struct SampleHold : Module {
WhiteNoiseGenerator _noise;
SampleHold()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _value1(0.0f)
+ : _value1(0.0f)
, _value2(0.0f)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(TRIGGER1_PARAM, 0.0f, 1.0f, 0.0f, "trigger1");
+ configParam(TRIGGER2_PARAM, 0.0f, 1.0f, 0.0f, "trigger2");
+ configParam(TRACK1_PARAM, 0.0f, 1.0f, 0.0f, "track1");
+ configParam(TRACK2_PARAM, 0.0f, 1.0f, 0.0f, "track2");
+
onReset();
}
diff --git a/src/Shaper.cpp b/src/Shaper.cpp
@@ -4,7 +4,8 @@
struct ShaperWidget : ModuleWidget {
static constexpr int hp = 10;
- ShaperWidget(Shaper* module) : ModuleWidget(module) {
+ ShaperWidget(Shaper* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -44,18 +45,18 @@ struct ShaperWidget : ModuleWidget {
auto offLightPosition = Vec(12.0, 237.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(attackParamPosition, module, Shaper::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob38>(onParamPosition, module, Shaper::ON_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(decayParamPosition, module, Shaper::DECAY_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(offParamPosition, module, Shaper::OFF_PARAM, 0.0, 1.0, 0.07));
- addParam(createParam<Knob38>(envParamPosition, module, Shaper::ENV_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob38>(signalParamPosition, module, Shaper::SIGNAL_PARAM, 0.0, 1.0, 0.1));
+ addParam(createParam<Knob38>(attackParamPosition, module, Shaper::ATTACK_PARAM));
+ addParam(createParam<Knob38>(onParamPosition, module, Shaper::ON_PARAM));
+ addParam(createParam<Knob38>(decayParamPosition, module, Shaper::DECAY_PARAM));
+ addParam(createParam<Knob38>(offParamPosition, module, Shaper::OFF_PARAM));
+ addParam(createParam<Knob38>(envParamPosition, module, Shaper::ENV_PARAM));
+ addParam(createParam<Knob38>(signalParamPosition, module, Shaper::SIGNAL_PARAM));
- addParam(createParam<Button18>(triggerParamPosition, module, Shaper::TRIGGER_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Button18>(triggerParamPosition, module, Shaper::TRIGGER_PARAM));
addInput(createInput<Port24>(triggerInputPosition, module, Shaper::TRIGGER_INPUT));
- addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, Shaper::SPEED_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, Shaper::LOOP_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, Shaper::SPEED_PARAM));
+ addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, Shaper::LOOP_PARAM));
addOutput(createOutput<Port24>(triggerOutputPosition, module, Shaper::TRIGGER_OUTPUT));
addOutput(createOutput<Port24>(envOutputPosition, module, Shaper::ENV_OUTPUT));
diff --git a/src/Shaper.hpp b/src/Shaper.hpp
@@ -89,6 +89,16 @@ struct Shaper : TriggerOnLoadModule {
_shouldTriggerOnLoad
)
{
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(ON_PARAM, 0.0f, 1.0f, 0.32f, "on");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.32f, "decay");
+ configParam(OFF_PARAM, 0.0f, 1.0f, 0.07f, "off");
+ configParam(ENV_PARAM, 0.0f, 1.0f, 1.0f, "env");
+ configParam(SIGNAL_PARAM, 0.0f, 1.0f, 0.1f, "signal");
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+ configParam(SPEED_PARAM, 0.0f, 1.0f, 1.0f, "speed");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 1.0f, "loop");
+
onReset();
}
diff --git a/src/ShaperPlus.cpp b/src/ShaperPlus.cpp
@@ -4,7 +4,8 @@
struct ShaperPlusWidget : ModuleWidget {
static constexpr int hp = 15;
- ShaperPlusWidget(ShaperPlus* module) : ModuleWidget(module) {
+ ShaperPlusWidget(ShaperPlus* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -54,18 +55,18 @@ struct ShaperPlusWidget : ModuleWidget {
auto offLightPosition = Vec(12.0, 237.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(attackParamPosition, module, ShaperPlus::ATTACK_PARAM, 0.0, 1.0, 0.12));
- addParam(createParam<Knob38>(onParamPosition, module, ShaperPlus::ON_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(decayParamPosition, module, ShaperPlus::DECAY_PARAM, 0.0, 1.0, 0.32));
- addParam(createParam<Knob38>(offParamPosition, module, ShaperPlus::OFF_PARAM, 0.0, 1.0, 0.07));
- addParam(createParam<Knob38>(envParamPosition, module, ShaperPlus::ENV_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob38>(signalParamPosition, module, ShaperPlus::SIGNAL_PARAM, 0.0, 1.0, 0.1));
+ addParam(createParam<Knob38>(attackParamPosition, module, ShaperPlus::ATTACK_PARAM));
+ addParam(createParam<Knob38>(onParamPosition, module, ShaperPlus::ON_PARAM));
+ addParam(createParam<Knob38>(decayParamPosition, module, ShaperPlus::DECAY_PARAM));
+ addParam(createParam<Knob38>(offParamPosition, module, ShaperPlus::OFF_PARAM));
+ addParam(createParam<Knob38>(envParamPosition, module, ShaperPlus::ENV_PARAM));
+ addParam(createParam<Knob38>(signalParamPosition, module, ShaperPlus::SIGNAL_PARAM));
- addParam(createParam<Button18>(triggerParamPosition, module, ShaperPlus::TRIGGER_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Button18>(triggerParamPosition, module, ShaperPlus::TRIGGER_PARAM));
addInput(createInput<Port24>(triggerInputPosition, module, ShaperPlus::TRIGGER_INPUT));
- addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, ShaperPlus::SPEED_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, ShaperPlus::LOOP_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<SliderSwitch2State14>(speedParamPosition, module, ShaperPlus::SPEED_PARAM));
+ addParam(createParam<SliderSwitch2State14>(loopParamPosition, module, ShaperPlus::LOOP_PARAM));
addOutput(createOutput<Port24>(triggerOutputPosition, module, ShaperPlus::TRIGGER_OUTPUT));
addOutput(createOutput<Port24>(envOutputPosition, module, ShaperPlus::ENV_OUTPUT));
diff --git a/src/ShaperPlus.hpp b/src/ShaperPlus.hpp
@@ -96,6 +96,16 @@ struct ShaperPlus : TriggerOnLoadModule {
_shouldTriggerOnLoad
)
{
+ configParam(ATTACK_PARAM, 0.0f, 1.0f, 0.12f, "attack");
+ configParam(ON_PARAM, 0.0f, 1.0f, 0.32f, "on");
+ configParam(DECAY_PARAM, 0.0f, 1.0f, 0.32f, "decay");
+ configParam(OFF_PARAM, 0.0f, 1.0f, 0.07f, "off");
+ configParam(ENV_PARAM, 0.0f, 1.0f, 1.0f, "env");
+ configParam(SIGNAL_PARAM, 0.0f, 1.0f, 0.1f, "signal");
+ configParam(TRIGGER_PARAM, 0.0f, 1.0f, 0.0f, "trigger");
+ configParam(SPEED_PARAM, 0.0f, 1.0f, 1.0f, "speed");
+ configParam(LOOP_PARAM, 0.0f, 1.0f, 1.0f, "loop");
+
onReset();
}
diff --git a/src/Slew.cpp b/src/Slew.cpp
@@ -63,7 +63,8 @@ float Slew::shape(Param& param) {
struct SlewWidget : ModuleWidget {
static constexpr int hp = 3;
- SlewWidget(Slew* module) : ModuleWidget(module) {
+ SlewWidget(Slew* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -89,10 +90,10 @@ struct SlewWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 301.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob26>(riseParamPosition, module, Slew::RISE_PARAM, 0.0, 1.0, 0.316));
- addParam(createParam<Knob16>(riseShapeParamPosition, module, Slew::RISE_SHAPE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(fallParamPosition, module, Slew::FALL_PARAM, 0.0, 1.0, 0.316));
- addParam(createParam<Knob16>(fallShapeParamPosition, module, Slew::FALL_SHAPE_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob26>(riseParamPosition, module, Slew::RISE_PARAM));
+ addParam(createParam<Knob16>(riseShapeParamPosition, module, Slew::RISE_SHAPE_PARAM));
+ addParam(createParam<Knob26>(fallParamPosition, module, Slew::FALL_PARAM));
+ addParam(createParam<Knob16>(fallShapeParamPosition, module, Slew::FALL_SHAPE_PARAM));
addInput(createInput<Port24>(riseInputPosition, module, Slew::RISE_INPUT));
addInput(createInput<Port24>(fallInputPosition, module, Slew::FALL_INPUT));
diff --git a/src/Slew.hpp b/src/Slew.hpp
@@ -41,7 +41,13 @@ struct Slew : Module {
ShapedSlewLimiter _rise;
ShapedSlewLimiter _fall;
- Slew() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Slew() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RISE_PARAM, 0.0f, 1.0f, 0.316f, "rise");
+ configParam(RISE_SHAPE_PARAM, -1.0f, 1.0f, 0.0f, "rise_shape");
+ configParam(FALL_PARAM, 0.0f, 1.0f, 0.316f, "fall");
+ configParam(FALL_SHAPE_PARAM, -1.0f, 1.0f, 0.0f, "fall_shape");
+
onReset();
}
diff --git a/src/Stack.cpp b/src/Stack.cpp
@@ -42,7 +42,8 @@ void Stack::process(const ProcessArgs& args) {
struct StackWidget : ModuleWidget {
static constexpr int hp = 3;
- StackWidget(Stack* module) : ModuleWidget(module) {
+ StackWidget(Stack* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -71,20 +72,20 @@ struct StackWidget : ModuleWidget {
// end generated by svg_widgets.rb
{
- auto w = createParam<Knob26>(semisParamPosition, module, Stack::SEMIS_PARAM, 0.0, 11.0, 0.0);
+ auto w = createParam<Knob26>(semisParamPosition, module, Stack::SEMIS_PARAM);
dynamic_cast<Knob*>(w)->snap = true;
addParam(w);
}
{
- auto w = createParam<Knob16>(octaveParamPosition, module, Stack::OCTAVE_PARAM, -3.0, 3.0, 0.0);
+ auto w = createParam<Knob16>(octaveParamPosition, module, Stack::OCTAVE_PARAM);
auto k = dynamic_cast<SVGKnob*>(w);
k->snap = true;
k->minAngle = -0.5 * M_PI;
k->maxAngle = 0.5 * M_PI;
addParam(w);
}
- addParam(createParam<Knob16>(fineParamPosition, module, Stack::FINE_PARAM, -0.99, 0.99, 0.0));
- addParam(createParam<StatefulButton9>(quantizeParamPosition, module, Stack::QUANTIZE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob16>(fineParamPosition, module, Stack::FINE_PARAM));
+ addParam(createParam<StatefulButton9>(quantizeParamPosition, module, Stack::QUANTIZE_PARAM));
addInput(createInput<Port24>(cvInputPosition, module, Stack::CV_INPUT));
addInput(createInput<Port24>(inInputPosition, module, Stack::IN_INPUT));
diff --git a/src/Stack.hpp b/src/Stack.hpp
@@ -43,7 +43,12 @@ struct Stack : Module {
float _fine = -1000.0f;
float _outCV;
- Stack() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Stack() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(SEMIS_PARAM, 0.0f, 11.0f, 0.0f, "semis");
+ configParam(OCTAVE_PARAM, -3.0f, 3.0f, 0.0f, "octave");
+ configParam(FINE_PARAM, -0.99f, 0.99f, 0.0f, "fine");
+ configParam(QUANTIZE_PARAM, 0.0f, 1.0f, 1.0f, "quantize");
}
void process(const ProcessArgs& args) override;
diff --git a/src/Sums.hpp b/src/Sums.hpp
@@ -33,6 +33,7 @@ struct Sums : DisableOutputLimitModule {
};
Sums() : DisableOutputLimitModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+
}
void process(const ProcessArgs& args) override;
diff --git a/src/Test.cpp b/src/Test.cpp
@@ -483,7 +483,8 @@ float Test::index3() {
struct TestWidget : ModuleWidget {
- TestWidget(Test* module) : ModuleWidget(module) {
+ TestWidget(Test* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * 3, RACK_GRID_HEIGHT);
{
@@ -510,9 +511,9 @@ struct TestWidget : ModuleWidget {
auto out2OutputPosition = Vec(20.5, 316.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob26>(param1ParamPosition, module, Test::PARAM1_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<Knob26>(param2ParamPosition, module, Test::PARAM2_PARAM, 0.0, 1.0, 0.5));
- addParam(createParam<Knob26>(param3ParamPosition, module, Test::PARAM3_PARAM, 0.0, 1.0, 0.5));
+ addParam(createParam<Knob26>(param1ParamPosition, module, Test::PARAM1_PARAM));
+ addParam(createParam<Knob26>(param2ParamPosition, module, Test::PARAM2_PARAM));
+ addParam(createParam<Knob26>(param3ParamPosition, module, Test::PARAM3_PARAM));
addInput(createInput<Port24>(cv1InputPosition, module, Test::CV1_INPUT));
addInput(createInput<Port24>(cv2InputPosition, module, Test::CV2_INPUT));
diff --git a/src/Test.hpp b/src/Test.hpp
@@ -249,6 +249,10 @@ struct Test : Module {
, _average(APP->engine->getSampleRate(), 1.0f, 1000.0f)
#endif
{
+ configParam(PARAM1_PARAM, 0.0f, 1.0f, 0.5f, "param1");
+ configParam(PARAM2_PARAM, 0.0f, 1.0f, 0.5f, "param2");
+ configParam(PARAM3_PARAM, 0.0f, 1.0f, 0.5f, "param3");
+
onReset();
#ifdef SINE
diff --git a/src/Test2.cpp b/src/Test2.cpp
@@ -105,7 +105,8 @@ void Test2::process(const ProcessArgs& args) {
struct Test2Widget : ModuleWidget {
- Test2Widget(Test2* module) : ModuleWidget(module) {
+ Test2Widget(Test2* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * 6, RACK_GRID_HEIGHT);
{
@@ -137,12 +138,12 @@ struct Test2Widget : ModuleWidget {
auto outOutputPosition = Vec(55.5, 323.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob26>(param1aParamPosition, module, Test2::PARAM1A_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(param2aParamPosition, module, Test2::PARAM2A_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(param3aParamPosition, module, Test2::PARAM3A_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(param1bParamPosition, module, Test2::PARAM1B_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(param2bParamPosition, module, Test2::PARAM2B_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(param3bParamPosition, module, Test2::PARAM3B_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob26>(param1aParamPosition, module, Test2::PARAM1A_PARAM));
+ addParam(createParam<Knob26>(param2aParamPosition, module, Test2::PARAM2A_PARAM));
+ addParam(createParam<Knob26>(param3aParamPosition, module, Test2::PARAM3A_PARAM));
+ addParam(createParam<Knob26>(param1bParamPosition, module, Test2::PARAM1B_PARAM));
+ addParam(createParam<Knob26>(param2bParamPosition, module, Test2::PARAM2B_PARAM));
+ addParam(createParam<Knob26>(param3bParamPosition, module, Test2::PARAM3B_PARAM));
addInput(createInput<Port24>(cv1aInputPosition, module, Test2::CV1A_INPUT));
addInput(createInput<Port24>(cv2aInputPosition, module, Test2::CV2A_INPUT));
diff --git a/src/Test2.hpp b/src/Test2.hpp
@@ -69,7 +69,15 @@ struct Test2 : Module {
Limiter _limiter;
#endif
- Test2() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Test2() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(PARAM1A_PARAM, 0.0f, 1.0f, 0.0f, "param1a");
+ configParam(PARAM2A_PARAM, 0.0f, 1.0f, 0.0f, "param2a");
+ configParam(PARAM3A_PARAM, 0.0f, 1.0f, 0.0f, "param3a");
+ configParam(PARAM1B_PARAM, 0.0f, 1.0f, 0.0f, "param1b");
+ configParam(PARAM2B_PARAM, 0.0f, 1.0f, 0.0f, "param2b");
+ configParam(PARAM3B_PARAM, 0.0f, 1.0f, 0.0f, "param3b");
+
onReset();
}
diff --git a/src/UMix.cpp b/src/UMix.cpp
@@ -104,7 +104,8 @@ struct CVModeMenuItem : MenuItem {
struct UMixWidget : ModuleWidget {
static constexpr int hp = 3;
- UMixWidget(UMix* module) : ModuleWidget(module) {
+ UMixWidget(UMix* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -132,7 +133,7 @@ struct UMixWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 263.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob16>(levelParamPosition, module, UMix::LEVEL_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob16>(levelParamPosition, module, UMix::LEVEL_PARAM));
addInput(createInput<Port24>(in1InputPosition, module, UMix::IN1_INPUT));
addInput(createInput<Port24>(in2InputPosition, module, UMix::IN2_INPUT));
diff --git a/src/UMix.hpp b/src/UMix.hpp
@@ -40,7 +40,9 @@ struct UMix : Module {
bool _cvMode = false;
Saturator _saturator;
- UMix() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ UMix() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(LEVEL_PARAM, 0.0f, 1.0f, 1.0f, "level");
}
json_t* dataToJson() override;
diff --git a/src/VCA.cpp b/src/VCA.cpp
@@ -36,7 +36,8 @@ void VCA::channelStep(Input& input, Output& output, Param& knob, Input& cv, Ampl
struct VCAWidget : ModuleWidget {
static constexpr int hp = 3;
- VCAWidget(VCA* module) : ModuleWidget(module) {
+ VCAWidget(VCA* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -65,9 +66,9 @@ struct VCAWidget : ModuleWidget {
auto linearLightPosition = Vec(6.5, 334.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob26>(level1ParamPosition, module, VCA::LEVEL1_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob26>(level2ParamPosition, module, VCA::LEVEL2_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<StatefulButton9>(linearParamPosition, module, VCA::LINEAR_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob26>(level1ParamPosition, module, VCA::LEVEL1_PARAM));
+ addParam(createParam<Knob26>(level2ParamPosition, module, VCA::LEVEL2_PARAM));
+ addParam(createParam<StatefulButton9>(linearParamPosition, module, VCA::LINEAR_PARAM));
addInput(createInput<Port24>(cv1InputPosition, module, VCA::CV1_INPUT));
addInput(createInput<Port24>(in1InputPosition, module, VCA::IN1_INPUT));
diff --git a/src/VCA.hpp b/src/VCA.hpp
@@ -41,7 +41,12 @@ struct VCA : Module {
Amplifier _amplifier2;
bogaudio::dsp::SlewLimiter _levelSL2;
- VCA() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ VCA() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(LEVEL1_PARAM, 0.0f, 1.0f, 0.8f, "level1");
+ configParam(LEVEL2_PARAM, 0.0f, 1.0f, 0.8f, "level2");
+ configParam(LINEAR_PARAM, 0.0f, 1.0f, 0.0f, "linear");
+
onSampleRateChange();
}
diff --git a/src/VCAmp.cpp b/src/VCAmp.cpp
@@ -31,7 +31,8 @@ void VCAmp::process(const ProcessArgs& args) {
struct VCAmpWidget : ModuleWidget {
static constexpr int hp = 3;
- VCAmpWidget(VCAmp* module) : ModuleWidget(module) {
+ VCAmpWidget(VCAmp* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -53,14 +54,7 @@ struct VCAmpWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 286.0);
// end generated by svg_widgets.rb
- auto slider = createParam<VUSlider>(
- levelParamPosition,
- module,
- VCAmp::LEVEL_PARAM,
- 0.0,
- 1.0,
- fabs(minDecibels) / (maxDecibels - minDecibels)
- );
+ auto slider = createParam<VUSlider>levelParamPosition, module, VCAmp::LEVEL_PARAM);
if (module) {
dynamic_cast<VUSlider*>(slider)->setVULevel(&(module->_rmsLevel));
}
diff --git a/src/VCAmp.hpp b/src/VCAmp.hpp
@@ -36,7 +36,10 @@ struct VCAmp : Module {
RootMeanSquare _rms;
float _rmsLevel = 0.0f;
- VCAmp() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ VCAmp() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(LEVEL_PARAM, 0.0f, 1.0f, fabs(minDecibels, "level");
+
onSampleRateChange();
_rms.setSensitivity(0.05f);
}
diff --git a/src/VCM.cpp b/src/VCM.cpp
@@ -79,12 +79,12 @@ struct VCMWidget : DisableOutputLimitModuleWidget {
auto linearLightPosition = Vec(46.0, 344.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob38>(level1ParamPosition, module, VCM::LEVEL1_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(level2ParamPosition, module, VCM::LEVEL2_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(level3ParamPosition, module, VCM::LEVEL3_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(level4ParamPosition, module, VCM::LEVEL4_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<Knob38>(mixParamPosition, module, VCM::MIX_PARAM, 0.0, 1.0, 0.8));
- addParam(createParam<StatefulButton9>(linearParamPosition, module, VCM::LINEAR_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<Knob38>(level1ParamPosition, module, VCM::LEVEL1_PARAM));
+ addParam(createParam<Knob38>(level2ParamPosition, module, VCM::LEVEL2_PARAM));
+ addParam(createParam<Knob38>(level3ParamPosition, module, VCM::LEVEL3_PARAM));
+ addParam(createParam<Knob38>(level4ParamPosition, module, VCM::LEVEL4_PARAM));
+ addParam(createParam<Knob38>(mixParamPosition, module, VCM::MIX_PARAM));
+ addParam(createParam<StatefulButton9>(linearParamPosition, module, VCM::LINEAR_PARAM));
addInput(createInput<Port24>(in1InputPosition, module, VCM::IN1_INPUT));
addInput(createInput<Port24>(cv1InputPosition, module, VCM::CV1_INPUT));
diff --git a/src/VCM.hpp b/src/VCM.hpp
@@ -50,6 +50,13 @@ struct VCM : DisableOutputLimitModule {
Amplifier _amplifier4;
VCM() : DisableOutputLimitModule(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ configParam(LEVEL1_PARAM, 0.0f, 1.0f, 0.8f, "level1");
+ configParam(LEVEL2_PARAM, 0.0f, 1.0f, 0.8f, "level2");
+ configParam(LEVEL3_PARAM, 0.0f, 1.0f, 0.8f, "level3");
+ configParam(LEVEL4_PARAM, 0.0f, 1.0f, 0.8f, "level4");
+ configParam(MIX_PARAM, 0.0f, 1.0f, 0.8f, "mix");
+ configParam(LINEAR_PARAM, 0.0f, 1.0f, 0.0f, "linear");
+
onReset();
}
diff --git a/src/VCO.cpp b/src/VCO.cpp
@@ -155,7 +155,8 @@ void VCO::setFrequency(float frequency) {
struct VCOWidget : ModuleWidget {
static constexpr int hp = 10;
- VCOWidget(VCO* module) : ModuleWidget(module) {
+ VCOWidget(VCO* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -191,12 +192,12 @@ struct VCOWidget : ModuleWidget {
auto slowLightPosition = Vec(82.0, 158.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob68>(frequencyParamPosition, module, VCO::FREQUENCY_PARAM, -3.0, 6.0, 0.0));
- addParam(createParam<Knob16>(fineParamPosition, module, VCO::FINE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(slowParamPosition, module, VCO::SLOW_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob26>(pwParamPosition, module, VCO::PW_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob26>(fmParamPosition, module, VCO::FM_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(fmTypeParamPosition, module, VCO::FM_TYPE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob68>(frequencyParamPosition, module, VCO::FREQUENCY_PARAM));
+ addParam(createParam<Knob16>(fineParamPosition, module, VCO::FINE_PARAM));
+ addParam(createParam<StatefulButton9>(slowParamPosition, module, VCO::SLOW_PARAM));
+ addParam(createParam<Knob26>(pwParamPosition, module, VCO::PW_PARAM));
+ addParam(createParam<Knob26>(fmParamPosition, module, VCO::FM_PARAM));
+ addParam(createParam<SliderSwitch2State14>(fmTypeParamPosition, module, VCO::FM_TYPE_PARAM));
addInput(createInput<Port24>(pitchInputPosition, module, VCO::PITCH_INPUT));
addInput(createInput<Port24>(syncInputPosition, module, VCO::SYNC_INPUT));
diff --git a/src/VCO.hpp b/src/VCO.hpp
@@ -69,7 +69,15 @@ struct VCO : Module {
PositiveZeroCrossing _syncTrigger;
bogaudio::dsp::SlewLimiter _squarePulseWidthSL;
- VCO() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ VCO() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(FREQUENCY_PARAM, -3.0f, 6.0f, 0.0f, "frequency");
+ configParam(FINE_PARAM, -1.0f, 1.0f, 0.0f, "fine");
+ configParam(SLOW_PARAM, 0.0f, 1.0f, 0.0f, "slow");
+ configParam(PW_PARAM, -1.0f, 1.0f, 0.0f, "pw");
+ configParam(FM_PARAM, 0.0f, 1.0f, 0.0f, "fm");
+ configParam(FM_TYPE_PARAM, 0.0f, 1.0f, 1.0f, "fm_type");
+
onReset();
setSampleRate(APP->engine->getSampleRate());
_saw.setQuality(12);
diff --git a/src/VU.cpp b/src/VU.cpp
@@ -92,7 +92,8 @@ struct VUDisplay : OpaqueWidget {
struct VUWidget : ModuleWidget {
static constexpr int hp = 3;
- VUWidget(VU* module) : ModuleWidget(module) {
+ VUWidget(VU* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
diff --git a/src/VU.hpp b/src/VU.hpp
@@ -35,7 +35,8 @@ struct VU : Module {
float _lLevel = 0.0f;
float _rLevel = 0.0f;
- VU() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ VU() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
onSampleRateChange();
_lRms.setSensitivity(0.05f);
_rRms.setSensitivity(0.05f);
diff --git a/src/Walk.cpp b/src/Walk.cpp
@@ -48,7 +48,8 @@ void Walk::process(const ProcessArgs& args) {
struct WalkWidget : ModuleWidget {
static constexpr int hp = 3;
- WalkWidget(Walk* module) : ModuleWidget(module) {
+ WalkWidget(Walk* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -74,9 +75,9 @@ struct WalkWidget : ModuleWidget {
auto outOutputPosition = Vec(10.5, 303.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(rateParamPosition, module, Walk::RATE_PARAM, 0.0, 1.0, 0.1));
- addParam(createParam<Knob16>(offsetParamPosition, module, Walk::OFFSET_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(scaleParamPosition, module, Walk::SCALE_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob29>(rateParamPosition, module, Walk::RATE_PARAM));
+ addParam(createParam<Knob16>(offsetParamPosition, module, Walk::OFFSET_PARAM));
+ addParam(createParam<Knob16>(scaleParamPosition, module, Walk::SCALE_PARAM));
addInput(createInput<Port24>(rateInputPosition, module, Walk::RATE_INPUT));
addInput(createInput<Port24>(offsetInputPosition, module, Walk::OFFSET_INPUT));
diff --git a/src/Walk.hpp b/src/Walk.hpp
@@ -43,7 +43,12 @@ struct Walk : Module {
RandomWalk _walk;
bogaudio::dsp::SlewLimiter _slew;
- Walk() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ Walk() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RATE_PARAM, 0.0f, 1.0f, 0.1f, "rate");
+ configParam(OFFSET_PARAM, -1.0f, 1.0f, 0.0f, "offset");
+ configParam(SCALE_PARAM, 0.0f, 1.0f, 1.0f, "scale");
+
onReset();
}
diff --git a/src/Walk2.cpp b/src/Walk2.cpp
@@ -476,7 +476,8 @@ struct ColorMenuItem : MenuItem {
struct Walk2Widget : ModuleWidget {
static constexpr int hp = 14;
- Walk2Widget(Walk2* module) : ModuleWidget(module) {
+ Walk2Widget(Walk2* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -522,12 +523,12 @@ struct Walk2Widget : ModuleWidget {
auto distanceOutputPosition = Vec(109.0, 303.0);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(rateXParamPosition, module, Walk2::RATE_X_PARAM, 0.0, 1.0, 0.1));
- addParam(createParam<Knob29>(rateYParamPosition, module, Walk2::RATE_Y_PARAM, 0.0, 1.0, 0.1));
- addParam(createParam<Knob16>(offsetXParamPosition, module, Walk2::OFFSET_X_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(offsetYParamPosition, module, Walk2::OFFSET_Y_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(scaleXParamPosition, module, Walk2::SCALE_X_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob16>(scaleYParamPosition, module, Walk2::SCALE_Y_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob29>(rateXParamPosition, module, Walk2::RATE_X_PARAM));
+ addParam(createParam<Knob29>(rateYParamPosition, module, Walk2::RATE_Y_PARAM));
+ addParam(createParam<Knob16>(offsetXParamPosition, module, Walk2::OFFSET_X_PARAM));
+ addParam(createParam<Knob16>(offsetYParamPosition, module, Walk2::OFFSET_Y_PARAM));
+ addParam(createParam<Knob16>(scaleXParamPosition, module, Walk2::SCALE_X_PARAM));
+ addParam(createParam<Knob16>(scaleYParamPosition, module, Walk2::SCALE_Y_PARAM));
addInput(createInput<Port24>(offsetXInputPosition, module, Walk2::OFFSET_X_INPUT));
addInput(createInput<Port24>(scaleXInputPosition, module, Walk2::SCALE_X_INPUT));
diff --git a/src/Walk2.hpp b/src/Walk2.hpp
@@ -73,11 +73,18 @@ struct Walk2 : Module {
TraceColor _traceColor = GREEN_TRACE_COLOR;
Walk2()
- : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)
- , _outsX(historyPoints, 0.0f)
+ : _outsX(historyPoints, 0.0f)
, _outsY(historyPoints, 0.0f)
, _jumpTo(NULL)
{
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(RATE_X_PARAM, 0.0f, 1.0f, 0.1f, "rate_x");
+ configParam(RATE_Y_PARAM, 0.0f, 1.0f, 0.1f, "rate_y");
+ configParam(OFFSET_X_PARAM, -1.0f, 1.0f, 0.0f, "offset_x");
+ configParam(OFFSET_Y_PARAM, -1.0f, 1.0f, 0.0f, "offset_y");
+ configParam(SCALE_X_PARAM, 0.0f, 1.0f, 1.0f, "scale_x");
+ configParam(SCALE_Y_PARAM, 0.0f, 1.0f, 1.0f, "scale_y");
+
onReset();
onSampleRateChange();
}
diff --git a/src/XCO.cpp b/src/XCO.cpp
@@ -257,7 +257,8 @@ void XCO::setFrequency(float frequency) {
struct XCOWidget : ModuleWidget {
static constexpr int hp = 20;
- XCOWidget(XCO* module) : ModuleWidget(module) {
+ XCOWidget(XCO* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -317,23 +318,23 @@ struct XCOWidget : ModuleWidget {
auto slowLightPosition = Vec(81.0, 158.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob68>(frequencyParamPosition, module, XCO::FREQUENCY_PARAM, -3.0, 6.0, 0.0));
- addParam(createParam<Knob16>(fineParamPosition, module, XCO::FINE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<StatefulButton9>(slowParamPosition, module, XCO::SLOW_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob38>(fmParamPosition, module, XCO::FM_DEPTH_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<SliderSwitch2State14>(fmTypeParamPosition, module, XCO::FM_TYPE_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob16>(squarePwParamPosition, module, XCO::SQUARE_PW_PARAM, -0.97, 0.97, 0.0));
- addParam(createParam<Knob16>(squarePhaseParamPosition, module, XCO::SQUARE_PHASE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(squareMixParamPosition, module, XCO::SQUARE_MIX_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob16>(sawSaturationParamPosition, module, XCO::SAW_SATURATION_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob16>(sawPhaseParamPosition, module, XCO::SAW_PHASE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(sawMixParamPosition, module, XCO::SAW_MIX_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob16>(triangleSampleParamPosition, module, XCO::TRIANGLE_SAMPLE_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob16>(trianglePhaseParamPosition, module, XCO::TRIANGLE_PHASE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(triangleMixParamPosition, module, XCO::TRIANGLE_MIX_PARAM, 0.0, 1.0, 1.0));
- addParam(createParam<Knob16>(sineFeedbackParamPosition, module, XCO::SINE_FEEDBACK_PARAM, 0.0, 1.0, 0.0));
- addParam(createParam<Knob16>(sinePhaseParamPosition, module, XCO::SINE_PHASE_PARAM, -1.0, 1.0, 0.0));
- addParam(createParam<Knob16>(sineMixParamPosition, module, XCO::SINE_MIX_PARAM, 0.0, 1.0, 1.0));
+ addParam(createParam<Knob68>(frequencyParamPosition, module, XCO::FREQUENCY_PARAM));
+ addParam(createParam<Knob16>(fineParamPosition, module, XCO::FINE_PARAM));
+ addParam(createParam<StatefulButton9>(slowParamPosition, module, XCO::SLOW_PARAM));
+ addParam(createParam<Knob38>(fmParamPosition, module, XCO::FM_DEPTH_PARAM));
+ addParam(createParam<SliderSwitch2State14>(fmTypeParamPosition, module, XCO::FM_TYPE_PARAM));
+ addParam(createParam<Knob16>(squarePwParamPosition, module, XCO::SQUARE_PW_PARAM));
+ addParam(createParam<Knob16>(squarePhaseParamPosition, module, XCO::SQUARE_PHASE_PARAM));
+ addParam(createParam<Knob16>(squareMixParamPosition, module, XCO::SQUARE_MIX_PARAM));
+ addParam(createParam<Knob16>(sawSaturationParamPosition, module, XCO::SAW_SATURATION_PARAM));
+ addParam(createParam<Knob16>(sawPhaseParamPosition, module, XCO::SAW_PHASE_PARAM));
+ addParam(createParam<Knob16>(sawMixParamPosition, module, XCO::SAW_MIX_PARAM));
+ addParam(createParam<Knob16>(triangleSampleParamPosition, module, XCO::TRIANGLE_SAMPLE_PARAM));
+ addParam(createParam<Knob16>(trianglePhaseParamPosition, module, XCO::TRIANGLE_PHASE_PARAM));
+ addParam(createParam<Knob16>(triangleMixParamPosition, module, XCO::TRIANGLE_MIX_PARAM));
+ addParam(createParam<Knob16>(sineFeedbackParamPosition, module, XCO::SINE_FEEDBACK_PARAM));
+ addParam(createParam<Knob16>(sinePhaseParamPosition, module, XCO::SINE_PHASE_PARAM));
+ addParam(createParam<Knob16>(sineMixParamPosition, module, XCO::SINE_MIX_PARAM));
addInput(createInput<Port24>(fmInputPosition, module, XCO::FM_INPUT));
addInput(createInput<Port24>(fmDepthInputPosition, module, XCO::FM_DEPTH_INPUT));
diff --git a/src/XCO.hpp b/src/XCO.hpp
@@ -117,7 +117,26 @@ struct XCO : Module {
bogaudio::dsp::SlewLimiter _triangleMixSL;
bogaudio::dsp::SlewLimiter _sineMixSL;
- XCO() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ XCO() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(FREQUENCY_PARAM, -3.0f, 6.0f, 0.0f, "frequency");
+ configParam(FINE_PARAM, -1.0f, 1.0f, 0.0f, "fine");
+ configParam(SLOW_PARAM, 0.0f, 1.0f, 0.0f, "slow");
+ configParam(FM_DEPTH_PARAM, 0.0f, 1.0f, 0.0f, "fm_depth");
+ configParam(FM_TYPE_PARAM, 0.0f, 1.0f, 1.0f, "fm_type");
+ configParam(SQUARE_PW_PARAM, -0.97f, 0.97f, 0.0f, "square_pw");
+ configParam(SQUARE_PHASE_PARAM, -1.0f, 1.0f, 0.0f, "square_phase");
+ configParam(SQUARE_MIX_PARAM, 0.0f, 1.0f, 1.0f, "square_mix");
+ configParam(SAW_SATURATION_PARAM, 0.0f, 1.0f, 0.0f, "saw_saturation");
+ configParam(SAW_PHASE_PARAM, -1.0f, 1.0f, 0.0f, "saw_phase");
+ configParam(SAW_MIX_PARAM, 0.0f, 1.0f, 1.0f, "saw_mix");
+ configParam(TRIANGLE_SAMPLE_PARAM, 0.0f, 1.0f, 0.0f, "triangle_sample");
+ configParam(TRIANGLE_PHASE_PARAM, -1.0f, 1.0f, 0.0f, "triangle_phase");
+ configParam(TRIANGLE_MIX_PARAM, 0.0f, 1.0f, 1.0f, "triangle_mix");
+ configParam(SINE_FEEDBACK_PARAM, 0.0f, 1.0f, 0.0f, "sine_feedback");
+ configParam(SINE_PHASE_PARAM, -1.0f, 1.0f, 0.0f, "sine_phase");
+ configParam(SINE_MIX_PARAM, 0.0f, 1.0f, 1.0f, "sine_mix");
+
onReset();
setSampleRate(APP->engine->getSampleRate());
_saw.setQuality(12);
diff --git a/src/XFade.cpp b/src/XFade.cpp
@@ -39,7 +39,8 @@ void XFade::process(const ProcessArgs& args) {
struct XFadeWidget : ModuleWidget {
static constexpr int hp = 3;
- XFadeWidget(XFade* module) : ModuleWidget(module) {
+ XFadeWidget(XFade* module) {
+ setModule(module);
box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
{
@@ -66,15 +67,15 @@ struct XFadeWidget : ModuleWidget {
auto linearLightPosition = Vec(6.5, 177.5);
// end generated by svg_widgets.rb
- addParam(createParam<Knob29>(mixParamPosition, module, XFade::MIX_PARAM, -1.0, 1.0, 0.0));
+ addParam(createParam<Knob29>(mixParamPosition, module, XFade::MIX_PARAM));
{
- auto w = createParam<Knob16>(curveParamPosition, module, XFade::CURVE_PARAM, 0.0, 1.0, 0.5);
+ auto w = createParam<Knob16>(curveParamPosition, module, XFade::CURVE_PARAM);
auto k = dynamic_cast<SVGKnob*>(w);
k->minAngle = -0.5 * M_PI;
k->maxAngle = 0.5 * M_PI;
addParam(w);
}
- addParam(createParam<StatefulButton9>(linearParamPosition, module, XFade::LINEAR_PARAM, 0.0, 1.0, 0.0));
+ addParam(createParam<StatefulButton9>(linearParamPosition, module, XFade::LINEAR_PARAM));
addInput(createInput<Port24>(mixInputPosition, module, XFade::MIX_INPUT));
addInput(createInput<Port24>(aInputPosition, module, XFade::A_INPUT));
diff --git a/src/XFade.hpp b/src/XFade.hpp
@@ -40,7 +40,12 @@ struct XFade : Module {
bogaudio::dsp::SlewLimiter _mixSL;
CrossFader _mixer;
- XFade() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
+ XFade() {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
+ configParam(MIX_PARAM, -1.0f, 1.0f, 0.0f, "mix");
+ configParam(CURVE_PARAM, 0.0f, 1.0f, 0.5f, "curve");
+ configParam(LINEAR_PARAM, 0.0f, 1.0f, 0.0f, "linear");
+
onSampleRateChange();
}