Browse Source

Add port labels to all modules.

pull/114/head
Andrew Belt 3 years ago
parent
commit
bb1167e397
20 changed files with 315 additions and 119 deletions
  1. +7
    -8
      src/Blinds.cpp
  2. +6
    -0
      src/Braids.cpp
  3. +8
    -4
      src/Branches.cpp
  4. +15
    -3
      src/Clouds.cpp
  5. +31
    -11
      src/Elements.cpp
  6. +21
    -7
      src/Frames.cpp
  7. +14
    -0
      src/Kinks.cpp
  8. +12
    -0
      src/Links.cpp
  9. +27
    -9
      src/Marbles.cpp
  10. +14
    -2
      src/Plaits.cpp
  11. +23
    -11
      src/Rings.cpp
  12. +11
    -0
      src/Ripples.cpp
  13. +6
    -6
      src/Shades.cpp
  14. +22
    -0
      src/Shelves.cpp
  15. +8
    -18
      src/Stages.cpp
  16. +22
    -12
      src/Streams.cpp
  17. +17
    -2
      src/Tides.cpp
  18. +29
    -13
      src/Tides2.cpp
  19. +7
    -8
      src/Veils.cpp
  20. +15
    -5
      src/Warps.cpp

+ 7
- 8
src/Blinds.cpp View File

@@ -45,14 +45,13 @@ struct Blinds : Module {

Blinds() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(GAIN1_PARAM, -1.0, 1.0, 0.0, "Polarity and gain 1");
configParam(GAIN2_PARAM, -1.0, 1.0, 0.0, "Polarity and gain 2");
configParam(GAIN3_PARAM, -1.0, 1.0, 0.0, "Polarity and gain 3");
configParam(GAIN4_PARAM, -1.0, 1.0, 0.0, "Polarity and gain 4");
configParam(MOD1_PARAM, -1.0, 1.0, 0.0, "Modulation 1");
configParam(MOD2_PARAM, -1.0, 1.0, 0.0, "Modulation 2");
configParam(MOD3_PARAM, -1.0, 1.0, 0.0, "Modulation 3");
configParam(MOD4_PARAM, -1.0, 1.0, 0.0, "Modulation 4");
for (int c = 0; c < 4; c++) {
configParam(GAIN1_PARAM + c, -1.0, 1.0, 0.0, string::f("Channel %d gain", c + 1), "%", 0, 100);
configParam(MOD1_PARAM + c, -1.0, 1.0, 0.0, string::f("Channel %d CV amount", c + 1));
configInput(IN1_INPUT + c, string::f("Channel %d", c + 1));
configInput(CV1_INPUT + c, string::f("Channel %d CV", c + 1));
configOutput(OUT1_OUTPUT + c, string::f("Channel %d", c + 1));
}
}

