Moin,
irgendwie komme ich nicht weiter. Folgendes Problem:
Ich habe eine "globale Notenabspielfunktion" welche in Loop ausgeführt
wird. Nun das Problem: Die Funktion wird natürlich gefühlt 150 mal pro
Sekunde abgerufen und somit auch 150 Noten gesendet sobald die IF
Kondition zutrifft.
Ich könnte mit Booleans oder Ähnlichem abfragen ob die Funktion schonmal
getriggert wurde, jedoch klappt das in meinem Fall nicht, da ich die
Funktion benutzen will um eine Vielzahl an Noten – unter anderem auch
gleichzeitig – abzuspielen.
Wie könnte ich also bestimmen das dieses "sendNoteON" nur einen
Notenanschlag auslöst? Habt ihr Ideen?
1 | void loop() {
|
2 | usbMIDI.read();
|
3 | notePlayerOn();
|
4 | }
|
5 |
|
6 | void notePlayerOn () {
|
7 | if (abspielKopf == vaiablerWert) {
|
8 | usbMIDI.sendNoteOn(tone, velocity, channel);
|
9 | Serial.println("Play a tone!");
|
10 | }
|
11 | }
|
Ich hoffe das war nicht zu konfus :)
Danke!