1 short list of features not yet implemented
5 the rest of the mouse commands
6 select many notes/patterns
11 no overlapping patterns
20 out of bounds behavior
24 trackselect in piano roll
35 create seqpat (with new blank pattern)
60 soft copy selected seqpats
61 hard copy selected seqpats
68 save type 1 standard midi file
69 import type 0/1 standard midi file
75 play notes on virtual keyboard
76 play notes on real keyboard
78 x zoom in pattern editor or song editor
92 merge - insert notes into current track
93 overwrite - erase all notes before inserting into current track
94 layer - on each loop create new track (muted)
95 new - merge into new track created at time of recording
97 toggle display of tracks on piano roll
111 timeline shows correct indicator
112 trackmodule has updated info
113 toggle buttons show correct state
114 piano keyboard highlights keys
118 save records the following
135 arranger scroll positions
136 seqpat event editor controller
155 immediate features to be implemented
158 volume and pan controls dont work
159 change time signature and bars per measure
165 what i did instead (changes since last)
167 saveload restores/clears title/author/info
168 vol pan mute solo widgets work
175 if events are dispatched out of order, they are put in order by playing the
176 rest of the notes after the first-out-of-order at the end of the buffer, causing
177 an error on the order of 1024/48000 = 21 ms. to fix it, the events must be
178 dispatched in time order. solution is to enqueue and sort before dispatch.
179 the above workaround was done because if you try to dispatch them out of order
180 jack crashes. this occurs when events occur near each other but not exactly
181 at the same time, or at high bpm.
183 the pattern drag sound bug is that when a pattern is moved, note offs do not
184 occur. to fix it, when dragging a pattern you must dispatch note offs in one
187 the hand doesnt point directly at notches 1 and 3 if they are numbered 0 1 2 3
190 there is a 1 frame error caused by a kludge in the sequencer mechanism.
191 there are cases where a midi event is to be dispatched on the first
192 frame of the buffer, but also on the frame right after the last, i.e.
193 index 1024 in a frame buffer of 1024 frames. When a event appears to be
194 destined for 1024, i dispatch at 1023 rather than waiting until next
195 process. a real solution would check the sequencer play mechanism and
196 its interation with the backend's real time to see why its considering