void process(const ProcessArgs& args) override {


+ 6
- 0
src/Braids.cpp View File

@@ -47,6 +47,12 @@ struct Braids : Module {
configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5, "Timbre", "%", 0.f, 100.f);
configParam(MODULATION_PARAM, -1.0, 1.0, 0.0, "Modulation");
configParam(COLOR_PARAM, 0.0, 1.0, 0.5, "Color", "%", 0.f, 100.f);
configInput(TRIG_INPUT, "Trigger");
configInput(PITCH_INPUT, "Pitch (1V/oct)");
configInput(FM_INPUT, "FM");
configInput(TIMBRE_INPUT, "Timbre");
configInput(COLOR_INPUT, "Color");
configOutput(OUT_OUTPUT, "Audio");

memset(&osc, 0, sizeof(osc));
osc.Init();


+ 8
- 4
src/Branches.cpp View File

@@ -35,10 +35,14 @@ struct Branches : Module {

Branches() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(THRESHOLD1_PARAM, 0.0, 1.0, 0.5, "Channel 1 probability", "%", 0, 100);
configParam(MODE1_PARAM, 0.0, 1.0, 0.0, "Channel 1 mode");
configParam(THRESHOLD2_PARAM, 0.0, 1.0, 0.5, "Channel 2 probability", "%", 0, 100);
configParam(MODE2_PARAM, 0.0, 1.0, 0.0, "Channel 2 mode");
for (int c = 0; c < 2; c++) {
configParam(THRESHOLD1_PARAM + c, 0.0, 1.0, 0.5, string::f("Channel %d probability", c + 1), "%", 0, 100);
configParam(MODE1_PARAM + c, 0.0, 1.0, 0.0, string::f("Channel %d mode", c + 1));
configInput(IN1_INPUT + c, string::f("Channel %d", c + 1));
configInput(P1_INPUT + c, string::f("Channel %d probability", c + 1));
configOutput(OUT1A_OUTPUT + c, string::f("Channel %d A", c + 1));
configOutput(OUT1B_OUTPUT + c, string::f("Channel %d B", c + 1));
}
}

void process(const ProcessArgs& args) override {


+ 15
- 3
src/Clouds.cpp View File

@@ -77,9 +77,21 @@ struct Clouds : Module {
configParam(SPREAD_PARAM, 0.0, 1.0, 0.0, "Stereo spread");
configParam(FEEDBACK_PARAM, 0.0, 1.0, 0.0, "Feedback amount");
configParam(REVERB_PARAM, 0.0, 1.0, 0.0, "Reverb amount");
configParam(FREEZE_PARAM, 0.0, 1.0, 0.0, "Freeze");
configParam(MODE_PARAM, 0.0, 1.0, 0.0, "Mode");
configParam(LOAD_PARAM, 0.0, 1.0, 0.0, "Load/save");
configButton(FREEZE_PARAM, "Freeze");
configButton(MODE_PARAM, "Mode");
configButton(LOAD_PARAM, "Load/save");
configInput(FREEZE_INPUT, "Freeze");
configInput(TRIG_INPUT, "Trigger");
configInput(POSITION_INPUT, "Position");
configInput(SIZE_INPUT, "Size");
configInput(PITCH_INPUT, "Pitch (1V/oct)");
configInput(BLEND_INPUT, "Blend");
configInput(IN_L_INPUT, "Left");
configInput(IN_R_INPUT, "Right");
configInput(DENSITY_INPUT, "Density");
configInput(TEXTURE_INPUT, "Texture");
configOutput(OUT_L_OUTPUT, "Left");
configOutput(OUT_R_OUTPUT, "Right");

const int memLen = 118784;
const int ccmLen = 65536 - 128;


+ 31
- 11
src/Elements.cpp View File

@@ -97,17 +97,37 @@ struct Elements : Module {
configParam(DAMPING_PARAM, 0.0, 1.0, 0.5, "Energy dissipation speed");
configParam(POSITION_PARAM, 0.0, 1.0, 0.5, "Excitation position");
configParam(SPACE_PARAM, 0.0, 2.0, 0.0, "Reverb space");
configParam(BOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Bow timbre attenuverter");
configParam(FLOW_MOD_PARAM, -1.0, 1.0, 0.0, "Air flow noise attenuverter");
configParam(BLOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Blow timbre attenuverter");
configParam(MALLET_MOD_PARAM, -1.0, 1.0, 0.0, "Percussive noise attenuverter");
configParam(STRIKE_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Strike timbre attenuverter");
configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0, "Energy dissipation speed attenuverter");
configParam(GEOMETRY_MOD_PARAM, -1.0, 1.0, 0.0, "Resonator geometry attenuverter");
configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0, "Excitation position attenuverter");
configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0, "Brightness attenuverter");
configParam(SPACE_MOD_PARAM, -2.0, 2.0, 0.0, "Reverb space attenuverter");
configParam(PLAY_PARAM, 0.0, 1.0, 0.0, "Play");
configParam(BOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Bow timbre CV");
configParam(FLOW_MOD_PARAM, -1.0, 1.0, 0.0, "Air flow noise CV");
configParam(BLOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Blow timbre CV");
configParam(MALLET_MOD_PARAM, -1.0, 1.0, 0.0, "Percussive noise CV");
configParam(STRIKE_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0, "Strike timbre CV");
configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0, "Energy dissipation speed CV");
configParam(GEOMETRY_MOD_PARAM, -1.0, 1.0, 0.0, "Resonator geometry CV");
configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0, "Excitation position CV");
configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0, "Brightness CV");
configParam(SPACE_MOD_PARAM, -2.0, 2.0, 0.0, "Reverb space CV");
configButton(PLAY_PARAM, "Play");

configInput(NOTE_INPUT, "Pitch (1V/oct)");
configInput(FM_INPUT, "FM");
configInput(GATE_INPUT, "Gate");
configInput(STRENGTH_INPUT, "Strength");
configInput(BLOW_INPUT, "External blow");
configInput(STRIKE_INPUT, "External strike");
configInput(BOW_TIMBRE_MOD_INPUT, "Bow timbre");
configInput(FLOW_MOD_INPUT, "Air flow noise");
configInput(BLOW_TIMBRE_MOD_INPUT, "Blow timbre");
configInput(MALLET_MOD_INPUT, "Percussive noise");
configInput(STRIKE_TIMBRE_MOD_INPUT, "Strike timbre");
configInput(DAMPING_MOD_INPUT, "Energy dissipation speed");
configInput(GEOMETRY_MOD_INPUT, "Resonator geometry");
configInput(POSITION_MOD_INPUT, "Excitation position");
configInput(BRIGHTNESS_MOD_INPUT, "Brightness");
configInput(SPACE_MOD_INPUT, "Reverb space");

configOutput(AUX_OUTPUT, "Left");
configOutput(MAIN_OUTPUT, "Right");

for (int c = 0; c < 16; c++) {
parts[c] = new elements::Part();


+ 21
- 7
src/Frames.cpp View File

@@ -51,15 +51,29 @@ struct Frames : Module {

Frames() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(GAIN1_PARAM, 0.0, 1.0, 0.0, "Gain 1");
configParam(GAIN2_PARAM, 0.0, 1.0, 0.0, "Gain 2");
configParam(GAIN3_PARAM, 0.0, 1.0, 0.0, "Gain 3");
configParam(GAIN4_PARAM, 0.0, 1.0, 0.0, "Gain 4");
configParam(GAIN1_PARAM, 0.0, 1.0, 0.0, "Channel 1 gain");
configParam(GAIN2_PARAM, 0.0, 1.0, 0.0, "Channel 2 gain");
configParam(GAIN3_PARAM, 0.0, 1.0, 0.0, "Channel 3 gain");
configParam(GAIN4_PARAM, 0.0, 1.0, 0.0, "Channel 4 gain");
configParam(FRAME_PARAM, 0.0, 1.0, 0.0, "Frame");
configParam(MODULATION_PARAM, -1.0, 1.0, 0.0, "Animation attenuverter");
configParam(ADD_PARAM, 0.0, 1.0, 0.0, "Add keyframe");
configParam(DEL_PARAM, 0.0, 1.0, 0.0, "Delete keyframe");
configParam(OFFSET_PARAM, 0.0, 1.0, 0.0, "+10V offset");
configButton(ADD_PARAM, "Add keyframe");
configButton(DEL_PARAM, "Delete keyframe");
configSwitch(OFFSET_PARAM, 0.0, 1.0, 0.0, "Offset", {"+0V", "+10V"});

configInput(ALL_INPUT, "All");
configInput(IN1_INPUT, "Channel 1");
configInput(IN2_INPUT, "Channel 2");
configInput(IN3_INPUT, "Channel 3");
configInput(IN4_INPUT, "Channel 4");
configInput(FRAME_INPUT, "Frame");

configOutput(MIX_OUTPUT, "Mix");
configOutput(OUT1_OUTPUT, "Channel 1");
configOutput(OUT2_OUTPUT, "Channel 2");
configOutput(OUT3_OUTPUT, "Channel 3");
configOutput(OUT4_OUTPUT, "Channel 4");
configOutput(FRAME_STEP_OUTPUT, "Frame step");

memset(&keyframer, 0, sizeof(keyframer));
keyframer.Init();


+ 14
- 0
src/Kinks.cpp View File

@@ -35,6 +35,20 @@ struct Kinks : Module {

Kinks() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);

configInput(SIGN_INPUT, "Sign");
configInput(LOGIC_A_INPUT, "Logic A");
configInput(LOGIC_B_INPUT, "Logic B");
configInput(SH_INPUT, "Sample & hold");
configInput(TRIG_INPUT, "S&H trigger");

configOutput(INVERT_OUTPUT, "Invert");
configOutput(HALF_RECTIFY_OUTPUT, "Half rectified");
configOutput(FULL_RECTIFY_OUTPUT, "Full rectified");
configOutput(MAX_OUTPUT, "Maximum");
configOutput(MIN_OUTPUT, "Minimum");
configOutput(NOISE_OUTPUT, "Noise");
configOutput(SH_OUTPUT, "Sample & hold");
}

void process(const ProcessArgs& args) override {


+ 12
- 0
src/Links.cpp View File

@@ -32,6 +32,18 @@ struct Links : Module {

Links() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configInput(A1_INPUT, "A1");
configInput(B1_INPUT, "B1");
configInput(B2_INPUT, "B2");
configInput(C1_INPUT, "C1");
configInput(C2_INPUT, "C2");
configInput(C3_INPUT, "C3");
configOutput(A1_OUTPUT, "A1");
configOutput(A2_OUTPUT, "A2");
configOutput(A3_OUTPUT, "A3");
configOutput(B1_OUTPUT, "B1");
configOutput(B2_OUTPUT, "B2");
configOutput(C1_OUTPUT, "C1");
}

void process(const ProcessArgs& args) override {


+ 27
- 9
src/Marbles.cpp View File

@@ -225,22 +225,40 @@ struct Marbles : Module {

Marbles() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(T_DEJA_VU_PARAM, 0.0, 1.0, 0.0, "t deja vu");
configParam(X_DEJA_VU_PARAM, 0.0, 1.0, 0.0, "X deja vu");
configButton(T_DEJA_VU_PARAM, "T deja vu");
configButton(X_DEJA_VU_PARAM, "X deja vu");
configParam(DEJA_VU_PARAM, 0.0, 1.0, 0.5, "Deja vu probability");
configParam(T_RATE_PARAM, -1.0, 1.0, 0.0, "Clock rate");
configParam(X_SPREAD_PARAM, 0.0, 1.0, 0.5, "Probability distribution");
configParam(T_MODE_PARAM, 0.0, 1.0, 0.0, "t mode");
configParam(X_MODE_PARAM, 0.0, 1.0, 0.0, "X mode");
configButton(T_MODE_PARAM, "T mode");
configButton(X_MODE_PARAM, "X mode");
configParam(DEJA_VU_LENGTH_PARAM, 0.0, 1.0, 0.0, "Loop length");
configParam(T_BIAS_PARAM, 0.0, 1.0, 0.5, "Gate bias");
configParam(X_BIAS_PARAM, 0.0, 1.0, 0.5, "Distribution bias");
configParam(T_RANGE_PARAM, 0.0, 1.0, 0.0, "Clock range mode");
configParam(X_RANGE_PARAM, 0.0, 1.0, 0.0, "Output voltage range mode");
configParam(EXTERNAL_PARAM, 0.0, 1.0, 0.0, "External processing mode");
configButton(T_RANGE_PARAM, "Clock range mode");
configButton(X_RANGE_PARAM, "Output voltage range mode");
configButton(EXTERNAL_PARAM, "External processing mode");
configParam(T_JITTER_PARAM, 0.0, 1.0, 0.0, "Randomness amount");
configParam(X_STEPS_PARAM, 0.0, 1.0, 0.5, "Smoothness");

configInput(T_BIAS_INPUT, "T bias");
configInput(X_BIAS_INPUT, "X bias");
configInput(T_CLOCK_INPUT, "T clock");
configInput(T_RATE_INPUT, "T rate");
configInput(T_JITTER_INPUT, "T jitter");
configInput(DEJA_VU_INPUT, "Deja vu");
configInput(X_STEPS_INPUT, "X steps");
configInput(X_SPREAD_INPUT, "X spread");
configInput(X_CLOCK_INPUT, "X clock");

configOutput(T1_OUTPUT, "T₁");
configOutput(T2_OUTPUT, "T₂");
configOutput(T3_OUTPUT, "T₃");
configOutput(Y_OUTPUT, "Y");
configOutput(X1_OUTPUT, "X₁");
configOutput(X2_OUTPUT, "X₂");
configOutput(X3_OUTPUT, "X₃");

random_generator.Init(1);
random_stream.Init(&random_generator);
note_filter.Init();
@@ -591,7 +609,7 @@ struct MarblesWidget : ModuleWidget {

menu->addChild(new MenuSeparator);

menu->addChild(createIndexPtrSubmenuItem("t mode", {
menu->addChild(createIndexPtrSubmenuItem("T mode", {
"Complementary Bernoulli",
"Clusters",
"Drums",
@@ -601,7 +619,7 @@ struct MarblesWidget : ModuleWidget {
"Markov",
}, &module->t_mode));

menu->addChild(createIndexPtrSubmenuItem("t range", {
menu->addChild(createIndexPtrSubmenuItem("T range", {
"1/4x",
"1x",
"4x",


+ 14
- 2
src/Plaits.cpp View File

@@ -58,8 +58,8 @@ struct Plaits : Module {

Plaits() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(MODEL1_PARAM, 0.0, 1.0, 0.0, "Model selection 1");
configParam(MODEL2_PARAM, 0.0, 1.0, 0.0, "Model selection 2");
configButton(MODEL1_PARAM, "Pitched models");
configButton(MODEL2_PARAM, "Noise/percussive models");
configParam(FREQ_PARAM, -4.0, 4.0, 0.0, "Frequency", " semitones", 0.f, 12.f);
configParam(HARMONICS_PARAM, 0.0, 1.0, 0.5, "Harmonics", "%", 0.f, 100.f);
configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5, "Timbre", "%", 0.f, 100.f);
@@ -70,6 +70,18 @@ struct Plaits : Module {
configParam(FREQ_CV_PARAM, -1.0, 1.0, 0.0, "Frequency CV");
configParam(MORPH_CV_PARAM, -1.0, 1.0, 0.0, "Morph CV");

configInput(ENGINE_INPUT, "Model");
configInput(TIMBRE_INPUT, "Timbre");
configInput(FREQ_INPUT, "FM");
configInput(MORPH_INPUT, "Morph");
configInput(HARMONICS_INPUT, "Harmonics");
configInput(TRIGGER_INPUT, "Trigger");
configInput(LEVEL_INPUT, "Level");
configInput(NOTE_INPUT, "Pitch (1V/oct)");

configOutput(OUT_OUTPUT, "Main");
configOutput(AUX_OUTPUT, "Auxiliary");

for (int i = 0; i < 16; i++) {
stmlib::BufferAllocator allocator(shared_buffer[i], sizeof(shared_buffer[i]));
voice[i].Init(&allocator);


+ 23
- 11
src/Rings.cpp View File

@@ -65,18 +65,30 @@ struct Rings : Module {

Rings() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(POLYPHONY_PARAM, 0.0, 1.0, 0.0, "Polyphony");
configParam(RESONATOR_PARAM, 0.0, 1.0, 0.0, "Resonator type");
configParam(FREQUENCY_PARAM, 0.0, 60.0, 30.0, "Coarse frequency adjustment");
configParam(STRUCTURE_PARAM, 0.0, 1.0, 0.5, "Harmonic structure");
configButton(POLYPHONY_PARAM, "Polyphony");
configButton(RESONATOR_PARAM, "Resonator type");
configParam(FREQUENCY_PARAM, 0.0, 60.0, 30.0, "Frequency");
configParam(STRUCTURE_PARAM, 0.0, 1.0, 0.5, "Structure");
configParam(BRIGHTNESS_PARAM, 0.0, 1.0, 0.5, "Brightness");
configParam(DAMPING_PARAM, 0.0, 1.0, 0.5, "Decay time");
configParam(POSITION_PARAM, 0.0, 1.0, 0.5, "Excitation position");
configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0, "Brightness attenuverter");
configParam(FREQUENCY_MOD_PARAM, -1.0, 1.0, 0.0, "Frequency attenuverter");
configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0, "Damping attenuverter");
configParam(STRUCTURE_MOD_PARAM, -1.0, 1.0, 0.0, "Structure attenuverter");
configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0, "Position attenuverter");
configParam(DAMPING_PARAM, 0.0, 1.0, 0.5, "Damping");
configParam(POSITION_PARAM, 0.0, 1.0, 0.5, "Position");
configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0, "Brightness CV");
configParam(FREQUENCY_MOD_PARAM, -1.0, 1.0, 0.0, "Frequency CV");
configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0, "Damping CV");
configParam(STRUCTURE_MOD_PARAM, -1.0, 1.0, 0.0, "Structure CV");
configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0, "Position CV");

configInput(BRIGHTNESS_MOD_INPUT, "Brightness");
configInput(FREQUENCY_MOD_INPUT, "Frequency");
configInput(DAMPING_MOD_INPUT, "Damping");
configInput(STRUCTURE_MOD_INPUT, "Structure");
configInput(POSITION_MOD_INPUT, "Position");
configInput(STRUM_INPUT, "Strum");
configInput(PITCH_INPUT, "Pitch (1V/oct)");
configInput(IN_INPUT, "Audio");

configOutput(ODD_OUTPUT, "Odd");
configOutput(EVEN_OUTPUT, "Even");

strummer.Init(0.01, 44100.0 / 24);
part.Init(reverb_buffer);


+ 11
- 0
src/Ripples.cpp View File

@@ -36,6 +36,17 @@ struct Ripples : Module {
configParam(FREQ_PARAM, std::log2(ripples::kFreqKnobMin), std::log2(ripples::kFreqKnobMax), std::log2(ripples::kFreqKnobMax), "Frequency", " Hz", 2.f);
configParam(FM_PARAM, -1.f, 1.f, 0.f, "Frequency modulation", "%", 0, 100);

configInput(RES_INPUT, "Resonance");
configInput(FREQ_INPUT, "Frequency");
configInput(FM_INPUT, "FM");
configInput(IN_INPUT, "Audio");
configInput(GAIN_INPUT, "Gain");

configOutput(BP2_OUTPUT, "Band-pass 2-pole (12 dB/oct)");
configOutput(LP2_OUTPUT, "Low-pass 2-pole (12 dB/oct)");
configOutput(LP4_OUTPUT, "Low-pass 4-pole (24 dB/oct)");
configOutput(LP4VCA_OUTPUT, "Low-pass 4-pole (24 dB/oct) VCA");

onSampleRateChange();
}



+ 6
- 6
src/Shades.cpp View File

@@ -32,12 +32,12 @@ struct Shades : Module {

Shades() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(GAIN1_PARAM, 0.0, 1.0, 0.5, "Gain 1");
configParam(GAIN2_PARAM, 0.0, 1.0, 0.5, "Gain 2");
configParam(GAIN3_PARAM, 0.0, 1.0, 0.5, "Gain 3");
configParam(MODE1_PARAM, 0.0, 1.0, 1.0, "Attenuverter/Attenuator mode 1");
configParam(MODE2_PARAM, 0.0, 1.0, 1.0, "Attenuverter/Attenuator mode 2");
configParam(MODE3_PARAM, 0.0, 1.0, 1.0, "Attenuverter/Attenuator mode 3");
for (int c = 0; c < 3; c++) {
configParam(GAIN1_PARAM + c, 0.0, 1.0, 0.5, string::f("Channel %d gain", c + 1));
configSwitch(MODE1_PARAM + c, 0.0, 1.0, 1.0, string::f("Channel %d mode", c + 1), {"Attenuator", "Attenuverter"});
configInput(IN1_INPUT + c, string::f("Channel %d", c + 1));
configOutput(OUT1_OUTPUT + c, string::f("Channel %d", c + 1));
}
}

void process(const ProcessArgs& args) override {


+ 22
- 0
src/Shelves.cpp View File

@@ -76,6 +76,28 @@ struct Shelves : Module {
configParam(P1_Q_PARAM, qMin, qMax, qInit, "Parametric 1 quality", "", 2.f);
configParam(P2_Q_PARAM, qMin, qMax, qInit, "Parametric 2 quality", "", 2.f);

configInput(HS_FREQ_INPUT, "High-shelf frequency");
configInput(HS_GAIN_INPUT, "High-shelf gain");
configInput(P1_FREQ_INPUT, "Parametric 1 frequency");
configInput(P1_GAIN_INPUT, "Parametric 1 gain");
configInput(P1_Q_INPUT, "Parametric 1 quality");
configInput(P2_FREQ_INPUT, "Parametric 2 frequency");
configInput(P2_GAIN_INPUT, "Parametric 2 gain");
configInput(P2_Q_INPUT, "Parametric 2 quality");
configInput(LS_FREQ_INPUT, "Low-shelf frequency");
configInput(LS_GAIN_INPUT, "Low-shelf gain");
configInput(FREQ_INPUT, "All frequency");
configInput(GAIN_INPUT, "All gain");
configInput(IN_INPUT, "Audio");

configOutput(P1_HP_OUTPUT, "Parametric 1 high-pass");
configOutput(P1_BP_OUTPUT, "Parametric 1 band-pass");
configOutput(P1_LP_OUTPUT, "Parametric 1 low-pass");
configOutput(P2_HP_OUTPUT, "Parametric 2 high-pass");
configOutput(P2_BP_OUTPUT, "Parametric 2 band-pass");
configOutput(P2_LP_OUTPUT, "Parametric 2 low-pass");
configOutput(OUT_OUTPUT, "Audio");

onReset();
}



+ 8
- 18
src/Stages.cpp View File

@@ -155,24 +155,14 @@ struct Stages : Module {

Stages() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(SHAPE_PARAMS + 0, 0.0, 1.0, 0.5, "Shape 1");
configParam(SHAPE_PARAMS + 1, 0.0, 1.0, 0.5, "Shape 2");
configParam(SHAPE_PARAMS + 2, 0.0, 1.0, 0.5, "Shape 3");
configParam(SHAPE_PARAMS + 3, 0.0, 1.0, 0.5, "Shape 4");
configParam(SHAPE_PARAMS + 4, 0.0, 1.0, 0.5, "Shape 5");
configParam(SHAPE_PARAMS + 5, 0.0, 1.0, 0.5, "Shape 6");
configParam(TYPE_PARAMS + 0, 0.0, 1.0, 0.0, "Type 1");
configParam(TYPE_PARAMS + 1, 0.0, 1.0, 0.0, "Type 2");
configParam(TYPE_PARAMS + 2, 0.0, 1.0, 0.0, "Type 3");
configParam(TYPE_PARAMS + 3, 0.0, 1.0, 0.0, "Type 4");
configParam(TYPE_PARAMS + 4, 0.0, 1.0, 0.0, "Type 5");
configParam(TYPE_PARAMS + 5, 0.0, 1.0, 0.0, "Type 6");
configParam(LEVEL_PARAMS + 0, 0.0, 1.0, 0.5, "Level 1");
configParam(LEVEL_PARAMS + 1, 0.0, 1.0, 0.5, "Level 2");
configParam(LEVEL_PARAMS + 2, 0.0, 1.0, 0.5, "Level 3");
configParam(LEVEL_PARAMS + 3, 0.0, 1.0, 0.5, "Level 4");
configParam(LEVEL_PARAMS + 4, 0.0, 1.0, 0.5, "Level 5");
configParam(LEVEL_PARAMS + 5, 0.0, 1.0, 0.5, "Level 6");
for (int c = 0; c < NUM_CHANNELS; c++) {
configParam(SHAPE_PARAMS + c, 0.0, 1.0, 0.5, string::f("Stage %d shape", c + 1), "%", 0, 100);
configButton(TYPE_PARAMS + c, string::f("Stage %d type", c + 1));
configParam(LEVEL_PARAMS + c, 0.0, 1.0, 0.5, string::f("Stage %d level", c + 1), "%", 0, 100);
configInput(LEVEL_INPUTS + c, string::f("Stage %d level", c + 1));
configInput(GATE_INPUTS + c, string::f("Stage %d gate", c + 1));
configOutput(ENVELOPE_OUTPUTS + c, string::f("Stage %d envelope", c + 1));
}

onReset();
}


+ 22
- 12
src/Streams.cpp View File

@@ -114,18 +114,28 @@ struct Streams : Module {
Streams() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);

configParam(CH1_SHAPE_PARAM, 0.f, 1.f, 0.5f, "Ch 1 shape");
configParam(CH1_MOD_PARAM, 0.f, 1.f, 0.5f, "Ch 1 mod");
configParam(CH1_LEVEL_MOD_PARAM, 0.f, 1.f, 0.5f, "Ch 1 level mod");
configParam(CH2_SHAPE_PARAM, 0.f, 1.f, 0.5f, "Ch 2 shape");
configParam(CH2_MOD_PARAM, 0.f, 1.f, 0.5f, "Ch 2 mod");
configParam(CH2_LEVEL_MOD_PARAM, 0.f, 1.f, 0.5f, "Ch 2 level mod");
configParam(CH1_RESPONSE_PARAM, 0.f, 1.f, 0.5f, "Ch 1 response");
configParam(CH2_RESPONSE_PARAM, 0.f, 1.f, 0.5f, "Ch 2 response");

configParam(CH1_FUNCTION_BUTTON_PARAM, 0.f, 1.f, 0.f, "Ch 1 function");
configParam(CH2_FUNCTION_BUTTON_PARAM, 0.f, 1.f, 0.f, "Ch 2 function");
configParam(METERING_BUTTON_PARAM, 0.f, 1.f, 0.f, "Meter");
configParam(CH1_SHAPE_PARAM, 0.f, 1.f, 0.5f, "Channel 1 shape", "%", 0, 100);
configParam(CH1_MOD_PARAM, 0.f, 1.f, 0.5f, "Channel 1 mod", "%", 0, 100);
configParam(CH1_LEVEL_MOD_PARAM, 0.f, 1.f, 0.5f, "Channel 1 level mod", "%", 0, 100);
configParam(CH2_SHAPE_PARAM, 0.f, 1.f, 0.5f, "Channel 2 shape", "%", 0, 100);
configParam(CH2_MOD_PARAM, 0.f, 1.f, 0.5f, "Channel 2 mod", "%", 0, 100);
configParam(CH2_LEVEL_MOD_PARAM, 0.f, 1.f, 0.5f, "Channel 2 level mod", "%", 0, 100);
configParam(CH1_RESPONSE_PARAM, 0.f, 1.f, 0.5f, "Channel 1 response", "%", 0, 100);
configParam(CH2_RESPONSE_PARAM, 0.f, 1.f, 0.5f, "Channel 2 response", "%", 0, 100);

configButton(CH1_FUNCTION_BUTTON_PARAM, "Channel 1 function");
configButton(CH2_FUNCTION_BUTTON_PARAM, "Channel 2 function");
configButton(METERING_BUTTON_PARAM, "Meter");

configInput(CH1_EXCITE_INPUT, "Channel 1 excite");
configInput(CH1_SIGNAL_INPUT, "Channel 1");
configInput(CH1_LEVEL_INPUT, "Channel 1 level");
configInput(CH2_EXCITE_INPUT, "Channel 2 excite");
configInput(CH2_SIGNAL_INPUT, "Channel 2");
configInput(CH2_LEVEL_INPUT, "Channel 2 level");

configOutput(CH1_SIGNAL_OUTPUT, "Channel 1");
configOutput(CH2_SIGNAL_OUTPUT, "Channel 2");

onReset();
}


+ 17
- 2
src/Tides.cpp View File

@@ -52,14 +52,29 @@ struct Tides : Module {

Tides() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(MODE_PARAM, 0.0, 1.0, 0.0, "Output mode");
configParam(RANGE_PARAM, 0.0, 1.0, 0.0, "Frequency range");
configButton(MODE_PARAM, "Output mode");
configButton(RANGE_PARAM, "Frequency range");
configParam(FREQUENCY_PARAM, -48.0, 48.0, 0.0, "Main frequency");
configParam(FM_PARAM, -12.0, 12.0, 0.0, "FM input attenuverter");
configParam(SHAPE_PARAM, -1.0, 1.0, 0.0, "Shape");
configParam(SLOPE_PARAM, -1.0, 1.0, 0.0, "Slope");
configParam(SMOOTHNESS_PARAM, -1.0, 1.0, 0.0, "Smoothness");

configInput(SHAPE_INPUT, "Shape");
configInput(SLOPE_INPUT, "Slope");
configInput(SMOOTHNESS_INPUT, "Smoothness");
configInput(TRIG_INPUT, "Trigger");
configInput(FREEZE_INPUT, "Freeze");
configInput(PITCH_INPUT, "Pitch (1V/oct)");
configInput(FM_INPUT, "FM");
configInput(LEVEL_INPUT, "Level");
configInput(CLOCK_INPUT, "Clock");

configOutput(HIGH_OUTPUT, "High tide");
configOutput(LOW_OUTPUT, "Low tide");
configOutput(UNI_OUTPUT, "Unipolar");
configOutput(BI_OUTPUT, "Bipolar");

memset(&generator, 0, sizeof(generator));
generator.Init();
generator.set_sync(false);


+ 29
- 13
src/Tides2.cpp View File

@@ -101,19 +101,35 @@ struct Tides2 : Module {

Tides2() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(RANGE_PARAM, 0.0, 1.0, 0.0, "Frequency range");
configParam(MODE_PARAM, 0.0, 1.0, 0.0, "Output mode");
configParam(FREQUENCY_PARAM, -48, 48, 0.0, "Frequency");
configParam(SHAPE_PARAM, 0.0, 1.0, 0.5, "Shape");
configParam(RAMP_PARAM, 0.0, 1.0, 0.0, "Ramp mode");
configParam(SMOOTHNESS_PARAM, 0.0, 1.0, 0.5, "Waveshape transformation");
configParam(SLOPE_PARAM, 0.0, 1.0, 0.5, "Ascending/descending ratio");
configParam(SHIFT_PARAM, 0.0, 1.0, 0.5, "Output polarization and shifting");
configParam(SLOPE_CV_PARAM, -1.0, 1.0, 0.0, "Slope CV");
configParam(FREQUENCY_CV_PARAM, -1.0, 1.0, 0.0, "Frequency CV");
configParam(SMOOTHNESS_CV_PARAM, -1.0, 1.0, 0.0, "Smoothness CV");
configParam(SHAPE_CV_PARAM, -1.0, 1.0, 0.0, "Shape CV");
configParam(SHIFT_CV_PARAM, -1.0, 1.0, 0.0, "Shift CV");
configButton(RANGE_PARAM, "Frequency range");
configButton(MODE_PARAM, "Output mode");
configParam(FREQUENCY_PARAM, -48, 48, 0.0, "Frequency", " semitones");
configParam(SHAPE_PARAM, 0.0, 1.0, 0.5, "Shape", "%", 0, 100);
configButton(RAMP_PARAM, "Ramp mode");
configParam(SMOOTHNESS_PARAM, 0.0, 1.0, 0.5, "Smoothness", "%", 0, 100);
getParamQuantity(SMOOTHNESS_PARAM)->description = "Waveshape transformation";
configParam(SLOPE_PARAM, 0.0, 1.0, 0.5, "Slope", "%", 0, 100);
getParamQuantity(SLOPE_PARAM)->description = "Ascending/descending ratio";
configParam(SHIFT_PARAM, 0.0, 1.0, 0.5, "Shift", "%", 0, 100);
getParamQuantity(SHIFT_PARAM)->description = "Output polarization and shifting";
configParam(SLOPE_CV_PARAM, -1.0, 1.0, 0.0, "Slope CV", "%", 0, 100);
configParam(FREQUENCY_CV_PARAM, -1.0, 1.0, 0.0, "Frequency CV", "%", 0, 100);
configParam(SMOOTHNESS_CV_PARAM, -1.0, 1.0, 0.0, "Smoothness CV", "%", 0, 100);
configParam(SHAPE_CV_PARAM, -1.0, 1.0, 0.0, "Shape CV", "%", 0, 100);
configParam(SHIFT_CV_PARAM, -1.0, 1.0, 0.0, "Shift CV", "%", 0, 100);

configInput(SLOPE_INPUT, "Slope");
configInput(FREQUENCY_INPUT, "Frequency");
configInput(V_OCT_INPUT, "Pitch (1V/oct)");
configInput(SMOOTHNESS_INPUT, "Smoothness");
configInput(SHAPE_INPUT, "Shape");
configInput(SHIFT_INPUT, "Shift");
configInput(TRIG_INPUT, "Trigger");
configInput(CLOCK_INPUT, "Clock");

for (int c = 0; c < 4; c++) {
configOutput(OUT_OUTPUTS + c, string::f("Channel %d", c + 1));
}

poly_slope_generator.Init();
ratio_index_quantizer.Init();


+ 7
- 8
src/Veils.cpp View File

@@ -41,14 +41,13 @@ struct Veils : Module {

Veils() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(GAIN1_PARAM, 0.0, 1.0, 0.0, "Gain 1");
configParam(GAIN2_PARAM, 0.0, 1.0, 0.0, "Gain 2");
configParam(GAIN3_PARAM, 0.0, 1.0, 0.0, "Gain 3");
configParam(GAIN4_PARAM, 0.0, 1.0, 0.0, "Gain 4");
configParam(RESPONSE1_PARAM, 0.0, 1.0, 1.0, "Response curve 1");
configParam(RESPONSE2_PARAM, 0.0, 1.0, 1.0, "Response curve 2");
configParam(RESPONSE3_PARAM, 0.0, 1.0, 1.0, "Response curve 3");
configParam(RESPONSE4_PARAM, 0.0, 1.0, 1.0, "Response curve 4");
for (int c = 0; c < 4; c++) {
configParam(GAIN1_PARAM + c, -1.0, 1.0, 0.0, string::f("Channel %d gain", c + 1), "%", 0, 100);
configParam(RESPONSE1_PARAM + c, -1.0, 1.0, 0.0, string::f("Channel %d response", c + 1));
configInput(IN1_INPUT + c, string::f("Channel %d", c + 1));
configInput(CV1_INPUT + c, string::f("Channel %d CV", c + 1));
configOutput(OUT1_OUTPUT + c, string::f("Channel %d", c + 1));
}
}

void process(const ProcessArgs& args) override {


+ 15
- 5
src/Warps.cpp View File

@@ -40,11 +40,21 @@ struct Warps : Module {

Warps() {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS);
configParam(ALGORITHM_PARAM, 0.0, 8.0, 0.0, "Modulation algorithm");
configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5, "Modulation timbre");
configParam(STATE_PARAM, 0.0, 1.0, 0.0, "Internal oscillator state");
configParam(LEVEL1_PARAM, 0.0, 1.0, 1.0, "External oscillator amplitude/internal oscillator frequency");
configParam(LEVEL2_PARAM, 0.0, 1.0, 1.0, "Modulator amplitude");
configParam(ALGORITHM_PARAM, 0.0, 8.0, 0.0, "Algorithm");
configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5, "Timbre", "%", 0, 100);
configButton(STATE_PARAM, "Internal oscillator mode");
configParam(LEVEL1_PARAM, 0.0, 1.0, 1.0, "External oscillator amplitude / internal oscillator frequency", "%", 0, 100);
configParam(LEVEL2_PARAM, 0.0, 1.0, 1.0, "Modulator amplitude", "%", 0, 100);

configInput(LEVEL1_INPUT, "Level 1");
configInput(LEVEL2_INPUT, "Level 2");
configInput(ALGORITHM_INPUT, "Algorithm");
configInput(TIMBRE_INPUT, "Timbre");
configInput(CARRIER_INPUT, "Carrier");
configInput(MODULATOR_INPUT, "Modulator");

configOutput(MODULATOR_OUTPUT, "Modulator");
configOutput(AUX_OUTPUT, "Auxiliary");

memset(&modulator, 0, sizeof(modulator));
modulator.Init(96000.0f);


Loading…
Cancel
Save