non/TODO

44 lines
1.9 KiB
Plaintext

! title TODO list for the Non-sequencer
--
; General
* 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)?