-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cycle chords & chord mapping #22
Conversation
I guess eventually it could be better handle this completely inside the mini parser regarding parsing the types of chords and outputting stacks as a result etc. With regard to the current implementation, the good quirk of the Name way of doing this was that you could append chord info to multiple events at once like |
This would have been parsed as Pitch + Target - and still is? So using Name instead of the new Chord doesn't change anything here. As long as we're not breaking basic tidal compatibility, either way is fine for me. But yes, using ' as a new operator would indeed be the cleanest solution, but I'm not really keen to duplicate all the chord parsing functionality in the cycle. You'd also have to extend the parser to handle all kinds of supported chords, which seems awkward. Apropos: I'm not a fan of the tidal `ii chord inversion notation. I find it quite confusing and limiting, but that probably should be supported sometime in the future as well... |
… note-offs when needed
b32ffd5
to
ce5a8d1
Compare
@unlessgames to merge or not to merge. If you dislike the chord changes in the grammar, I'm fine with that and will parse that from the name. I don't think it's causing any harm and can later still be finetuned. |
Sorry, I don't dislike the changes, was just still wondering if somehow extending the Target system to include chords was a better start, but probably not. This already works so let's merge. |
Allows using chords in cycles:
and allows mapping notes and/or chords via the
map
function:Part of #13
@unlessgames I ended up adding a new chord identifier/rule to the grammar instead of using the existing "name" value, as this felt super hacky. The character "'" else also isn't used in the mini notation, so that should be future proof too?
Tidal actually also supports such chord notations, but Strudel doesn't - from what I've seen.
This PR isn't finished yet. I need to deal with lengths and note offs in chords correctly in the event iter impls.