Introduce basic Euclidean Rhythm #9

Merged
awonak merged 8 commits from refs/pull/9/head into main 2025-06-30 17:23:56 +00:00
6 changed files with 191 additions and 21 deletions
Showing only changes of commit 16d47df926 - Show all commits

View File

@ -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);
} }
} }