Simplified CV modulation menu (needs testing)

This commit is contained in:
2023-08-22 23:15:36 +03:00
parent e51337abf2
commit 4c9a4e966f
2 changed files with 59 additions and 63 deletions

View File

@ -87,6 +87,7 @@ void checkInputs() {
if (encPositionOld != encPosition) {
int change = encPositionOld - encPosition;
if (displayScreen == 0) {
byte channelCV;
if (!insideTab && !shiftBtnPushed) { //Change tab
displayTab = displayTab + change;
if (displayTab > 100) { //to address "negative" numbers
@ -145,8 +146,7 @@ void checkInputs() {
channels[displayTab - 1].seqPattern = 15;
}
saveState();
}
else if (insideTab && !shiftBtnPushed && !menuItemSelected) {
} else if (insideTab && !shiftBtnPushed && !menuItemSelected) {
menuItem = menuItem + change;
if (menuItem > 100) { //for "negative" values
menuItem = 0;
@ -214,61 +214,69 @@ void checkInputs() {
calculateCycles();
}
saveState();
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 3 && channels[displayTab - 1].mode == 0) { //CV1 for CLK
channels[displayTab - 1].CV1Target = channels[displayTab - 1].CV1Target + change;
if (channels[displayTab - 1].CV1Target > 100) {
channels[displayTab - 1].CV1Target = 0;
} else if (channels[displayTab - 1].CV1Target > 1) {
channels[displayTab - 1].CV1Target = 1;
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 3 && channels[displayTab - 1].mode == 0) { //CV for CLK
if (channels[displayTab - 1].CV1Target == 1 && channels[displayTab - 1].CV2Target == 0) {
channelCV = 1;
} else if (channels[displayTab - 1].CV1Target == 0 && channels[displayTab - 1].CV2Target == 1) {
channelCV = 2;
} else {
channelCV = 0;
}
saveState();
}
else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 4 && channels[displayTab - 1].mode == 0) { //CV2 for CLK
channels[displayTab - 1].CV2Target = channels[displayTab - 1].CV2Target + change;
if (channels[displayTab - 1].CV2Target > 100) {
channelCV = channelCV + change;
if (channelCV == 0 || channelCV > 100) {
channelCV = 0;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 0;
} else if (channels[displayTab - 1].CV2Target > 1) {
} else if (channelCV == 1) {
channels[displayTab - 1].CV1Target = 1;
channels[displayTab - 1].CV2Target = 0;
} else if (channelCV >= 2) {
channelCV = 2;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 1;
}
saveState();
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 3 && channels[displayTab - 1].mode == 1) { //CV1 for RND
channels[displayTab - 1].CV1Target = channels[displayTab - 1].CV1Target + change;
if (channels[displayTab - 1].CV1Target > 100) {
channels[displayTab - 1].CV1Target = 0;
} else if (channels[displayTab - 1].CV1Target > 2) {
channels[displayTab - 1].CV1Target = 2;
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 3 && channels[displayTab - 1].mode == 1) { //CV for RND
if (channels[displayTab - 1].CV1Target == 2 && channels[displayTab - 1].CV2Target == 0) {
channelCV = 1;
} else if (channels[displayTab - 1].CV1Target == 0 && channels[displayTab - 1].CV2Target == 2) {
channelCV = 2;
} else {
channelCV = 0;
}
saveState();
}
else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 4 && channels[displayTab - 1].mode == 1) { //CV2 for RND
channels[displayTab - 1].CV2Target = channels[displayTab - 1].CV2Target + change;
if (channels[displayTab - 1].CV2Target > 100) {
channelCV = channelCV + change;
if (channelCV == 0 || channelCV > 100) {
channelCV = 0;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 0;
} else if (channels[displayTab - 1].CV2Target > 2) {
} else if (channelCV == 1) {
channels[displayTab - 1].CV1Target = 2;
channels[displayTab - 1].CV2Target = 0;
} else if (channelCV >= 2) {
channelCV = 2;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 2;
}
saveState();
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 3 && channels[displayTab - 1].mode == 2) { //CV1 for SEQ
channels[displayTab - 1].CV1Target = channels[displayTab - 1].CV1Target + change;
if (channels[displayTab - 1].CV1Target > 100) {
channels[displayTab - 1].CV1Target = 0;
} else if (channels[displayTab - 1].CV1Target == 1) { //hacky way to limit choices only to 0 and 3, should be a better option
channels[displayTab - 1].CV1Target = 3;
} else if (channels[displayTab - 1].CV1Target == 2) {
channels[displayTab - 1].CV1Target = 0;
} else if (channels[displayTab - 1].CV1Target > 3) {
channels[displayTab - 1].CV1Target = 3;
if (channels[displayTab - 1].CV1Target == 3 && channels[displayTab - 1].CV2Target == 0) {
channelCV = 1;
} else if (channels[displayTab - 1].CV1Target == 0 && channels[displayTab - 1].CV2Target == 3) {
channelCV = 2;
} else {
channelCV = 0;
}
saveState();
} else if (insideTab && (menuItemSelected || shiftBtnPushed) && displayTab != 0 && menuItem == 4 && channels[displayTab - 1].mode == 2) { //CV2 for SEQ
channels[displayTab - 1].CV2Target = channels[displayTab - 1].CV2Target + change;
if (channels[displayTab - 1].CV2Target > 100) {
channelCV = channelCV + change;
if (channelCV == 0 || channelCV > 100) {
channelCV = 0;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 0;
} else if (channels[displayTab - 1].CV2Target == 1) { //hacky way to limit choices only to 0 and 3, should be a better option
channels[displayTab - 1].CV2Target = 3;
} else if (channels[displayTab - 1].CV2Target == 2) {
} else if (channelCV == 1) {
channels[displayTab - 1].CV1Target = 3;
channels[displayTab - 1].CV2Target = 0;
} else if (channels[displayTab - 1].CV2Target > 3) {
} else if (channelCV >= 2) {
channelCV = 2;
channels[displayTab - 1].CV1Target = 0;
channels[displayTab - 1].CV2Target = 3;
}
saveState();