mirror of
https://codeberg.org/armin/wavetable.git
synced 2026-09-01 05:50:46 +02:00
Version 1.0.9
This commit is contained in:
parent
8de9601b7f
commit
3ac3543a67
4 changed files with 33 additions and 3 deletions
|
|
@ -52,7 +52,33 @@ void WavetableVoice::noteStarted()
|
|||
snapParams();
|
||||
|
||||
for (auto idx = 0; auto& osc : oscillators)
|
||||
osc.noteOn (proc.oscParams[idx++].retrig->getBoolValue() ? 0.0f : proc.rng.nextFloat());
|
||||
{
|
||||
auto& params = proc.oscParams[idx++];
|
||||
auto retrig = params.retrig->getBoolValue();
|
||||
auto voices = params.voices->getUserValue();
|
||||
|
||||
if (voices == 1)
|
||||
{
|
||||
osc.noteOn (retrig ? 0.0f : proc.rng.nextFloat());
|
||||
}
|
||||
else if (retrig)
|
||||
{
|
||||
float phases[8] = { 0.0f };
|
||||
|
||||
for (auto i = 0; i < voices; i++)
|
||||
phases[i] = 1.0f / voices * i;
|
||||
|
||||
osc.noteOn (phases);
|
||||
}
|
||||
else
|
||||
{
|
||||
float phases[8];
|
||||
for (auto& p : phases)
|
||||
p = proc.rng.nextFloat();
|
||||
|
||||
osc.noteOn (phases);
|
||||
}
|
||||
}
|
||||
|
||||
noise.noteOn();
|
||||
sub.noteOn (proc.subParams.retrig->getBoolValue() ? 0.0f : proc.rng.nextFloat());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue