Pattern modulation limited to the bank
This commit is contained in:
@ -284,14 +284,24 @@ void sendTriggers() {
|
|||||||
for (byte i = 0; i < 6; i++) {
|
for (byte i = 0; i < 6; i++) {
|
||||||
|
|
||||||
//pattern modulation
|
//pattern modulation
|
||||||
//todo: limit modulation within the current bank (a or b)
|
|
||||||
int seqMod = 0;
|
int seqMod = 0;
|
||||||
|
byte seqPattern;
|
||||||
if (channels[i].CV2Target == 3) {
|
if (channels[i].CV2Target == 3) {
|
||||||
seqMod = map(a2Input, 0, 1023, -8, 8);
|
seqMod = map(a2Input, 0, 1023, -8, 8);
|
||||||
} else if (channels[i].CV1Target == 3) {
|
} else if (channels[i].CV1Target == 3) {
|
||||||
seqMod = map(a1Input, 0, 1023, -8, 8);
|
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) {
|
if (seqPattern == 0) {
|
||||||
currentSeq = seqA1;
|
currentSeq = seqA1;
|
||||||
|
|||||||
Reference in New Issue
Block a user