diff --git a/plugin/ic29.cpp b/plugin/ic29.cpp index 5ab2cfe..978aecb 100644 --- a/plugin/ic29.cpp +++ b/plugin/ic29.cpp @@ -25,6 +25,7 @@ Synth ic29; Synth::Synth() { d_debug("initialising synth\n"); portaCoeff = 0x0; + noise = new float [4096]; } void Synth::buildTables(double sampleRate) { @@ -57,9 +58,14 @@ void Synth::run() { // 0 sets EA to 0x3fff, 1 adds uint16_t pwmVal = 0x2000 - ic29.lfo.lfoOut; if (ic29.patchRam.switch2 & 0x01) pwmVal = 0x3fff; - ic29.pwm = 0.5 - pwmVal / 32768.0f * (ic29.patchRam.pwmLfoMod / 106.0f); + // generate the voices, then + for (uint32_t i=0; i