This commit is contained in:
Takeshi Yokemura
2021-05-21 09:18:38 +09:00
parent 5bc7fa85d0
commit 97aadde9ab
6 changed files with 69 additions and 8 deletions

View File

@ -38,6 +38,7 @@ void TonalVoice::startNote (int midiNoteNumber, float velocity, SynthesiserSound
arpeggioFrameTimer = 0;
arpeggioFrameLength = 0;
currentNumNoteBuffer = 0;
for (int i=0; i<10; i++) { noteBuffer[i] = 0; }
}
void TonalVoice::advanceControlFrame()
@ -69,7 +70,7 @@ void TonalVoice::calculateAngleDelta()
break;
}
}
double byWheel = settingRefs->vibratoIgnoresWheel() ? 1.0 : currentModWheelValue;
double vibratoAmount = * (settingRefs->vibratoDepth) * sin (getVibratoPhase()) * byWheel;
double noteNoInDouble = noteNumber
@ -262,4 +263,23 @@ void TonalVoice::onFrameAdvanced()
autoBendDelta = 0;
}
}
if (arpeggioFrameLength > 0) {
arpeggioFrameTimer += 1.0 / getSampleRate();
if (arpeggioFrameTimer >= arpeggioFrameLength)
{
currentArpeggioFrame++;
if (currentArpeggioFrame >= currentNumNoteBuffer) {
currentArpeggioFrame = 0;
}
noteNumber = noteBuffer[currentArpeggioFrame];
while (arpeggioFrameTimer >= arpeggioFrameLength)
{
arpeggioFrameTimer -= arpeggioFrameLength;
}
}
}
};