basik swing works
This commit is contained in:
@ -32,7 +32,7 @@ struct channel {
|
|||||||
byte random : 4; //mv: 16
|
byte random : 4; //mv: 16
|
||||||
byte seqPattern : 4;
|
byte seqPattern : 4;
|
||||||
uint8_t gate : 6; //mv: 64
|
uint8_t gate : 6; //mv: 64
|
||||||
uint8_t swing : 4; //some of this params can be combinde into 4+4 bits to save space
|
uint8_t swing : 3; //some of this params can be combinde into 4+4 bits to save space
|
||||||
};
|
};
|
||||||
|
|
||||||
channel channels[6] = { //array of channel settings
|
channel channels[6] = { //array of channel settings
|
||||||
@ -87,6 +87,7 @@ unsigned long newExtPulseTime = 0;
|
|||||||
|
|
||||||
bool needPulseReset[6] = { true, true, true, true, true, true };
|
bool needPulseReset[6] = { true, true, true, true, true, true };
|
||||||
int gatePulseCount[6] = {0,0,0,0,0,0};
|
int gatePulseCount[6] = {0,0,0,0,0,0};
|
||||||
|
bool swingBit = 0;
|
||||||
|
|
||||||
byte displayTab = 0;
|
byte displayTab = 0;
|
||||||
bool insideTab = false;
|
bool insideTab = false;
|
||||||
@ -417,9 +418,16 @@ void sendTriggers() { //rename to onPulse or something
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((channels[i].mode == 3 && channelPulseCount[i] == 0 && swingBit == 0)
|
||||||
|
|| (channels[i].mode == 3 && channelPulseCount[i] == channels[i].swing && swingBit == 1 && currentStep %2 == 0) //swing
|
||||||
|
) {
|
||||||
|
digitalWrite(outsPins[i], HIGH);
|
||||||
|
swingBit = !swingBit;
|
||||||
|
}
|
||||||
|
|
||||||
if ((channels[i].mode == 0 && channelPulseCount[i] == channels[i].offset) //CLK with offset
|
if ((channels[i].mode == 0 && channelPulseCount[i] == channels[i].offset) //CLK with offset
|
||||||
|| (channels[i].mode == 1 && channelPulseCount[i] == 0 && (random(10) + 1) > randAmount) //RND
|
|| (channels[i].mode == 1 && channelPulseCount[i] == 0 && (random(10) + 1) > randAmount) //RND
|
||||||
|| (channels[i].mode == 4 && channelPulseCount[i] == 0) //gate
|
|| (channels[i].mode == 4 && channelPulseCount[i] == 0) //Gate
|
||||||
) {
|
) {
|
||||||
digitalWrite(outsPins[i], HIGH);
|
digitalWrite(outsPins[i], HIGH);
|
||||||
gatePulseCount[i] = 0; //reset gate here to avoid length "countdown" effect
|
gatePulseCount[i] = 0; //reset gate here to avoid length "countdown" effect
|
||||||
|
|||||||
@ -183,8 +183,8 @@ void checkInputs() {
|
|||||||
channels[displayTab - 1].swing = channels[displayTab - 1].swing + change;
|
channels[displayTab - 1].swing = channels[displayTab - 1].swing + change;
|
||||||
if (channels[displayTab - 1].swing > 100) {
|
if (channels[displayTab - 1].swing > 100) {
|
||||||
channels[displayTab - 1].swing = 0;
|
channels[displayTab - 1].swing = 0;
|
||||||
} else if (channels[displayTab - 1].swing > 15) {
|
} else if (channels[displayTab - 1].swing > 6) {
|
||||||
channels[displayTab - 1].swing = 15;
|
channels[displayTab - 1].swing = 6;
|
||||||
}
|
}
|
||||||
saveState();
|
saveState();
|
||||||
} else if (((!insideTab && shiftBtnPushed)
|
} else if (((!insideTab && shiftBtnPushed)
|
||||||
|
|||||||
Reference in New Issue
Block a user