#defaults=no #patchname=no 0.0) { if (r <= cp) { if (dt == DELTA_FROM_RANGE) { if (cb > 0.0) { // Positive bias lo = (vmin - v) - ((vmin - v) * cb); hi = vmax - v; } else { // Negative bias lo = vmin - v; hi = (vmax - v) + ((vmax - v) * cb); } // Else use percentages } else { if (cb > 0.0) { // Positive bias lo = -1.0 + cb; hi = 1.0; } else { // Negative bias lo = -1.0; hi = 1.0 + cb; } } if (dp_osc1_tune_delta_type == DELTA_FROM_RANGE) { if (cm > 0.0) { r = rand(lo, hi) * sc; x = v + r; if (x < 0.0) { h = -0.5; } else { h = 0.5; }; int c = ((x / cm) + h); delta_out = c * cm; } else { r = rand(lo, hi) * sc; delta_out = v + r; } // Else do the delta from percentage of current value } else { if (cm > 0.0) { r = rand(lo, hi) * sc; x = v + (v * r); if (x < 0.0) { h = -0.5; } else { h = 0.5; }; int c = ((x / cm) + h); delta_out = c * cm; } else { r = rand(lo, hi) * sc; delta_out = v + (v * r); } } if (delta_out < vmin) delta_out = vmin; if (delta_out > vmax) delta_out = vmax; }} return delta_out; } Oscillator[1].Tune = delta(Oscillator[1].Tune, Oscillator[1].Tune.min, Oscillator[1].Tune.max, DELTA_FROM_RANGE, 1.0, -0.5, 1.0, 12.0); ?>