For posterity (and DonStroganotti and toimp):
I found a way to code legato sequences (or the voices of a polyphonic/chord sequence) for plugin instruments, that doesn’t require column surgery when you want to insert a note.
But it requires three columns per voice.
Say you’ve got a legato bass sequence. It occupies two columns, because you occasionally need to tie (overlap) notes to prevent the synth’s envelope(s) from retriggering:
|----+-------+-------|
| 00 | C-400 | OFF.. |
| 01 | ---.. | ---.. |
| 02 | ---.. | ---.. |
| 03 | ---.. | ---.. |
| 04 | ---.. | G-400 |
| 05 | OFF.. | ---.. |
| 06 | ---.. | ---.. |
| 07 | ---.. | ---.. |
|----+-------+-------|
Now you want to insert a new legato note between the two notes. How do you do it?
Either you insert the new note in the second note’s column, and manually swap the column of every following note.
Or you add a third column.
Now you think, “Three columns? Where does it end?! What am I doing with my life?”
Where it ends, actually, is at three.
With three columns, there’s always a spare: the two columns occupied by consecutive notes, and the unoccupied third.
If the two notes are on columns 1 and 2, then 3 is free; 1 and 3, then 2 is free; 2 and 3, then 1 is free:
|----+-------+-------+-------|
| 00 | C-400 | OFF.. | ---.. |
| 01 | ---.. | ---.. | ---.. |
| 02 | ---.. | ---.. | C-500 |
| 03 | ---.. | ---.. | ---.. |
| 04 | ---.. | G-400 | ---.. |
| 05 | OFF.. | ---.. | OFF.. |
| 06 | ---.. | ---.. | ---.. |
| 07 | ---.. | ---.. | ---.. |
|----+-------+-------+-------|
(It’s easier if you’re inserting a new note in the middle of a single note (splitting the note), as both other columns are free at that point.)
With three columns, you never need to move existing notes to another column when inserting (or deleting) notes in the sequence.
Three columns is the maximum necessary for easy editability of any single voice that occasionally needs overlapping notes.
This applies just as well polyphonically.
Like if you have a chord progression in which the chords need to overlap a bit (maybe due to long attack times).
If every voice in the chord gets three columns instead of one, you can insert and delete new chords anywhere, without having to meticulously column-juggle existing notes.
It is ugly? Yes.
Is it bulky? Yes.
Will left-to-right column order have any relation to the notes’ pitches? No. (Low notes can end up in the right column, and high notes in the left, etc.)
BUT: It always works, and never requires column-surgery.
For polyphonic sequences (chord progressions, etc.), I’ve taken to putting each voice in its own whole three-column track, then grouping the tracks.
So a whole group actually contains the sequence for a single instrument, with each sub-track (itself having up to three note columns) representing a voice.
This:
- Helps me keep things straight in my head,
- Allows for more than four simultaneous voices (3 columns * 4 voices = 12 – the max note columns per track, so one track can only hold up to four voices with this method),
- Makes things more collapsible,
- But bulks things up even more (lots more tracks).
But until (or if ever) we get intelligent VSTi NNA options, or something similar, this will at least work.