Started working on bpm modulation (a lot of stuff broken atm)
This commit is contained in:
@ -145,7 +145,7 @@ void loop() {
|
|||||||
display.clearDisplay();
|
display.clearDisplay();
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
if (masterClockMode == 2) {
|
if (masterClockMode == 2 || bpmModulationRange != 0) {
|
||||||
calculateBPMTiming();
|
calculateBPMTiming();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -282,8 +282,15 @@ void calculateCycles() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void calculateBPMTiming() {
|
void calculateBPMTiming() {
|
||||||
|
int mod;
|
||||||
if (masterClockMode == 0) {
|
if (masterClockMode == 0) {
|
||||||
pulsePeriod = 60000 / (bpm * PPQN);
|
if (bpmModulationRange != 0 && !bpmModulationChannel) {
|
||||||
|
mod = map (a1Input, 0, 1023, 0, bpmModulationRange*10);
|
||||||
|
} else if (bpmModulationRange != 0 && bpmModulationChannel) {
|
||||||
|
mod = map (a2Input, 0, 1023, 0, bpmModulationRange*10);
|
||||||
|
}
|
||||||
|
pulsePeriod = 60000 / ((bpm + mod) * PPQN);
|
||||||
|
|
||||||
} else if (masterClockMode == 2) { //for external beat clock
|
} else if (masterClockMode == 2) { //for external beat clock
|
||||||
pulsePeriod = (newExtPulseTime - lastExtPulseTime) / PPQN;
|
pulsePeriod = (newExtPulseTime - lastExtPulseTime) / PPQN;
|
||||||
}
|
}
|
||||||
@ -358,7 +365,12 @@ void checkInputs() {
|
|||||||
masterClockMode = 0;
|
masterClockMode = 0;
|
||||||
}
|
}
|
||||||
} else if (displayTab == 0 && insideTab == 2 && masterClockMode == 0) { //bpm modulation
|
} else if (displayTab == 0 && insideTab == 2 && masterClockMode == 0) { //bpm modulation
|
||||||
bpmModulationRange = bpmModulationRange + change;
|
if (bpmModulationRange < 9) {
|
||||||
|
bpmModulationRange = bpmModulationRange + change;
|
||||||
|
} else {
|
||||||
|
bpmModulationChannel = !bpmModulationChannel;
|
||||||
|
bpmModulationRange = 1;
|
||||||
|
}
|
||||||
} else if (displayTab != 0 && insideTab == 0) { //subdivision
|
} else if (displayTab != 0 && insideTab == 0) { //subdivision
|
||||||
channels[displayTab-1].mode = channels[displayTab-1].mode - change;
|
channels[displayTab-1].mode = channels[displayTab-1].mode - change;
|
||||||
if (channels[displayTab-1].mode == 65535) { //65535 is 0-1 for unsigned vars
|
if (channels[displayTab-1].mode == 65535) { //65535 is 0-1 for unsigned vars
|
||||||
|
|||||||
Reference in New Issue
Block a user