void MLMultiSlider::setWave(int w) { float val = 0.; MLRange vRange; vRange.convertTo(mRange); for (int i=0; i<mNumSliders; ++i) { switch(w) { case 1: // square val = i <mNumSliders/2 ? 0 : 1; break; case 2: // sine val = sin(i * kMLTwoPi / mNumSliders)/-2. + 0.5; break; case 3: // saw val = (float)i / (float)(mNumSliders - 1); break; case 4: // random val = MLRand(); break; default: val = 0.5; break; } val = vRange(val); sendSliderAction(val, i); } }
void MLProcNoise::process(const int samples) { static MLSymbol gainSym("gain"); MLSignal& y = getOutput(); y.setConstant(false); // ? MLSample gain = getParam(gainSym); for (int n=0; n<samples; ++n) { y[n] = MLRand() * gain; } }