Added quantization
This commit is contained in:
@ -82,6 +82,7 @@ int playingModes[6]; //actual channel modes array updated from channels object
|
|||||||
unsigned int pulsePeriod;
|
unsigned int pulsePeriod;
|
||||||
bool isPlaying = false;
|
bool isPlaying = false;
|
||||||
bool isRecording = false;
|
bool isRecording = false;
|
||||||
|
bool recordToNextStep = false;
|
||||||
|
|
||||||
unsigned int tickCount = 0;
|
unsigned int tickCount = 0;
|
||||||
unsigned int pulseCount = 0;
|
unsigned int pulseCount = 0;
|
||||||
@ -318,6 +319,9 @@ void sendTriggers() {
|
|||||||
}
|
}
|
||||||
if (sixteenthPulseCount < (PPQN / 4) - 1) {
|
if (sixteenthPulseCount < (PPQN / 4) - 1) {
|
||||||
sixteenthPulseCount++;
|
sixteenthPulseCount++;
|
||||||
|
if (sixteenthPulseCount > 3) { //quantization. might need fine-tuning
|
||||||
|
recordToNextStep = true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
sixteenthPulseCount = 0;
|
sixteenthPulseCount = 0;
|
||||||
if (currentStep < 15) {
|
if (currentStep < 15) {
|
||||||
@ -325,6 +329,7 @@ void sendTriggers() {
|
|||||||
} else {
|
} else {
|
||||||
currentStep = 0;
|
currentStep = 0;
|
||||||
}
|
}
|
||||||
|
recordToNextStep = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//switching modes on the beat and resetting channel clock
|
//switching modes on the beat and resetting channel clock
|
||||||
|
|||||||
@ -243,8 +243,12 @@ void checkInputs() {
|
|||||||
if (displayScreen == 1 && !isRecording) {
|
if (displayScreen == 1 && !isRecording) {
|
||||||
patternToEdit[stepNumSelected] = !patternToEdit[stepNumSelected];
|
patternToEdit[stepNumSelected] = !patternToEdit[stepNumSelected];
|
||||||
saveState();
|
saveState();
|
||||||
} else if (displayScreen == 1 && isRecording) {
|
} else if (displayScreen == 1 && isRecording && !recordToNextStep) { //Recording
|
||||||
patternToEdit[currentStep] = 1;
|
patternToEdit[currentStep] = 1;
|
||||||
|
} else if (displayScreen == 1 && isRecording && recordToNextStep && currentStep != 15) {
|
||||||
|
patternToEdit[currentStep+1] = 1;
|
||||||
|
} else if (displayScreen == 1 && isRecording && recordToNextStep && currentStep == 15) {
|
||||||
|
patternToEdit[0] = 1;
|
||||||
}
|
}
|
||||||
updateScreen();
|
updateScreen();
|
||||||
} else if (digitalRead(SHIFT_BTN_PIN) && shiftBtnPushed) {
|
} else if (digitalRead(SHIFT_BTN_PIN) && shiftBtnPushed) {
|
||||||
|
|||||||
@ -85,7 +85,7 @@ void updateScreen() {
|
|||||||
char bpmChar[5];
|
char bpmChar[5];
|
||||||
bpmStr.toCharArray(bpmChar, 5);
|
bpmStr.toCharArray(bpmChar, 5);
|
||||||
u8g2.setFont(u8g2_font_logisoso24_tn);
|
u8g2.setFont(u8g2_font_logisoso24_tn);
|
||||||
if (!insideTab && shiftBtnPushed) {
|
if (!insideTab && shiftBtnPushed && masterClockMode == 0) {
|
||||||
u8g2.drawButtonUTF8(28, 26, U8G2_BTN_BW1|U8G2_BTN_INV|U8G2_BTN_HCENTER, 56, 0, 0, bpmChar );
|
u8g2.drawButtonUTF8(28, 26, U8G2_BTN_BW1|U8G2_BTN_INV|U8G2_BTN_HCENTER, 56, 0, 0, bpmChar );
|
||||||
u8g2.setFont(velvetscreen);
|
u8g2.setFont(velvetscreen);
|
||||||
if (masterClockMode == 0) {
|
if (masterClockMode == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user