@@ -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())) { | |||