Stap 5: Arpeggiator
De arpeggiator is een systeem waarmee een arpeggio gebaseerd op de notities die speelde in de arpeggio-modus. Wanneer arpeggio modus begint, afspelen kunt u een notitie. Deze nota wordt de hoofdsleutel. Elke toets sloeg daarna wordt opgeslagen op een matrix, met een maximum van 20 notities. De waarde die aan de array wordt opgeslagen is het verschil tussen de notitie gespeeld en de hoofdsleutel.if(appMode) //add toelichting op het app-matrix
{
if(appMaxCount == 0) //if net beginnen app modus
{
rootKey = notitie - MIDI_OFFSET; nieuwe hoofdsleutel krijgen, alle notities in de matrix zijn ten opzichte van deze waarde
}
anders
{
App [appMaxCount - 1] = noteSelect - rootKey; berekenen van relatieve Opmerking
}
appMaxCount ++; toename aantal noten in app matrix
if(appMaxCount > MAX_APP_NOTES)
{
appMode = false;
appUpdate();
}
}
Bij het afspelen, wordt de arpeggio-matrix versterkt door een snelheid afhankelijk van de waarde van een van de controle-potentiometers. De waarde in de array wordt toegevoegd aan de notitie wordt gespeeld.
noteSelect = rootKey + app [appCount];
appTimer = millisecs;
appCount ++; doorlopen van de array
Als (appCount > = appMaxCount)
{
appCount = 0;
}