Add shuffle functionality to Carpeggio to mix up notes on the grid #105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was a feature I added on my fork and people seemed pretty excited about it when I shared it on Reddit, so I wanted to open a PR to the main repo to offer it back to you. It seems to just barely fit!
It allows for shuffling the grid in Carpeggio via a new on-screen parameter. It is disabled by default and changing chords disables it as well. When turning the encoder towards shuffle, it will swap a bunch of notes around, creating new melodies. Further turns to the right will continue to shuffle the grid. Turning left back to "play" mode will re-imprint the chord in its normal ordering.
The only shortcoming of this feature is that it doesn't save the shuffled grid to memory. Even if I kept track of the index movements so we could rebuild it on load, I couldn't think of a way to fit that in the remaining 16bits of Pack data.
You can see it in action on the Reddit thread I shared it in, as well as the enthusiasm from other o_C users: https://www.reddit.com/r/modular/comments/r6e0wd/been_tinkering_with_my_own_fork_of_hemisphere/