Pattern modulation limited to the bank

This commit is contained in:
2023-08-21 22:28:48 +03:00
parent aa868c0a01
commit c5d1c1cded

View File

@ -284,14 +284,24 @@ void sendTriggers() {
for (byte i = 0; i < 6; i++) {
//pattern modulation
//todo: limit modulation within the current bank (a or b)
int seqMod = 0;
byte seqPattern;
if (channels[i].CV2Target == 3) {
seqMod = map(a2Input, 0, 1023, -8, 8);
} else if (channels[i].CV1Target == 3) {
seqMod = map(a1Input, 0, 1023, -8, 8);
}
byte seqPattern = channels[i].seqPattern + seqMod;
if (channels[i].seqPattern < 8 && channels[i].seqPattern + seqMod >= 8) {
seqPattern = 7;
} else if (channels[i].seqPattern < 8 && channels[i].seqPattern + seqMod < 0) {
seqPattern = 0;
} else if (channels[i].seqPattern >= 8 && channels[i].seqPattern + seqMod < 8) {
seqPattern = 8;
} else if (channels[i].seqPattern >= 8 && channels[i].seqPattern + seqMod >= 16) {
seqPattern = 15;
} else {
seqPattern = channels[i].seqPattern + seqMod;
}
if (seqPattern == 0) {
currentSeq = seqA1;