|  | 
! title     TODO list for the Non-sequencer
--
; General
* add option to create new instrument defintion.
* per phrase tempo setting? Perhaps a percentage of global tempo?
* add channel field to event list widget (but channel bits in pattern
   event lists are currently meaningless.)
* add uneditable "other" tab to event list widget.
* new Phrase playback mode. In this mode, a single phrase is looped,
   and the next phrase to be looped can be queued. This is similar the
   the playlist, but not linear from bar 1.
* live performance record. Does this have to be internal to Non? Is
   there no jack MIDI capable recorder that could be connected to all
   non ports? How would ports be handled anyway? As separate tracks in
   an SMF-1 file, perhaps?
* add global setting for composer name/copyright to be included in
   song files.
* !!! now that we're not using stupid-ass STL list container for the
   event lists we can perhaps keep a pointer to the next event in the
   playback thread, which would eliminate much overhead. This might
   also require keeping a "dirtied" bit in the grid to let the
   playback thread know that the UI thread has changed the list
   between process calls (also, what about transport relocations?)
* guess key signature of imports?
* figure out how to handle SysEx events with Jack MIDI (packetize them?)
* add chords to scale list... a pattern using the scale of a chord
   would contain a melody within that chord.
; Canvas
* custom scrollbar widget (dots)
* add vertical scrollbar widget to canvas.
* update beat/measure line drawing when BPB changes.
* update phrase height when number of patterns changes... (good use
   for a signal?)
* phrases need a way to show/hide relevant patterns. The whole
   "mapping" system is a total mess. How about only showing rows
   containing events? How would one add a pattern in this system? A
   button that adds an event for the given pattern?
* split canvas into separate widgets (ruler, names, canvas)?
 |