| @@ -45,17 +45,17 @@ struct Blinds : Module { | |||
| Blinds() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Blinds::GAIN1_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::GAIN2_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::GAIN3_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::GAIN4_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::MOD1_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::MOD2_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::MOD3_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Blinds::MOD4_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(GAIN1_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(GAIN2_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(GAIN3_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(GAIN4_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MOD1_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MOD2_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MOD3_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MOD4_PARAM, -1.0, 1.0, 0.0); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| float out = 0.0; | |||
| for (int i = 0; i < 4; i++) { | |||
| @@ -40,13 +40,13 @@ struct Braids : Module { | |||
| Braids() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS); | |||
| configParam(Braids::SHAPE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Braids::FINE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Braids::COARSE_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(Braids::FM_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Braids::TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Braids::MODULATION_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Braids::COLOR_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FINE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(COARSE_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(FM_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MODULATION_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(COLOR_PARAM, 0.0, 1.0, 0.5); | |||
| memset(&osc, 0, sizeof(osc)); | |||
| osc.Init(); | |||
| @@ -62,7 +62,7 @@ struct Braids : Module { | |||
| settings.signature = 0; | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // Trigger | |||
| bool trig = inputs[TRIG_INPUT].getVoltage() >= 1.0; | |||
| if (!lastTrig && trig) { | |||
| @@ -38,10 +38,10 @@ struct Branches : Module { | |||
| Branches() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Branches::THRESHOLD1_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Branches::MODE1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Branches::THRESHOLD2_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Branches::MODE2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(THRESHOLD1_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MODE1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(THRESHOLD2_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MODE2_PARAM, 0.0, 1.0, 0.0); | |||
| } | |||
| json_t *dataToJson() override { | |||
| @@ -65,7 +65,7 @@ struct Branches : Module { | |||
| } | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| float gate = 0.0; | |||
| for (int i = 0; i < 2; i++) { | |||
| // mode button | |||
| @@ -67,19 +67,19 @@ struct Clouds : Module { | |||
| Clouds() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Clouds::POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::SIZE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::PITCH_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(Clouds::IN_GAIN_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::DENSITY_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::TEXTURE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::BLEND_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Clouds::SPREAD_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Clouds::FEEDBACK_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Clouds::REVERB_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Clouds::FREEZE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Clouds::MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Clouds::LOAD_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SIZE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(PITCH_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(IN_GAIN_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(DENSITY_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(TEXTURE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BLEND_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SPREAD_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FEEDBACK_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(REVERB_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FREEZE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(LOAD_PARAM, 0.0, 1.0, 0.0); | |||
| const int memLen = 118784; | |||
| const int ccmLen = 65536 - 128; | |||
| @@ -98,7 +98,7 @@ struct Clouds : Module { | |||
| delete[] block_ccm; | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // Get input | |||
| dsp::Frame<2> inputFrame = {}; | |||
| if (!inputBuffer.full()) { | |||
| @@ -80,34 +80,34 @@ struct Elements : Module { | |||
| Elements() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Elements::CONTOUR_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Elements::BOW_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Elements::BLOW_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Elements::STRIKE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::COARSE_PARAM, -30.0, 30.0, 0.0); | |||
| configParam(Elements::FINE_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(Elements::FM_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::FLOW_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::MALLET_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::GEOMETRY_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::BRIGHTNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::BOW_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::BLOW_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::STRIKE_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::DAMPING_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Elements::SPACE_PARAM, 0.0, 2.0, 0.0); | |||
| configParam(Elements::BOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::FLOW_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::BLOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::MALLET_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::STRIKE_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::DAMPING_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::GEOMETRY_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::POSITION_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Elements::SPACE_MOD_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(Elements::PLAY_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(CONTOUR_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(BOW_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(BLOW_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(STRIKE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(COARSE_PARAM, -30.0, 30.0, 0.0); | |||
| configParam(FINE_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(FM_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(FLOW_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MALLET_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(GEOMETRY_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BRIGHTNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BOW_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BLOW_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(STRIKE_TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(DAMPING_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SPACE_PARAM, 0.0, 2.0, 0.0); | |||
| configParam(BOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(FLOW_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(BLOW_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MALLET_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(STRIKE_TIMBRE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(GEOMETRY_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SPACE_MOD_PARAM, -2.0, 2.0, 0.0); | |||
| configParam(PLAY_PARAM, 0.0, 1.0, 0.0); | |||
| part = new elements::Part(); | |||
| // In the Mutable Instruments code, Part doesn't initialize itself, so zero it here. | |||
| @@ -122,7 +122,7 @@ struct Elements : Module { | |||
| delete part; | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // Get input | |||
| if (!inputBuffer.full()) { | |||
| dsp::Frame<2> inputFrame; | |||
| @@ -51,15 +51,15 @@ struct Frames : Module { | |||
| Frames() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Frames::GAIN1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::GAIN2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::GAIN3_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::GAIN4_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::FRAME_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::MODULATION_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Frames::ADD_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::DEL_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Frames::OFFSET_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN3_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN4_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FRAME_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(MODULATION_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(ADD_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(DEL_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(OFFSET_PARAM, 0.0, 1.0, 0.0); | |||
| memset(&keyframer, 0, sizeof(keyframer)); | |||
| keyframer.Init(); | |||
| @@ -69,7 +69,7 @@ struct Frames : Module { | |||
| onReset(); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // Set gain and timestamp knobs | |||
| uint16_t controls[4]; | |||
| for (int i = 0; i < 4; i++) { | |||
| @@ -37,7 +37,7 @@ struct Kinks : Module { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // Gaussian noise generator | |||
| float noise = 2.0 * random::normal(); | |||
| @@ -34,7 +34,7 @@ struct Links : Module { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| float inA = inputs[A1_INPUT].getVoltage(); | |||
| float inB = inputs[B1_INPUT].getVoltage() + inputs[B2_INPUT].getVoltage(); | |||
| float inC = inputs[C1_INPUT].getVoltage() + inputs[C2_INPUT].getVoltage() + inputs[C3_INPUT].getVoltage(); | |||
| @@ -225,21 +225,21 @@ struct Marbles : Module { | |||
| Marbles() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Marbles::T_DEJA_VU_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::X_DEJA_VU_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::DEJA_VU_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Marbles::T_RATE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Marbles::X_SPREAD_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Marbles::T_MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::X_MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::DEJA_VU_LENGTH_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::T_BIAS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Marbles::X_BIAS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Marbles::T_RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::X_RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::EXTERNAL_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::T_JITTER_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Marbles::X_STEPS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(T_DEJA_VU_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(X_DEJA_VU_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(DEJA_VU_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(T_RATE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(X_SPREAD_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(T_MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(X_MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(DEJA_VU_LENGTH_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(T_BIAS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(X_BIAS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(T_RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(X_RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(EXTERNAL_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(T_JITTER_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(X_STEPS_PARAM, 0.0, 1.0, 0.5); | |||
| random_generator.Init(1); | |||
| random_stream.Init(&random_generator); | |||
| @@ -58,15 +58,15 @@ struct Plaits : Module { | |||
| Plaits() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Plaits::MODEL1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Plaits::MODEL2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Plaits::FREQ_PARAM, -4.0, 4.0, 0.0); | |||
| configParam(Plaits::HARMONICS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Plaits::TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Plaits::MORPH_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Plaits::TIMBRE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Plaits::FREQ_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Plaits::MORPH_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MODEL1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(MODEL2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FREQ_PARAM, -4.0, 4.0, 0.0); | |||
| configParam(HARMONICS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MORPH_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(TIMBRE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(FREQ_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MORPH_CV_PARAM, -1.0, 1.0, 0.0); | |||
| memset(shared_buffer, 0, sizeof(shared_buffer)); | |||
| stmlib::BufferAllocator allocator(shared_buffer, sizeof(shared_buffer)); | |||
| @@ -65,18 +65,18 @@ struct Rings : Module { | |||
| Rings() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Rings::POLYPHONY_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Rings::RESONATOR_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Rings::FREQUENCY_PARAM, 0.0, 60.0, 30.0); | |||
| configParam(Rings::STRUCTURE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Rings::BRIGHTNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Rings::DAMPING_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Rings::POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Rings::BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Rings::FREQUENCY_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Rings::DAMPING_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Rings::STRUCTURE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Rings::POSITION_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(POLYPHONY_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(RESONATOR_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FREQUENCY_PARAM, 0.0, 60.0, 30.0); | |||
| configParam(STRUCTURE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BRIGHTNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(DAMPING_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(POSITION_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(BRIGHTNESS_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(FREQUENCY_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(DAMPING_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(STRUCTURE_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(POSITION_MOD_PARAM, -1.0, 1.0, 0.0); | |||
| memset(&strummer, 0, sizeof(strummer)); | |||
| memset(&part, 0, sizeof(part)); | |||
| @@ -87,7 +87,7 @@ struct Rings : Module { | |||
| string_synth.Init(reverb_buffer); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // TODO | |||
| // "Normalized to a pulse/burst generator that reacts to note changes on the V/OCT input." | |||
| // Get input | |||
| @@ -32,19 +32,19 @@ struct Shades : Module { | |||
| Shades() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Shades::GAIN1_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Shades::GAIN2_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Shades::GAIN3_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Shades::MODE1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Shades::MODE2_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Shades::MODE3_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(GAIN1_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(GAIN2_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(GAIN3_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(MODE1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(MODE2_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(MODE3_PARAM, 0.0, 1.0, 1.0); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| float out = 0.0; | |||
| for (int i = 0; i < 3; i++) { | |||
| float in = inputs[IN1_INPUT + i].normalize(5.0); | |||
| float in = inputs[IN1_INPUT + i].getNormalVoltage(5.0); | |||
| if ((int)params[MODE1_PARAM + i].getValue() == 1) { | |||
| // attenuverter | |||
| in *= 2.0 * params[GAIN1_PARAM + i].getValue() - 1.0; | |||
| @@ -155,24 +155,24 @@ struct Stages : Module { | |||
| Stages() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Stages::SHAPE_PARAMS + 0, 0.0, 1.0, 0.5); | |||
| configParam(Stages::SHAPE_PARAMS + 1, 0.0, 1.0, 0.5); | |||
| configParam(Stages::SHAPE_PARAMS + 2, 0.0, 1.0, 0.5); | |||
| configParam(Stages::SHAPE_PARAMS + 3, 0.0, 1.0, 0.5); | |||
| configParam(Stages::SHAPE_PARAMS + 4, 0.0, 1.0, 0.5); | |||
| configParam(Stages::SHAPE_PARAMS + 5, 0.0, 1.0, 0.5); | |||
| configParam(Stages::TYPE_PARAMS + 0, 0.0, 1.0, 0.0); | |||
| configParam(Stages::TYPE_PARAMS + 1, 0.0, 1.0, 0.0); | |||
| configParam(Stages::TYPE_PARAMS + 2, 0.0, 1.0, 0.0); | |||
| configParam(Stages::TYPE_PARAMS + 3, 0.0, 1.0, 0.0); | |||
| configParam(Stages::TYPE_PARAMS + 4, 0.0, 1.0, 0.0); | |||
| configParam(Stages::TYPE_PARAMS + 5, 0.0, 1.0, 0.0); | |||
| configParam(Stages::LEVEL_PARAMS + 0, 0.0, 1.0, 0.5); | |||
| configParam(Stages::LEVEL_PARAMS + 1, 0.0, 1.0, 0.5); | |||
| configParam(Stages::LEVEL_PARAMS + 2, 0.0, 1.0, 0.5); | |||
| configParam(Stages::LEVEL_PARAMS + 3, 0.0, 1.0, 0.5); | |||
| configParam(Stages::LEVEL_PARAMS + 4, 0.0, 1.0, 0.5); | |||
| configParam(Stages::LEVEL_PARAMS + 5, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 0, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 1, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 2, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 3, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 4, 0.0, 1.0, 0.5); | |||
| configParam(SHAPE_PARAMS + 5, 0.0, 1.0, 0.5); | |||
| configParam(TYPE_PARAMS + 0, 0.0, 1.0, 0.0); | |||
| configParam(TYPE_PARAMS + 1, 0.0, 1.0, 0.0); | |||
| configParam(TYPE_PARAMS + 2, 0.0, 1.0, 0.0); | |||
| configParam(TYPE_PARAMS + 3, 0.0, 1.0, 0.0); | |||
| configParam(TYPE_PARAMS + 4, 0.0, 1.0, 0.0); | |||
| configParam(TYPE_PARAMS + 5, 0.0, 1.0, 0.0); | |||
| configParam(LEVEL_PARAMS + 0, 0.0, 1.0, 0.5); | |||
| configParam(LEVEL_PARAMS + 1, 0.0, 1.0, 0.5); | |||
| configParam(LEVEL_PARAMS + 2, 0.0, 1.0, 0.5); | |||
| configParam(LEVEL_PARAMS + 3, 0.0, 1.0, 0.5); | |||
| configParam(LEVEL_PARAMS + 4, 0.0, 1.0, 0.5); | |||
| configParam(LEVEL_PARAMS + 5, 0.0, 1.0, 0.5); | |||
| onReset(); | |||
| } | |||
| @@ -52,13 +52,13 @@ struct Tides : Module { | |||
| Tides() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Tides::MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Tides::RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Tides::FREQUENCY_PARAM, -48.0, 48.0, 0.0); | |||
| configParam(Tides::FM_PARAM, -12.0, 12.0, 0.0); | |||
| configParam(Tides::SHAPE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides::SLOPE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides::SMOOTHNESS_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FREQUENCY_PARAM, -48.0, 48.0, 0.0); | |||
| configParam(FM_PARAM, -12.0, 12.0, 0.0); | |||
| configParam(SHAPE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SLOPE_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SMOOTHNESS_PARAM, -1.0, 1.0, 0.0); | |||
| memset(&generator, 0, sizeof(generator)); | |||
| generator.Init(); | |||
| @@ -66,7 +66,7 @@ struct Tides : Module { | |||
| onReset(); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| tides::GeneratorMode mode = generator.mode(); | |||
| if (modeTrigger.process(params[MODE_PARAM].getValue())) { | |||
| mode = (tides::GeneratorMode) (((int)mode - 1 + 3) % 3); | |||
| @@ -101,19 +101,19 @@ struct Tides2 : Module { | |||
| Tides2() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Tides2::RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Tides2::MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Tides2::FREQUENCY_PARAM, -48, 48, 0.0); | |||
| configParam(Tides2::SHAPE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Tides2::RAMP_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Tides2::SMOOTHNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Tides2::SLOPE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Tides2::SHIFT_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Tides2::SLOPE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides2::FREQUENCY_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides2::SMOOTHNESS_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides2::SHAPE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(Tides2::SHIFT_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(RANGE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(MODE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(FREQUENCY_PARAM, -48, 48, 0.0); | |||
| configParam(SHAPE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(RAMP_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(SMOOTHNESS_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SLOPE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SHIFT_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(SLOPE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(FREQUENCY_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SMOOTHNESS_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SHAPE_CV_PARAM, -1.0, 1.0, 0.0); | |||
| configParam(SHIFT_CV_PARAM, -1.0, 1.0, 0.0); | |||
| poly_slope_generator.Init(); | |||
| ratio_index_quantizer.Init(); | |||
| @@ -41,17 +41,17 @@ struct Veils : Module { | |||
| Veils() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Veils::GAIN1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Veils::GAIN2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Veils::GAIN3_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Veils::GAIN4_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Veils::RESPONSE1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Veils::RESPONSE2_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Veils::RESPONSE3_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Veils::RESPONSE4_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(GAIN1_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN2_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN3_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(GAIN4_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(RESPONSE1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(RESPONSE2_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(RESPONSE3_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(RESPONSE4_PARAM, 0.0, 1.0, 1.0); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| float out = 0.0; | |||
| for (int i = 0; i < 4; i++) { | |||
| @@ -40,17 +40,17 @@ struct Warps : Module { | |||
| Warps() { | |||
| config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||
| configParam(Warps::ALGORITHM_PARAM, 0.0, 8.0, 0.0); | |||
| configParam(Warps::TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(Warps::STATE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(Warps::LEVEL1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(Warps::LEVEL2_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(ALGORITHM_PARAM, 0.0, 8.0, 0.0); | |||
| configParam(TIMBRE_PARAM, 0.0, 1.0, 0.5); | |||
| configParam(STATE_PARAM, 0.0, 1.0, 0.0); | |||
| configParam(LEVEL1_PARAM, 0.0, 1.0, 1.0); | |||
| configParam(LEVEL2_PARAM, 0.0, 1.0, 1.0); | |||
| memset(&modulator, 0, sizeof(modulator)); | |||
| modulator.Init(96000.0f); | |||
| } | |||
| void process(const ProcessArgs &args) { | |||
| void process(const ProcessArgs &args) override { | |||
| // State trigger | |||
| warps::Parameters *p = modulator.mutable_parameters(); | |||
| if (stateTrigger.process(params[STATE_PARAM].getValue())) { | |||