open close type description rev user 08/19/13 08/29/13 done comp should correct to nearest tetrachord tone instead of nearest scale tone 1.0.00.000 08/19/13 09/01/13 done wrap system MIDI API to avoid leaks 1.0.00.000 08/19/13 09/01/13 done support Unicode just in case 1.0.00.000 08/19/13 09/12/13 done refactor Robogonzi.cpp into engine 1.0.00.001 08/19/13 09/14/13 done make settings persistent 1.0.00.005 08/31/13 09/14/13 done handle multiple MIDI ports 1.0.00.016 09/14/13 09/16/13 done property page scroll bars 1.0.00.016 09/12/13 09/17/13 done open/save patch file 1.0.00.020 09/12/13 09/17/13 done stop engine during song read 1.0.00.020 09/18/13 09/19/13 done dynamically generate spin controls 1.0.00.024 09/18/13 09/19/13 done show voicing names in start case 1.0.00.025 09/12/13 10/03/13 done insert/delete part 1.0.00.039 09/12/13 10/03/13 done part properties 1.0.00.039 09/12/13 10/03/13 done parts list 1.0.00.039 09/18/13 10/03/13 done clipboard; part cut/copy/paste 1.0.00.039 09/18/13 10/03/13 done rename parts 1.0.00.039 09/18/13 10/03/13 done next/previous pane via F6/Shift+F6 1.0.00.040 09/18/13 10/03/13 done part list context menu 1.0.00.040 09/20/13 10/03/13 done persistence of selected page in properties and parts bars 1.0.00.040 09/19/13 10/04/13 done drag reorder parts 1.0.00.042 09/19/13 10/04/13 done enable parts via parts list checkbox 1.0.00.043 09/23/13 10/04/13 done previous comp state must be stored per part; engine needs a part state array 1.0.00.043 09/18/13 10/05/13 done part patch number, volume 1.0.00.044 09/20/13 10/05/13 done only open devices actually in use, to avoid needlessly slowing engine run/stop 1.0.00.044 09/20/13 10/05/13 done handle device change message 1.0.00.044 10/06/13 10/06/13 done midiOutReset is too slow; silence mapped notes instead 1.0.00.046 09/12/13 10/10/13 done undo 1.0.00.049 09/18/13 10/10/13 done patch doc modify flag; related to undo 1.0.00.049 10/10/13 10/10/13 done in .NET, SerializeElements not specialized for CPart; template<> is required 1.0.00.049 10/10/13 10/10/13 done 64-bit version; passes undo test 1.0.00.049 08/19/13 10/12/13 done GUI 1.0.00.050 09/18/13 10/12/13 done show chord chart in view and indicate current position; update on transpose 1.0.00.050 09/18/13 10/12/13 done start playing at specified chart position 1.0.00.050 10/12/13 10/12/13 done chart should use highlight color only when view has focus 1.0.00.050 10/11/13 10/13/13 done constrain PPQ to multiples of 24; use combo instead of edit 1.0.00.051 10/12/13 10/13/13 done options dialog for non-engine settings 1.0.00.051 09/17/13 10/14/13 done make song looping optional 1.0.00.051 09/18/13 10/14/13 done pause/resume/rewind 1.0.00.051 10/12/13 10/15/13 done song meter denominator 1.0.00.052 10/15/13 10/15/13 done chart font antialiasing 1.0.00.052 09/19/13 10/17/13 done duration control 1.0.00.053 09/19/13 10/17/13 done per-part harmonic anticipation 1.0.00.053 08/31/13 10/18/13 done arpeggiated comp 1.0.00.054 10/14/13 10/18/13 done in comp, add setting to control alternation behavior: A only, B only, A to B, B to A 1.0.00.054 10/14/13 10/18/13 done in comp, add checkbox for chord change resets alternation 1.0.00.054 10/18/13 10/18/13 done arpeggiation order: default, ascending, descending, random 1.0.00.054 10/18/13 10/18/13 done optionally repeat arpeggio while key held 1.0.00.054 09/18/13 10/19/13 done sustain pedal 1.0.00.054 09/18/13 10/19/13 done local off 1.0.00.054 09/18/13 10/19/13 done part velocity offset 1.0.00.054 10/18/13 10/19/13 done check for duplicate chord type names when loading dictionary 1.0.00.054 10/06/13 10/21/13 done layering; play multiple parts with one input instrument (port/channel) 1.0.00.055 10/19/13 10/21/13 done if two parts have same input port/channel, early out in OnNoteOff causes stuck notes 1.0.00.055 10/20/13 10/21/13 done if keyboard is split between two parts, sustain pedal only affects first one 1.0.00.055 10/19/13 10/22/13 done prevent system from sleeping while playing, via SetThreadExecutionState 1.0.00.056 10/26/13 10/26/13 done on PPQ change, compensate clock to maintain position 1.0.00.057 10/12/13 10/28/13 done show song meter, key, and position in status bar 1.0.00.057 09/18/13 11/09/13 done device bar 1.0.00.059 10/21/13 11/09/13 done store device identifiers in patch; report missing devices and update ports if devices move 1.0.00.059 11/12/13 11/14/13 done algorithm combo doesn't generate undo notification 1.0.00.059 11/10/13 11/15/13 done enforce bass lowest note by raising output note up an octave if needed 1.0.00.059 11/16/13 11/16/13 done in chart, repeated measure of multiple chords shows duplicate repeat symbols 1.0.00.059 11/16/13 11/17/13 done bass octave is incorrect if lowest note is in range [Gb..B] 1.0.00.060 10/18/13 11/18/13 done in chord dictionary, support null chord name, to allow major triad 1.0.00.061 11/16/13 11/18/13 done in song file, missing durations cause song truncation instead of error 1.0.00.061 11/17/13 11/18/13 done use Tokenize for symbol parsing 1.0.00.061 11/17/13 11/18/13 done include line number in song error messages 1.0.00.061 09/18/13 11/21/13 done assign any MIDI controller to any target parameter 1.0.00.062 09/18/13 11/21/13 done allow multiple targets per MIDI controller 1.0.00.062 09/20/13 11/21/13 done persistence of parts list column widths and parts bar splitter position 1.0.00.063 11/20/13 11/21/13 done optionally chase MIDI target events 1.0.00.063 11/21/13 11/21/13 done list MIDI assignments; sortable report 1.0.00.063 09/18/13 11/22/13 done edit song 1.0.00.063 10/06/13 11/22/13 done canceling part name edit via escape key doesn't work; fix in CDragVirtualListCtrl 1.0.00.063 11/17/13 11/24/13 done navigation via editing keys in chart view 1.0.00.064 11/24/13 11/24/13 done next/prev pane must skip hidden windows 1.0.00.064 10/12/13 11/25/13 done auto-scroll chart while playing to keep current position visible 1.0.00.064 11/25/13 11/25/13 done app maximize corrupts main frame normal size; aux doc must no-op InitialUpdateFrame 1.0.00.064 11/25/13 11/26/13 done updating status bar song position flickers in Common Controls 6.0; use double-buffering 1.0.00.065 11/25/13 11/26/13 done threads dialog showing dynamic list of process threads including priority and CPU usage 1.0.00.065 10/15/13 11/27/13 done in chart, unevenly split measures cause improper spacing 1.0.00.065 10/24/13 11/27/13 done Shift shortcuts don't work if edit control has focus 1.0.00.065 11/27/13 11/28/13 done edited song is corrupted during reloading 1.0.00.065 11/27/13 11/28/13 done make threads dialog modeless 1.0.00.065 11/27/13 11/28/13 done in chart, don't draw unused measures on last line 1.0.00.065 10/20/13 11/30/13 done select quantized arpeggio periods via MIDI 1.0.00.066 11/27/13 11/30/13 done auto comp should support arpeggiation, variation, etc. 1.0.00.066 11/30/13 11/30/13 done refactor auto play to be a part page 1.0.00.066 12/01/13 12/01/13 done if comp/lead split, auto comp gets cut off by lead note offs; block channel mode messages 1.0.00.066 12/01/13 12/01/13 done MIDI assignment list causes crash due to incorrect device names 1.0.00.066 09/18/13 12/02/13 done held note correction should be configurable per part 1.0.00.066 10/19/13 12/02/13 done panic button; empty note map, reset all notes 1.0.00.066 10/27/13 12/02/13 done if song is empty, set default harmony so engine can still run 1.0.00.066 11/22/13 12/02/13 done undo song edit 1.0.00.066 12/01/13 12/02/13 done arpeggiation should work even when song isn't playing; timer thread always runs 1.0.00.067 12/03/13 12/04/13 done stop sometimes rewinds to 1:00:001 instead of 1:00:000; Play must cycle timer thread 1.0.00.068 12/03/13 12/04/13 done arpeggiated auto-comp sticks if fixing held notes and engine restarts during anticipation 1.0.00.068 12/03/13 12/04/13 done tempo is broken; changing it has no effect 1.0.00.068 10/27/13 12/06/13 done display MIDI input events 1.0.00.069 09/18/13 12/08/13 done learn MIDI assignments 1.0.00.069 08/31/13 12/15/13 done triads; chord info only allows tetrachords 1.0.00.069 10/18/13 12/15/13 done comp chord voicings must support variable number of notes to allow triads 1.0.00.069 12/09/13 12/15/13 done MIDI input dialog needs filters 1.0.00.069 10/15/13 12/16/13 done print chart 1.0.00.070 12/15/13 12/16/13 done MIDI input dialog should be modeless 1.0.00.070 12/16/13 12/21/13 done printed chart should have appropriately scaled font and reasonable margins 1.0.00.070 12/21/13 12/22/13 done multi-page printed chart 1.0.00.070 10/27/13 12/23/13 done tempo multiplier, ranging from half time to double time 1.0.00.070 11/20/13 12/23/13 done alternate arpeggio style that toggles between ascending and descending 1.0.00.070 12/23/13 12/23/13 done allow metronome accent to output a different MIDI note 1.0.00.070 12/24/13 12/24/13 done harmonizer option to omit melody, allowing harmony via different instrument 1.0.00.070 09/19/13 01/07/14 done harmonizer option for static harmony within specified interval range 1.0.00.071 01/07/14 01/18/14 done in MIDI row, use ellipses style for caption; add SS_ENDELLIPSIS to static style in .rc 1.0.00.072 01/17/14 01/18/14 done metronome accent occurs every other measure in 8/8 1.0.00.072 09/18/13 01/30/14 done bass approach mode; shift scale so C is root of subsequent chord 1.0.00.072 12/09/13 01/30/14 done handle pitch bend, patch change, channel aftertouch 1.0.00.072 01/26/14 01/30/14 done chord format must allow bass note, and esp. triad with bass note 1.0.00.072 01/30/14 01/30/14 done harmonizer should work for bass 1.0.00.072 01/30/14 02/03/14 done allow slash chord bass note to be outside of chord scale 1.0.00.073 02/08/14 02/08/14 done transport commands via MIDI 1.0.00.074 02/10/14 02/10/14 done positive transpose causes spurious slash chords in chart 1.0.00.074 10/27/13 02/19/14 done optionally specify tempo and/or key in song file 1.0.00.075 02/19/14 02/21/14 done status bar should show actual tempo (with multiplier applied) 1.0.00.076 10/12/13 03/09/14 done record output to a MIDI file 1.0.00.077 03/06/14 03/13/14 done display MIDI events should be a dockable bar 1.0.00.078 03/13/14 03/13/14 done in MIDI event dialog, horizontal scrolling doesn't update header 1.0.00.078 03/15/14 03/15/14 done in MIDI file export, sort tracks by port and channel 1.0.00.079 03/09/14 03/16/14 done save recording to binary file that preserves original timestamps 1.0.00.079 12/15/13 03/20/14 done display MIDI output events 1.0.00.080 03/20/14 03/20/14 done docked bars should show captions 1.0.00.080 03/21/14 03/21/14 done splash screen 1.0.00.081 03/21/14 03/26/14 done record options 1.0.00.082 01/30/14 04/04/14 done trigger bass approach via MIDI 1.0.00.083 04/05/14 04/05/14 done wheel affects targets it wasn't assigned to; UpdateMidiTarget must check event type 1.0.00.084 04/01/14 04/08/14 done in MIDI event filters, device and port should stay in sync 1.0.00.085 04/05/14 04/08/14 done during MIDI learn, highlight selected target 1.0.00.085 04/05/14 04/08/14 done during MIDI learn, left-clicking on target name should select row 1.0.00.085 04/12/14 04/12/14 done make installer and portable version 1.0.00.086 09/18/13 04/13/14 done advance to next section on command or control change 1.0.00.086 09/18/13 04/13/14 done song sections w/ repeat 1.0.00.086 04/12/14 04/13/14 done show device name on part input and output pages 1.0.01.000 04/12/14 04/13/14 done patch INI file must be in app data folder, else users need admin privileges 1.0.01.000 04/12/14 04/13/14 done make check for updates optional 1.0.01.000 04/13/14 04/13/14 done status bar record indicator should be red 1.0.01.000 04/13/14 04/13/14 done Ctrl+L should be MIDI Learn 1.0.01.000 04/13/14 04/14/14 done allow comments in song 1.0.01.000 04/13/14 04/15/14 done section repeat causes bass approach to get stuck; need a monotonically increasing clock 1.0.02.000 04/13/14 04/15/14 done allow song sections be named 1.0.02.000 04/13/14 04/16/14 done harmonic anticipation and bass approach cause wrong notes near end of repeating section 1.0.02.000 04/15/14 04/16/14 done after editing song while playing, if first chord is invalid, app crashes 1.0.02.000 04/15/14 04/17/14 done next section button; should stay pressed during last pass through section 1.0.02.000 04/15/14 04/17/14 done chart should indicate sections 1.0.02.000 03/13/14 04/22/14 done clear MIDI event history via context menu 1.0.02.001 04/15/14 04/22/14 done virtual piano; play notes via mouse or computer's keyboard 1.0.02.001 04/19/14 04/22/14 done on showing MIDI assignments dialog, items aren't correctly sorted 1.0.02.001 04/05/14 04/23/14 done MIDI learn should accept placing cursor on target name 1.0.02.001 04/12/14 04/23/14 done advance to next chord via MIDI while stopped, allowing rubato 1.0.02.001 04/14/14 04/23/14 done tooltips for patch and part controls 1.0.02.001 04/23/14 04/23/14 done set song position via MIDI 1.0.02.001 04/21/14 04/25/14 done show note mapping(s) in piano dialog 1.0.02.001 04/26/14 04/26/14 done input transposition can cause out of range notes, crashing app 1.0.02.001 04/26/14 04/26/14 done output notes shown on piano not accounting for input transposition 1.0.02.001 04/26/14 04/26/14 done commands for rewind, next section, next/prev chord, all need triggers to avoid bounce 1.0.02.001 04/26/14 04/27/14 done piano dialog should show notes played on external instrument 1.0.02.001 10/27/13 04/28/14 done device bar should indicate which devices are open 1.0.03.000 04/26/14 04/28/14 done always do lead-in if specified, regardless of song position 1.0.03.000 04/28/14 04/28/14 done with repeat off, app doesn't stop at end of song; introduced during section refactor 1.0.03.000 04/28/14 04/28/14 done change song file extension from .txt to .ces to avoid conflicts 1.0.03.000 04/29/14 04/29/14 done MIDI note mappings dialog 1.0.03.000 04/29/14 04/29/14 done add data folder path to options dialog 1.0.03.000 04/29/14 04/29/14 done optionally show chord tones on piano keys 1.0.03.000 04/30/14 04/30/14 done dragging patch file from Explorer fails; passing patch file via command line also fails 1.0.04.000 04/30/14 04/30/14 done installer should register patch file type 1.0.04.000 12/02/13 05/02/14 done can't undo song edits after opening patch; song and patch need separate undo histories 1.0.04.000 05/02/14 05/04/14 done disallow zero tempo 1.0.04.000 05/03/14 05/05/14 done show scale tones on piano keys 1.0.04.000 04/14/14 05/14/14 done chart view should allow editing 1.0.04.000 05/12/14 05/15/14 done replace bass chromatic checkbox with non-diatonic notes combo 1.0.05.000 05/16/14 05/16/14 done dragging all chords out of a section fails 1.0.05.000 05/16/14 05/16/14 done patch document has incorrect icon 1.0.05.000 05/02/14 05/18/14 done output notes bar 1.0.05.000 05/12/14 05/19/14 done continuous controller for input note 1.0.05.000 03/21/14 05/23/14 done event dialog should optionally show controller names 1.0.06.000 05/23/14 05/23/14 done Shift+F10 doesn't show context menu in some sizing bars 1.0.06.000 05/23/14 05/23/14 done MIDI input/output event dialogs don't update device names on device change 1.0.06.000 05/23/14 05/23/14 done input note controller doesn't work if its device and/or channel differs from part's 1.0.06.000 04/26/14 05/24/14 done changing song position manually (via next chord and similar) should fix held notes 1.0.06.000 04/26/14 05/25/14 done make auto-rewind optional 1.0.06.000 05/22/14 05/25/14 done add controller target for input note velocity 1.0.06.000 05/02/14 05/26/14 done chart editing removes comments from song file 1.0.06.000 05/02/14 05/26/14 done song properties should allow editing of comments 1.0.06.000 04/12/14 05/27/14 done record while stopped 1.0.06.000 05/28/14 05/30/14 done auto-record uses incorrect title; must store title when auto-record starts 1.0.06.000 05/23/14 05/31/14 done player for MIDI recordings; must handle multiple output devices 1.0.06.000 06/02/14 06/02/14 done undocking control bar crashes app if song is empty; negative chord index in SetCurChord 1.0.06.001 06/08/14 06/02/14 done setting bass approach target crashes app if song is empty 1.0.07.000 06/04/14 06/04/14 done double-clicking patch file in explorer starts app but doesn't load patch 1.0.07.000 06/05/14 06/10/14 done MIDI learn should work for part's input port/channel 1.0.07.000 06/07/14 06/10/14 done MIDI learn directly from page control(s) associated with target parameter 1.0.07.000 06/10/14 06/10/14 done in chart view, renaming repeated measure or multi-chord selection should insert chord 1.0.07.000 06/11/14 06/12/14 done don't merge duplicate chords if they're in different sections 1.0.07.000 06/11/14 06/12/14 done record player's list control should disable drag 1.0.07.000 06/11/14 06/12/14 done refactor MIDI target dialog to use grid control instead of row view 1.0.07.000 06/10/14 06/13/14 done MIDI learn via page control should select corresponding row in MIDI target dialog 1.0.07.000 06/10/14 06/14/14 done MIDI target dialog should show controller value 1.0.07.000 06/01/14 06/15/14 done list control tool tips are incorrectly positioned 1.0.07.000 06/17/14 06/20/14 done chord dictionary should support aliases 1.0.08.000 06/17/14 06/20/14 done IDC_PART_MIDI_ROW is unused 1.0.08.000 06/27/14 06/28/14 done local off isn't sent until a song is loaded; must update patches after initially starting engine 1.0.08.000 06/17/14 07/01/14 done add support for Impro-Visor lead sheet files 1.0.08.000 07/06/14 07/07/14 done showing events dialog resets device/port filter 1.0.08.000 07/06/14 07/07/14 done add reset filters command to events dialog 1.0.08.000 07/08/14 07/08/14 done folder dialogs should set initial directory 1.0.08.000 07/08/14 07/08/14 done status bar initially doesn't display current position after song is opened 1.0.08.000 07/09/14 07/09/14 done show device names in output notes bar's port popup menu 1.0.08.000 07/22/14 07/23/14 done add go to command; jump to specified song position 1.0.08.000 07/22/14 07/23/14 done in section properties dialog, allow editing of start and length 1.0.08.000 08/03/14 08/04/14 done chart view not updated after loading patch that changes global tranposition 1.0.08.000 08/07/14 08/07/14 done add bass approach trigger button 1.0.08.000 08/12/14 08/12/14 done pasting part leaks memory; LoadFromBuffer must detach CMemFile from buffer and delete buffer 1.0.08.000 08/12/14 08/12/14 done only enable parts list editing if list has focus 1.0.08.000 04/13/14 08/26/14 done context-sensitive help 1.0.08.000 09/07/14 09/17/14 done use default memberwise copy where possible 1.0.09.000 09/17/14 09/18/14 done transpose selected chords 1.0.09.001 09/17/14 09/18/14 done change length of selected chords 1.0.09.001 05/14/14 09/20/14 done changing time signature should update chord durations 1.0.09.001 09/17/14 09/20/14 done time signature pane in status bar is too narrow 1.0.09.001 08/29/14 09/24/14 done find and replace in editor dialog; CEditView is a mess, roll your own 1.0.09.001 11/12/13 09/25/14 done in Vista/7/8, MIDI input callback thread has normal priority, increasing latency; boost priority 1.0.09.001 09/26/14 09/26/14 done threads dialog shows stale data; list only updates on thread count change 1.0.09.001 09/30/14 09/30/14 done bass trigger button isn't highlighted in learn mode; button must specify notify style 1.0.09.001 09/18/13 10/07/14 done sync to external MIDI clocks 1.0.09.002 09/18/13 10/07/14 done output MIDI clocks 1.0.09.002 10/01/14 10/07/14 done metronome page should show output device 1.0.09.002 10/11/14 10/13/14 done mapping function that outputs scale notes in cycle of thirds order 1.0.09.002 07/14/14 11/11/14 done prompt when assigning MIDI controller that's already assigned to other targets 1.0.10.000 07/14/14 11/11/14 done MIDI assignments dialog should indicate shared controllers 1.0.10.000 11/02/14 11/15/14 done custom output piano sizes 1.0.10.000 11/11/14 11/17/14 done if grid control isn't already editing, pressing tab should edit first field on current row 1.0.10.000 12/14/14 12/15/14 done record player seek fails for positions above ~11 minutes due to 32-bit integer wraparound 1.0.10.000 12/22/14 12/22/14 done if help window and piano dialog are visible and piano dialog has focus, exiting app causes crash 1.0.10.000 11/02/14 12/23/14 done exposed enumerations cause backwards compatability issues; add range checks as needed 1.0.10.000 11/11/14 12/23/14 done pressing tab in parts list causes list to lose focus 1.0.10.000 12/17/14 12/23/14 done in record player slider, left/right arrows change position by a millisecond, too little to be useful 1.0.10.000 01/11/15 01/11/15 done tempo shown in status bar isn’t scaled by tempo multiple anymore, as of 1.0.09 1.0.10.000 02/14/15 03/05/15 done if arpeggio ends prematurely, all of its notes are turned off even if they weren't actually on 1.0.11.000 09/18/13 03/08/15 done dynamic looping AKA tags: tag length, tag repeat count, and start tag. 1.0.11.000 03/15/15 03/15/15 done any part edit followed by deselecting all parts and then undoing causes crash 1.0.11.000 03/16/15 03/16/15 done ending a part MIDI target edit by selecting a different part applies the edit to the wrong part 1.0.11.000 12/21/14 03/20/15 done arpeggios that span chord changes can produce wrong notes; optionally prevent this (adaptive) 1.0.11.000 04/13/14 03/21/15 done tap tempo; set tempo via tapping 1.0.11.000 03/21/15 03/21/15 done Ctrl+Enter and Ctrl+Backspace shortcuts don't work if an edit control has focus 1.0.11.000 03/23/15 03/23/15 done MIDI chase should show target page even if target parameter didn't change 1.0.11.000 03/23/15 03/23/15 done MIDI assignments dialog should show current value of each controller 1.0.11.000 03/24/15 03/24/15 done MIDI target dialog's column widths don't persist; introduced in 1.0.07 1.0.11.000 01/01/15 04/01/15 done optionally fix duplicate notes in recording's output MIDI file, by deferring note offs 1.0.11.000 04/01/15 04/01/15 done Alt+A mnemonic doesn't work correctly in property pages; caused by hidden Apply button 1.0.11.000 09/12/13 04/05/15 done if dictionary loaded after song, reread song 1.0.11.000 02/03/14 04/05/15 done edit chord dictionary; custom editing dialog 1.0.11.000 04/08/15 04/08/15 done allow comp chord sizes other than triads and tetrachords 1.0.11.000 05/29/15 06/08/15 done disabling always record option after playing with no song open causes unamed file error 1.0.12.000 06/02/15 06/08/15 done in SetChord, replace MakeHarmony (for all chords) with GetHarmony for specified chord 1.0.12.000 06/10/15 06/10/15 done deleting all chord types from chord dictionary can cause access violation 1.0.12.000 06/11/15 06/11/15 done missing MIDI targets for Bass/Lowest Note, Comp/Chord Resets Alternation 1.0.12.000 06/11/15 06/11/15 done tap tempo button fails to show MIDI learn; change button's extended style to notify parent window 1.0.12.000 06/11/15 06/11/15 done chart view should support navigation via Tab and Shift+Tab 1.0.12.000 09/01/14 06/12/15 done change current chord type and root dynamically via MIDI while stopped 1.0.12.000 06/02/15 06/12/15 done add chord bar, with combos and MIDI targets for current chord's root, type, bass, scale and mode 1.0.12.000 06/10/15 06/15/15 done editing chord dictionary silently reverts all song edits, without updating chart view 1.0.12.000 06/11/15 06/15/15 done after reordering chord dictionary, undoing song edit scrambles song's chord types 1.0.12.000 06/11/15 06/15/15 done after reordering chord dictionary, song chord(s) on clipboard are invalid and pasting them may crash 1.0.12.000 06/11/15 06/15/15 done in chord dictionary dialog, changes should take effect immediately; remove apply button 1.0.12.000 06/02/15 06/17/15 done show and edit properties of multiple MIDI assignments at once; same for note mappings 1.0.12.000 10/15/13 06/18/15 done print preview horizontally squashes each chord symbol; worsens as font size increases 1.0.12.000 10/15/13 06/18/15 done chart's grid lines are too narrow to be visible in printed output; scale line width with font 1.0.12.000 06/18/15 06/19/15 done when printing chart, horizontally center it on page 1.0.12.000 06/14/15 06/27/15 done chord substitution; switch between compatible chord dictionaries 1.0.12.000 06/27/15 07/01/15 done on Win7 laptop, chord bar drop lists clip text due to larger font 1.0.12.000 07/05/15 07/11/15 done next/previous chord commands should respect sections and support tagging 1.0.12.000 07/24/15 07/24/15 done pressing Alt key steals focus from child dialogs 1.0.12.000 07/24/15 07/24/15 done dockbar controls retain focus after bar is hidden 1.0.12.000 08/10/15 08/11/15 done access note mapping properties dialog from parts list's context menu or Alt+Enter shortcut 1.0.13.000 08/10/15 08/11/15 done add part enable to note mapping properties dialog 1.0.13.000 08/10/15 08/11/15 done note mapping properties dialog shows port incorrectly if selected parts differ in terms of port 1.0.13.000 06/10/14 08/21/15 done add grouping of harmony parts to prevent static harmony collisions 1.0.13.000 08/24/15 08/23/15 done previous pane (Shift+F6) gets stuck on chord bar 1.0.13.000 08/21/15 08/25/15 done optionally color keys to show note velocities in piano dialog and output notes bar 1.0.13.000 08/21/15 08/25/15 done optionally show numeric input note velocities on piano dialog's key labels 1.0.13.000 08/23/15 08/26/15 done optionally send bank change in addition to sending patch change 1.0.13.000 04/26/14 08/28/15 done showing piano dialog via main menu mnemonic resets note with P shortcut, if any 1.0.13.000 05/18/14 08/28/15 done piano dialog inconsistently shows auto play notes 1.0.13.000 06/26/15 08/28/15 done optionally color piano dialog keys to show chord tones and tensions; also in cycle of thirds order 1.0.13.000 08/28/15 08/28/15 done in piano dialog, selecting context menu item via mnemonic resets note with corresponding shortcut 1.0.13.000 08/28/15 08/28/15 done showing piano dialog highlights all active notes regardless of whether port and channel match 1.0.13.000 08/30/15 08/30/15 done incorrect key count bounds test in Output Notes bar's AddEvent 1.0.13.000 09/19/13 08/31/15 done optionally constrain harmonizer to nearest chord tone 1.0.13.000 11/26/15 12/17/15 done harmony chord constraint behaves unexpectedly with octaves 1.0.13.000 12/19/15 12/19/15 done static harmony can cross melody; make crossing optional 1.0.13.000 12/21/15 12/23/15 done MIDI devices aren't found if they're present but swapped (plugged into different ports) 1.0.13.000 12/21/15 12/23/15 done MIDI devices with multiple input or output ports are incorrectly mapped when patch is reloaded 1.0.13.000 12/21/15 12/23/15 done missing MIDI devices dialog should specify which devices are missing and allow retries 1.0.13.000 12/19/15 01/03/16 done fix held notes should handle harmony group specially to avoid dropping voices 1.0.13.000 12/21/15 01/17/16 done adaptive arpeggios should support repeat 1.0.13.000 01/17/16 01/17/16 done transpose input note before passing to GetCompChord; eliminates need for bogus octave shift 1.0.13.000 01/19/16 01/19/16 done after copying chords to clipboard, restarting app, and pasting into new song, playback is too fast 1.0.13.000 02/29/16 03/01/16 done in output notes bar, add key label options for intervals and scale tones 1.0.13.000 02/29/16 03/01/16 done output notes bar's rotate labels setting is forced on during startup, regardless of persistent value 1.0.13.000 03/01/16 03/02/16 done UI elements lag behind chord changes due to timer-driven updating; add chord change notification 1.0.13.000 10/05/13 03/20/16 done add mapping function for numbers system 1.0.14.000 08/21/15 03/20/16 done give harmonizer its own page 1.0.14.000 03/26/16 03/26/16 done if CreateEngine displays message box, chord bar's drop lists are blank 1.0.14.000 02/06/16 02/06/17 done chord bar's root and bass drop lists behave erratically if song is transposed 1.0.14.000 02/06/16 02/07/17 done chord editing doesn't account for song transposition; untransposed root and bass notes are shown 1.0.14.000 02/06/17 02/08/17 done chord bar's bass drop list fails to update when bass note is changed via view or MIDI controller 1.0.14.000 02/06/17 02/08/17 done show key-appropriate accidentals in chord bar, view context menus, and insert chord dialog 1.0.14.000 02/08/17 02/09/17 done changing chord bar target via MIDI needlessly updates patch bar 1.0.14.000 02/08/17 02/10/17 done changing scale or mode via MIDI doesn't update chord dictionary dialog 1.0.14.000 02/10/17 02/11/17 done sorting chord dictionary doesn't preserve selection correctly 1.0.14.000 08/19/13 hold MIDI output stream interface with queues, tempo and adjustable latency 08/29/13 hold optionally don't auto-correct black keys; why? 09/18/13 hold improve auto comp and auto bass; band-in-a-box stuff 09/18/13 hold drum patterns 09/19/13 hold drag reorder parts without cycling engine; good luck with that 09/19/13 hold harmonic pitch bend for intervals and/or harmonized notes; requires multiple channels 09/19/13 hold harmonizer ideas: random, delayed by N notes, static with delay, alternate intervals 09/19/13 hold harmonic pitch bend; normalize pitch bend range to one or more scale degrees 10/06/13 hold mouse wheel doesn't work in part function combo box 10/11/13 hold time signature changes 10/15/13 hold rhythmic anticipation and swing 10/18/13 hold in comp, black keys could shift from chord tones to tensions; not sure about this 10/18/13 hold secondary chord variant should be optional in dictionary 10/18/13 hold arpeggio timing should be absolute instead of relative to input note's time; partly solved by auto 10/27/13 hold device bar should show reference counts 12/01/13 hold on port/channel change, remove previous port/channel from note map to avoid stuck notes 12/09/13 hold disabling part doesn't stop repeating auto-arp until next chord change; bug or feature? 01/07/14 hold in row view, header double-click for static column should fit column to text; fussy 01/18/14 hold fractional durations in song format; incompatible with beat map? 01/30/14 hold optionally disable bass octaving, so that output notes are out of order but jump less 02/08/14 hold swap ports; what is this? 03/13/14 hold in MIDI event dialog, if list has many events, filter resizing lags behind list header resizing 03/21/14 hold with common controls 6.0, combos ignore drop height w/o no integral height style; CB_SETMINVISIBLE 03/21/14 hold event dialog filters should allow conditionals; fancy 04/07/14 hold for dialog-based panes, switching panes via F6 resets focus to first control 04/13/14 hold author tag in song; tag value can't contain spaces 04/22/14 hold add modulation and pitch sliders to piano dialog; problems with MIDI mapping if no target device 05/02/14 hold pentatonic mode (play on black keys)? 05/02/14 hold editing song should focus chart view? 05/14/14 hold chart view's drag reorder feedback is confusing when dragging forward 05/15/14 hold extreme part transpose and/or harmonizer settings can output invalid MIDI notes 05/26/14 hold MIDI targets should support toggle and momentary methods for non-configurable controllers 06/10/14 hold resizing status bar shows artifacts if bar is too short; due to compositing? 07/14/14 hold make MIDI controller sharing optional? 07/29/14 hold triad voicings: drop 2, drop 3, drop 2 3 08/01/14 hold option for black keys to all generate non-duplicate notes, so all twelve notes are available 08/01/14 hold learn zone high and zone low and other note settings from note input 09/02/14 hold handle power broadcast message and restart engine on resume? Is it necessary? 09/07/14 hold programmable song generator, random or otherwise EMF 09/07/14 hold parameter tweening and/or parameter automation EMF 09/07/14 hold stagger harmony voices, similar to arpeggiation EMF 09/07/14 hold assign note to MIDI target(s); should handle toggles as well as triggers EMF 10/11/14 hold switch between compatible patches without restarting engine, in response to patch change message 12/17/14 hold in record player, takes are hard to find in long recordings; add next/prev take buttons? 12/19/14 hold cycle of thirds non-diatonic rule only produces thirds if input transposition is zero or multiple of 12 01/03/15 hold dynamically change arpeggio length; similar to repeat but limited to a specified number of notes 05/15/15 hold permutations of note groups; alternate with vocabulary 06/11/15 hold in chart view, undoing single chord edit doesn't restore position; might be a feature 06/16/15 hold in chart view, Alt+Enter should open file properties dialog; not sure 06/17/15 hold parts bar pages should be able to show multiple selected parts; requires indeterminate state 08/30/15 hold optionally show dots on pressed piano keys 11/19/15 hold in harmony group, specify interval between each voice rather than interval relative to melody 12/19/15 hold in harmony group, optionally ignore collisions or resolve them by dropping notes 03/13/16 hold meter changes during song, both spontaneous and prearranged via sections 08/31/13 punt running status; driver-dependent, M-Audio 24/96 does it for closely-spaced messages, but Uno not 09/18/13 punt indicate MIDI input activity; MIDI input/output bars and piano views make this redundant 09/20/13 punt include in/out port/chan in note map, so OnNoteOff doesn't depend on part array; no need 10/19/13 punt intelligent dynamic split that detects hand positions and computes safe split point; hard problem 01/30/14 punt part output transpose; confusing, and easily doable with most MIDI instruments so no need 03/17/14 punt if MIDI event list is empty, resizing docked bar makes header flicker badly in Win7 03/20/14 punt event dialog flickers if events are added quickly; due to scrolling to end of list? double buffer? 03/21/14 punt hiding and reshowing two bars that share a dock gives unexpected sizes; affects all apps 04/05/14 punt parts bar MIDI target row view initially doesn't show scroll bars until resized; can't reproduce it 07/09/14 punt chord type popup menu is inconveniently long; replace with popup drop list? (use chord bar instead) 11/11/14 punt if part MIDI target edit is ended by selecting different part in parts list, wrong part is updated 02/09/17 punt chord bar should indicate MIDI learn mode; changing selected item color requires owner-draw, ugh 08/31/13 todo vocabulary with user supplying rhythym 08/31/13 todo continuous vocabulary while key pressed 09/18/13 todo view showing map of keyboard and which are or will be good and/or common tones 09/18/13 todo endings 11/17/13 todo correct held notes at fraction of their original velocity, proportional to decay 11/29/13 todo auto play should respect harmonic anticipation 12/07/13 todo auto play hold; create static harmony via held note corrector 12/16/13 todo detect chromatic runs and substitute chromatic scale 02/08/14 todo playlist 04/12/14 todo user-defined scales, in addition to built-in ones 04/12/14 todo manually arpeggiated comp 04/13/14 todo in flat keys, B should be Cb, and in sharp keys, Db should be C# 04/13/14 todo scale shifts by a whole step when key changes from B to Gb or similar cases 04/13/14 todo MIDI setup wizard 04/28/14 todo time bar showing current song position (or elapsed time) in big font 06/01/14 todo hi-res icons 11/19/15 todo fixed bass approach should skip chords with durations less than approach length 01/19/16 todo editing song resets software synth to default patches 03/20/16 todo triggered bass approach doesn't handle sections 02/13/17 todo arpeggio output note velocities should optionally decay or have random variation