Introduce basic Euclidean Rhythm #9
@ -62,11 +62,20 @@ void loop() {
|
|||||||
int cv2 = gravity.cv2.Read();
|
int cv2 = gravity.cv2.Read();
|
||||||
|
|
||||||
for (int i = 0; i < Gravity::OUTPUT_COUNT; i++) {
|
for (int i = 0; i < Gravity::OUTPUT_COUNT; i++) {
|
||||||
|
auto& ch = app.channel[i];
|
||||||
// Only apply CV to the channel when the current channel has cv
|
// Only apply CV to the channel when the current channel has cv
|
||||||
// mod configured.
|
// mod configured.
|
||||||
bool editing_current_step = app.editing_param && i == app.selected_channel - 1;
|
if (ch.isCvModActive()) {
|
||||||
if (app.channel[i].isCvModActive() && !editing_current_step) {
|
// hack -- do not apply mod to euclidean rhythm when editing.
|
||||||
app.channel[i].applyCvMod(cv1, cv2);
|
bool editing_euc;
|
||||||
|
editing_euc |= ch.getCvDestination() == CV_DEST_EUC_STEPS;
|
||||||
|
editing_euc |= ch.getCvDestination() == CV_DEST_EUC_HITS;
|
||||||
|
editing_euc &= (app.selected_channel - 1) == i;
|
||||||
|
editing_euc &= app.editing_param;
|
||||||
|
if (editing_euc) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ch.applyCvMod(cv1, cv2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user