When composing, there can be so many changes and revisions to just a few measures… even a few beats.
You might want to retain an original performed MIDI, but you might want to try quantizing it, perhaps the quantization doesn’t feel right, so you decide on manual tweaking a few notes to split the difference, but then, you want to also try some different note selection.
It’s not really efficient or pragmatic to use TrackVersions for this with MIDI. I’m more likely to use TrackVersions for completely different compositional takes, to retain the complete original, or maybe to mark a few hours of track wide revisions, or at the end of the day.
But when it comes to very specific parts, I might make a change to note selection I think is great in the moment, and then upon playing the entire composition, realize the changes I made just do not at all fit in the totality of the composition.
Currently, I use muting notes… but then you end up with a cluster of white notes, and if you’ve made multiple attempts at changing a part, you might forget which notes were part of which change.
- MIDI Parts Versions would work just like TrackVersions and would appear in the MIDI Editor in the left zone.
- If a MIDI Part has Versions, the Event/Part would get a ‘V’ symbol (in the top right corner where Shared Copy/Time Stretch/ARA2/DOP symbols appear) and perhaps a name addendum:
- MIDI Part Versions should be able to be selected straight from the Part/Event in the Arranger Window without opening up the MIDI Editor (Like the current Take Selector Menu). Maybe by Modifier+Clicking on the Take Selector node, or maybe a new node at the top:
One conundrum with this idea, is what would happen if a user glued two separate parts together of which each had their own PartVersions?
This conundrum makes me wish that MIDI Parts had ‘Parts’ like Audio Parts, because then in my above scenario, they would essentially become a “MIDI Part Part” and no solution would be needed. If that can’t/isn’t going to happen, then I would suggest maybe the Glue-Merging would create a new PartVersion if one already exists in either or both or any multiple of Parts being glued. The left most Part with a Part Version on the time line being glued would become the host. There would need to be some sort of warning/prompt for the user to select what to do.
I’m making a separate feature request for “MIDI Part Parts” though…
Side note, this PartVersions idea could also be great for Audio Parts.