Thoughts on midi tracks
Here are some thoughts on midi editing and view presentation, especially in the "midi track" domain. I am fully aware that the current implementation is far from finished, so I consider this input to the discussion on how things should work in the end.
1. The current midi track draws note separators across the entire session from start to end. Note separators only makes sense inside a region. Outside a region they only provides noise to the overall editor "picture", especially if they are close together.
2. A user might not want the same view range for every region in the track, even if stuff inside one track often corresponds to one instrument, which normally stays inside one consistent range of the frequency spectrum throughout a musical piece. Thus we may consider to attach the piano to the region itself, to allow different view ranges per region in a track. This again will result in problems when the start of the region (where such a piano would be attached) is beyond visibility. The remaining options are then to not allow different view ranges per track, and the other option is to not use a piano header at all, but only highlight the note fields (between the note separators) according to whether it represents a white note or a black note.
3. View range selection. The current model features two choices: View the entire note range (0-127) or view the range from the lowest note present to the highest note present. The problem here is when you want to add one note by using the mouse above or below the currently visible range. Assuming a uniform view range for all regions in a given track, i propose adding a vertical scrollbar to every midi track header. Some scrollbars have "zoom handles" at
each side of the box that represent the visible range, allowing to change the size of the visible range (Some other DAWs make use of the horizontal version of this type of scrollbar for the view selection of the session (often also with a miniature view of the session drawn behind it)). The ASCII mockup of the horizontal version:
|<|XXXXXXXXXXX|<|_________________|>|XXXXXXXXXXX|>| 1 2 3 4 5
In order to extend the visible view, one grabs handle 2 or 4, given the direction one would want to extend in. To move the range, grab 3. Or optionally press 1 or 5, which strictly speaking are not needed.
4. Maximum track height. I consider the current limitation of track height too small to do efficient midi editing in all cases. If the view range includes many notes, the notes become too narrow to hit with the mouse pointer.