Fixed sequence player

This commit is contained in:
2023-08-01 16:26:47 +03:00
parent dbf6cfe85a
commit fd77b88b6f
3 changed files with 67 additions and 73 deletions

View File

@ -42,7 +42,7 @@ void checkInputs() {
bpm = MINBPM;
}
calculateBPMTiming();
} else if (!insideTab && shiftBtnPushed && displayTab != 0) { //Change Subdiv
} else if (!insideTab && shiftBtnPushed && displayTab != 0 && channels[displayTab - 1].mode == 0) { //Change Subdiv
channels[displayTab - 1].subDiv = channels[displayTab - 1].subDiv - change;
if (channels[displayTab - 1].subDiv > 200) {
channels[displayTab - 1].subDiv = 0;
@ -52,7 +52,23 @@ void checkInputs() {
if (!isPlaying) {
calculateCycles();
}
} else if (insideTab && !shiftBtnPushed) {
} else if (!insideTab && shiftBtnPushed && displayTab != 0 && channels[displayTab - 1].mode == 1) { //Change Random
channels[displayTab - 1].random = channels[displayTab - 1].random + change;
if (channels[displayTab - 1].random > 100) {
channels[displayTab - 1].random = 0;
} else if (channels[displayTab - 1].random > 9) {
channels[displayTab - 1].random = 9;
}
} else if (!insideTab && shiftBtnPushed && displayTab != 0 && channels[displayTab - 1].mode == 2) { //Change SEQ pattern
channels[displayTab - 1].seqPattern = channels[displayTab - 1].seqPattern + change;
if (channels[displayTab - 1].seqPattern > 100) {
channels[displayTab - 1].seqPattern = 0;
} else if (channels[displayTab - 1].seqPattern > 16) {
channels[displayTab - 1].seqPattern = 16;
}
}
else if (insideTab && !shiftBtnPushed) {
menuItem = menuItem + change;
if (menuItem > 100) { //for "negative" values
menuItem = 0;
@ -99,29 +115,15 @@ void checkInputs() {
} else if (channels[displayTab - 1].offset > channelPulsesPerCycle[displayTab-1]) {
channels[displayTab - 1].offset = channelPulsesPerCycle[displayTab-1];
}
} else if (insideTab && shiftBtnPushed && displayTab != 0 && menuItem == 1 && channels[displayTab - 1].mode == 1) { //RANDOM
channels[displayTab - 1].random = channels[displayTab - 1].random + change;
if (channels[displayTab - 1].random > 100) {
channels[displayTab - 1].random = 0;
} else if (channels[displayTab - 1].random > 9) {
channels[displayTab - 1].random = 9;
} else if (insideTab && shiftBtnPushed && displayTab != 0 && menuItem == 1 && channels[displayTab - 1].mode == 1) { //SUBDIV for RANDOM
channels[displayTab - 1].subDiv = channels[displayTab - 1].subDiv - change;
if (channels[displayTab - 1].subDiv > 200) {
channels[displayTab - 1].subDiv = 0;
} else if (channels[displayTab - 1].subDiv > (sizeof(subDivs) / sizeof(byte)) - 1) {
channels[displayTab - 1].subDiv = (sizeof(subDivs) / sizeof(byte)) - 1;
}
} else if (insideTab && shiftBtnPushed && displayTab != 0 && menuItem == 1 && channels[displayTab - 1].mode == 2) { //Seq PAttern
channels[displayTab - 1].seqPattern = channels[displayTab - 1].seqPattern + change;
if (channels[displayTab - 1].seqPattern > 100) {
channels[displayTab - 1].seqPattern = 0;
} else if (channels[displayTab - 1].seqPattern > 8) {
channels[displayTab - 1].seqPattern = 8;
}
if (channels[displayTab - 1].seqPattern == 0) {
currentSeq = seqA1;
} else if (channels[displayTab - 1].seqPattern == 1) {
currentSeq = seqA2;
} else if (channels[displayTab - 1].seqPattern == 2) {
currentSeq = seqA3;
} else if (channels[displayTab - 1].seqPattern == 3) {
currentSeq = seqA4;
if (!isPlaying) {
calculateCycles();
}
} else if (insideTab && shiftBtnPushed && displayTab != 0 && menuItem == 2 && channels[displayTab - 1].mode == 0) { //CV1 for CLK
channels[displayTab - 1].CV1Target = channels[displayTab - 1].CV1Target + change;
@ -176,13 +178,9 @@ void checkInputs() {
//shift button
if (!digitalRead(SHIFT_BTN_PIN) && !shiftBtnPushed) {
shiftBtnPushed = true;
//display.fillRoundRect(120, 52, 8, 8, 3, SSD1306_WHITE);
//display.display();
updateScreen();
} else if (digitalRead(SHIFT_BTN_PIN) && shiftBtnPushed) {
shiftBtnPushed = false;
//display.fillRoundRect(120, 52, 8, 8, 3, SSD1306_BLACK);
//display.display();
updateScreen();
}