open close type description rev
04/21/05 04/30/05 done add lightness and saturation controls 1.0.21
04/21/05 04/30/05 done add printer support 1.0.21
04/21/05 04/30/05 done add variable background color 1.0.21
04/21/05 04/30/05 done changing frequency should not affect phase 1.0.21
04/21/05 05/05/05 done in crossfader, implement non-looped fade 1.0.22
04/21/05 05/05/05 done in crossfader, play must set osc phase from fader pos 1.0.22
04/21/05 05/05/05 done in crossfader, separate edit from view 1.0.22
04/21/05 05/07/05 done add bitmap export 1.0.23
05/05/05 05/09/05 done in crossfader, edit buttons should show params dialog 1.0.24
05/07/05 05/09/05 done paint after pause causes center hole; pause must undo last ring step 1.0.24
04/21/05 05/11/05 done use DirectDraw 1.0.25
05/11/05 05/11/05 done for printing, draw to memory DC and blit, else lines are too thin 1.0.26
05/11/05 05/11/05 done move GDI back buffer to its own object 1.0.26
05/10/05 05/12/05 done adapt for DirectX 7 1.0.26
04/21/05 05/16/05 done can't drag and drop shapshot files 1.0.27
04/21/05 05/16/05 done seed random number generator 1.0.27
05/10/05 05/16/05 done allow order of parms dlg rows and view params to differ 1.0.27
05/10/05 05/16/05 done switching from non-maximized to full screen and exiting breaks full screen on next run 1.0.27
05/13/05 05/16/05 done opening a new document doesn't update parms dialog's title 1.0.27
04/21/05 05/17/05 done add pulse width column to parms dialog 1.0.28
05/10/05 05/17/05 done parms dlg is too big, make it a scrollable view 1.0.28
05/15/05 05/18/05 done add command to generate random patches from crossfader inputs 1.0.29
05/15/05 05/18/05 done add command to randomize phase of LFOs 1.0.29
05/15/05 05/18/05 done add pinwheel parameter 1.0.29
04/21/05 05/19/05 done in parms dialog, tab at end of row should go to next row; shift+tab is reverse case 1.0.29
05/19/05 05/20/05 done add ring fill and outline 1.0.30
05/19/05 05/20/05 done zero window width or height crashes DirectDraw 1.0.30
05/21/05 05/22/05 done doc info shouldn't live in CrossDlg 1.0.31
05/21/05 05/25/05 done add splitter window for multiple views 1.0.32
05/22/05 05/26/05 done add set origin via context menu 1.0.33
05/26/05 05/26/05 done dropping a file in split mode must set active pane first 1.0.33
05/26/05 05/26/05 done fill mode and origin should be saved in document 1.0.33
05/27/05 05/28/05 done save as doesn't change parms dialog title 1.0.33
05/31/05 06/01/05 done if 2 panes, splitter isn't centered: switch rows and cols in centering line 1.0.34
05/31/05 06/01/05 done next/prev pane keys broken; in SetActivePane, if pWnd is NULL, must call GetPane 1.0.34
05/15/05 06/02/05 done add a playlist dialog that loads a list of patches and crossfades between them 1.0.34
05/26/05 06/02/05 done in playlist fade, modulators unused in source but active in dest should have random phase 1.0.34
05/30/05 06/02/05 done in split mode, need a way to center splitter, and set all pane origins to split point 1.0.34
05/30/05 06/02/05 done should be able to exit and reenter split mode without saving documents 1.0.34
05/31/05 06/02/05 done accidental cascading ring deletion is an essential feature; make it explicit 1.0.34
05/31/05 06/02/05 done in split mode, switching panes after editing a parameter can cause loss of edit 1.0.34
06/03/05 06/07/05 done add mirror mode; should work in both single and split frame 1.0.35
06/06/05 06/08/05 done add print support for mirror mode; can't stretch blit to printer DC, use DIB instead 1.0.35
06/06/05 06/08/05 done in split, drag all should move origins relative to their original positions 1.0.35
06/07/05 06/08/05 done add sync panes to split window menu, with check 1.0.35
05/30/05 06/09/05 done need a simple way to make split pane color schemes differ; add rotate hue 1.0.36
06/09/05 06/09/05 done add toolbar 1.0.36
06/09/05 06/10/05 done add list control and shortcut keys to playlist 1.0.37
06/09/05 06/10/05 done create dialogs in frame OnCreate 1.0.37
06/11/05 06/16/05 done add toolbar button for take snapshot 1.0.38
06/15/05 06/16/05 done add missing files dialog to playlist 1.0.38
06/06/05 06/20/05 done add x-ray fill mode, using XOR pen 1.0.39
06/19/05 06/20/05 done in non-outlined fill mode, draw directly to printer's DC 1.0.39
06/20/05 06/20/05 done DC brush color doesn't affect FillRect on some printers; erase with ExtTextOut, faster too 1.0.39
06/20/05 06/20/05 done mirror toolbar button and shortcut don't work while paused; SetMirror must invalidate 1.0.39
06/20/05 06/20/05 done snapshots must preserve mirror origin, else new window size drastically changes image 1.0.39
05/20/05 06/22/05 done add options dialog with DirectDraw checkbox, video vs system memory selector 1.0.40
06/06/05 06/22/05 done expose canvas size; options dialog 1.0.40
06/10/05 06/23/05 done add master speed dialog; rename parms MasterSpeed to RingGrowth 1.0.40
06/23/05 06/23/05 done add status bar 1.0.40
06/25/05 06/25/05 done disable timer while iconic 1.0.40
06/10/05 06/26/05 done toolbar buttons don't get updated when CPU is saturated; due to IsIdleMessage override 1.0.40
06/25/05 06/27/05 done add drag reordering to playlist; make it reusable 1.0.40
06/20/05 06/28/05 done origin, fill mode, mirror etc are saved in patch but not restored; make this optional 1.0.40
06/25/05 06/28/05 done add command line open for snapshot files 1.0.40
06/27/05 06/28/05 done export should allow a size to be specified instead of always using the window size 1.0.40
06/28/05 06/29/05 done add ranges for master speed 1.0.40
06/28/05 06/29/05 done mirroring to front buffer causes noticeable misalignment; add precise mirror option 1.0.41
06/20/05 07/01/05 done add snapshot preview, using enhanced file dialog 1.0.42
06/29/05 07/04/05 done add palette cycle limiting, aka hue looping or hue lock 1.0.42
07/04/05 07/04/05 done loading a snapshot should save view parms and pause; unpause should restore view 1.0.42
07/04/05 07/06/05 done add origin motion damping 1.0.43
07/06/05 07/06/05 done add hue wheel sensitivity and hue loop length 1.0.43
06/20/05 07/07/05 done load multiple snapshots, view using page up/down 1.0.43
06/20/05 07/07/05 done print multiple snapshots at once 1.0.43
07/01/05 07/07/05 done add shell open for playlist 1.0.43
07/02/05 07/07/05 done changing display settings causes unpainted view; recreate surface in OnDisplayChange 1.0.43
07/02/05 07/07/05 done lowering display resolution can cause invisible off-screen modeless dialogs 1.0.43
07/07/05 07/08/05 done add master zoom 1.0.44
06/20/05 07/09/05 done export multiple snapshots at once 1.0.44
06/20/05 07/09/05 done snapshot slide show 1.0.44
07/09/05 07/10/05 done back buffer location needs auto option: system memory if mirrored, else video memory 1.0.44
07/09/05 07/10/05 done export should have a stretch to fit option; adjusts zoom to match current cropping 1.0.44
07/11/05 07/11/05 done in multi-page print job, only first page prints; OnPrint must undo DC mapping changes 1.0.45
07/11/05 07/11/05 done in multi-page print job, some pages are corrupted; don't repaint screen during job 1.0.45
07/11/05 07/11/05 done in snapshot mode, closing print preview resets caption to doc title; use delayed restore 1.0.45
07/10/05 07/13/05 done add origin automation and damping 1.0.46
07/14/05 07/14/05 done add tap tempo 1.0.47
07/10/05 07/15/05 done derive parms dialog from row dialog with header control 1.0.48
07/12/05 07/15/05 done remove split frame; too much overhead and not so useful 1.0.48
07/14/05 07/16/05 done add timer thread for tempo clock 1.0.49
07/17/05 07/17/05 done add averaging for tap tempo 1.0.50
06/29/05 07/18/05 done need mouse deltas for controlling master speed, zoom, etc.; use DirectInput 1.0.51
07/17/05 07/18/05 done measure tempo taps from a higher-priority thread for improved accuracy 1.0.51
07/14/05 07/19/05 done add detach command; transplant view to an auxiliary frame to allow dual-monitor 1.0.51
07/19/05 07/20/05 done mouse wheel doesn't work when detached view has focus 1.0.51
07/20/05 07/21/05 done deactivating app must cancel input modes, else they get stuck 1.0.52
07/21/05 07/21/05 done playlist shortcut keys stopped working at Z after slide show; try using invisible style 1.0.52
07/21/05 07/21/05 done row dialog scroll bars don't show if window pos not set; CreateRows must reposition bars 1.0.52
07/21/05 07/21/05 done row dialog shows trashed header if window pos not set, view must override CalcWindowRect 1.0.52
07/04/05 07/22/05 done add per-ring line width parameter; optimize to reduce GDI overhead 1.0.53
07/20/05 07/23/05 done for master dlg, need a log slider that can be linked to a buddy edit control 1.0.54
07/10/05 07/24/05 done export in scale to fit mode should scale line width 1.0.54
07/10/05 07/24/05 done print should draw to device in line modes; don't use DC pen, it doesn't scale 1.0.54
07/24/05 07/26/05 done add print from bitmap option; trades resolution for color fidelity in XOR mode 1.0.55
07/01/05 07/27/05 done playlist file should contain playlist attributes and master settings 1.0.56
07/18/05 07/27/05 done in drag origin mode, dragging damping also moves origin 1.0.56
07/26/05 07/27/05 done damping becomes negative when slider is at 100 1.0.56
07/01/05 07/29/05 done playlist hot keys should be assignable 1.0.57
07/28/05 07/30/05 done tempo nudge must resync 1.0.58
07/29/05 07/30/05 done make playlist resizable 1.0.58
07/29/05 07/30/05 done options dialog should have a reset all button 1.0.58
07/29/05 07/30/05 done tempo nudge must be a percentage, else sensitivity varies with tempo 1.0.58
07/01/05 08/01/05 done add VJ performance mode that locks out all screen-based UI 1.0.59
07/12/05 08/01/05 done store demo path in registry 1.0.59
07/31/05 08/01/05 done tempo clock must run all the time to avoid sync loss 1.0.59
07/09/05 08/02/05 done in drag origin mode, zooming causes mirror origin shift 1.0.60
08/02/05 08/02/05 done add license text and URL to about box 1.0.60
08/02/05 08/02/05 done add state icons to playlist 1.0.60
07/28/05 08/03/05 done in random mode, unmodified mouse should should zoom 1.0.60
08/03/05 08/03/05 done use shift-wheel instead of right-drag for damping; three-thumb range, sens = .025 1.0.61
05/30/05 08/04/05 done negative master speed should make rings grow inward; reverse mode, backspace key 1.0.61
08/02/05 08/04/05 done add status bar indicators for drag and hue loop 1.0.61
08/03/05 08/04/05 done add invert command to image menu (shift+I) 1.0.61
08/03/05 08/04/05 done default patch should have same number of sides as icon: change icon to pentagon 1.0.61
08/03/05 08/04/05 done hotkeys should trigger patches while playlist has focus; reverse column order 1.0.61
08/03/05 08/04/05 done in playlist, pressing Shift-Tab in hotkey control assigns key to current selection, NG 1.0.61
08/03/05 08/04/05 done need tempo multiplier; powers of two only is fine, use up/down arrows 1.0.61
08/03/05 08/04/05 done playlist File/New not clearing modified flag 1.0.61
08/03/05 08/04/05 done playlist Insert should be called Import? Insert Patches is better 1.0.61
08/03/05 08/04/05 done playlist needs auto-assign command that assigns keys to list in QWERTY order 1.0.61
08/03/05 08/04/05 done playlist needs commands for select all (Ctrl+A) and clear hotkey (Backspace) 1.0.61
08/04/05 08/04/05 done shift+ctrl mouse should rotate hue 1.0.61
08/04/05 08/04/05 done when drag origin is damped, pressing shift or ctrl shouldn't stop origin motion 1.0.61
07/18/05 08/05/05 done Alt key causes modal state with loss of input focus; disable it in VJ mode 1.0.62
08/03/05 08/05/05 done can't drag patches onto playlist dialog 1.0.62
08/03/05 08/05/05 done DirInput must emulate windows mouse acceleration behavior 1.0.62
08/03/05 08/05/05 done onset of damping is too slow; increase log base from 10 to 20 1.0.62
08/03/05 08/05/05 done playlist item drag doesn't support vertical scrolling 1.0.62
08/04/05 08/05/05 done hue change via mouse is too sensitive; must account for different normalized range 1.0.62
08/04/05 08/05/05 done limit tempo multiplier to +/- three steps; reset position on tap? 1.0.62
08/04/05 08/05/05 done should be able to move origin off-screen; drag should be independent of windows cursor 1.0.62
08/05/05 08/05/05 done in drag mode, if window is resized to zero height, origin gets stuck; divide by zero 1.0.62
08/05/05 08/05/05 done in drag mode, origin shifts when entering full-screen or VJ mode 1.0.62
08/05/05 08/05/05 done in drag mode, pausing or unpausing causes origin shift 1.0.62
08/05/05 08/05/05 done playlist dialog should be able to open a selected patch for parameter editing 1.0.62
08/05/05 08/05/05 done replace files dialog hard-codes default extension and doesn't use string resources 1.0.62
08/05/05 08/05/05 done when entering VJ mode, if an origin motion isn't already set, it should default to drag 1.0.62
08/06/05 08/06/05 done exiting and reentering VJ mode allows windows keys to work; forgot to clear hook 1.0.63
08/06/05 08/06/05 done make hue loop right-click instead of middle-click 1.0.63
08/06/05 08/06/05 done mouse button hue loop doesn't work if origin motion is off 1.0.63
08/06/05 08/06/05 done opening a playlist should jump to patch that was current when playlist was saved 1.0.63
08/06/05 08/06/05 done remove hue wheel, dedicate wheel to damping 1.0.63
06/06/05 08/10/05 done draw mode change is too abrupt; make it a ring property, to allow gradual transitions 1.0.64
08/03/05 08/10/05 done add damping for zoom 1.0.64
08/09/05 08/11/05 done in reverse, fill doesn't always fill innermost ring; add ring list dialog to debug it 1.0.64
08/11/05 08/11/05 done use fast round in all cases 1.0.64
07/10/05 08/12/05 done MIDI control of view parameters: addition works fine 1.0.65
08/06/05 08/12/05 done remove color options page, move hue loop length to general page 1.0.65
08/08/05 08/12/05 done changing draw mode causes display glitch; view's SetDrawMode shouldn't invalidate 1.0.65
08/12/05 08/12/05 done add invert fill, invert outline, invert x-ray 1.0.65
08/03/05 08/13/05 done add MIDI setup dialog; derive from row dialog 1.0.65
08/03/05 08/13/05 done save MIDI setup in playlist 1.0.65
08/03/05 08/16/05 done assignment of MIDI to parameters should have a learn mode, e.g. Reason 1.0.66
08/15/05 08/16/05 done exporting snapshot with use window size unchecked crashes 1.0.66
08/15/05 08/16/05 done inserting items into playlist doesn't work first time and causes crash on exit 1.0.66
08/15/05 08/16/05 done loading snapshot while in full screen mode crashes 1.0.66
08/05/05 08/17/05 done it's too easy to choose full screen instead of VJ mode; make VJ Ctrl+F11 1.0.66
08/12/05 08/17/05 done function keys should do something in VJ mode: duplicate image commands 1.0.66
08/08/05 08/18/05 done playlist should support MIDI program change 1.0.67
08/17/05 08/18/05 done don't update bars while full screen; update them when full screen ends 1.0.67
08/17/05 08/18/05 done each track read costs nearly 1ms; in VJ mode, playlist should cache tracks 1.0.67
08/17/05 08/18/05 done mouse wheel triggers update UI; add it to OnIdle exclude 1.0.67
08/06/05 08/21/05 done ctrl+wheel should set crossfader time 1.0.68
08/19/05 08/21/05 done in playlist, Alt+F doesn't work if F was assigned to a patch, likewise for E 1.0.68
08/21/05 08/21/05 done add playlist popup to file menu 1.0.68
08/21/05 08/21/05 done in crossfader, clamp secs and position positive; in playlist, clamp secs positive 1.0.68
08/21/05 08/21/05 done in midi setup, zero controllers causes all values to display as -64 1.0.68
06/01/05 08/27/05 done at high speeds, rings clump together; move oscillators into view, add fractional ticks 1.0.69
08/03/05 08/27/05 done when crossfading, don't interpolate waveform; switch at midpoint instead 1.0.69
08/01/05 08/28/05 done add license to all source files 1.0.69
08/01/05 08/28/05 done crossfader's open buttons should prompt for save after open dialog, not before 1.0.69
08/27/05 08/28/05 done changing master speed causes glitching; suppressing interpolation helps somewhat 1.0.69
08/27/05 08/28/05 done suppress interpolation on non-crossfaded patch changes to avoid glitching 1.0.69
07/01/05 08/29/05 done if oscillator waveform is random, sweeping frequency fools phase test, causing glitches 1.0.69
08/01/05 08/29/05 done add hooks for HTML help 1.0.70
08/28/05 08/30/05 done add movie recorder that writes a series of snapshots from timer hook 1.0.71
08/28/05 08/30/05 done frame rate should be variable from 24 to 60, via Options/Display 1.0.70
08/28/05 08/31/05 done add movie export that converts a snapshot movie to an AVI file 1.0.71
08/28/05 08/31/05 done add movie player for viewing snapshot movies 1.0.71
08/29/05 08/31/05 done if slideshow dialog is outside main frame, it doesn't erase itself correctly 1.0.71
08/30/05 08/31/05 done movie player should allow seeking; snap movie needs a frame index 1.0.71
08/04/05 09/01/05 done laptop w/o mouse has no wheel; need alternate way to set damping and crossfade time 1.0.71
07/01/05 09/02/05 done GDI mirroring doesn't line up correctly; mirror to an intermediate buffer 1.0.71
09/01/05 09/02/05 done add movie to shell open types 1.0.71
09/01/05 09/02/05 done linking to AVI DLL causes mysterious crashes; move movie export to its own process 1.0.71
09/02/05 09/02/05 done if movie player or slide show is hidden and a button has focus, space can disable left-click 1.0.71
09/02/05 09/02/05 done shell open broke because m_pMainWnd is null during CMainFrame::OnCreate; set it to this 1.0.71
08/30/05 09/03/05 done add movie export options dialog; frame size, frame rate, crop/stretch 1.0.71
08/12/05 09/04/05 done MIDI control of non-view parameters, e.g. mirror, fill, crossfader, etc. 1.0.72
09/04/05 09/04/05 done playlist file/new doesn't set defaults for master, crossfader, MIDI setup, etc. 1.0.72
09/04/05 09/05/05 done move edit and view selections into frame 1.0.73
07/29/05 09/06/05 done add selection to parameters dialog for master offsets 1.0.73
09/05/05 09/06/05 done disabling windows keys doesn't work in XP; use low-level hook or DirectInput but not both 1.0.73
09/05/05 09/06/05 done playlist FadeTo doesn't update parms dialog 1.0.73
09/06/05 09/07/05 done app crashes creating parms dialog, in CalcWindowRect; verify dynamic downcast 1.0.73
09/07/05 09/07/05 done put movie export back in app 1.0.73
08/01/05 09/08/05 done more comments, esp. for member data 1.0.73
08/03/05 09/09/05 done VJ mode needs warning dialog, with don't show this again checkbox 1.0.74
09/08/05 09/09/05 done app needs welcome dialog, with view demo yes/no and don't show this again checkbox 1.0.74
09/08/05 09/09/05 done main menu's playlist submenu needs recent file list 1.0.74
09/08/05 09/09/05 done playlist dialog's file menu needs recent file list; kick idle not sent to modeless dialogs 1.0.74
09/09/05 09/10/05 done movie player should be able to save a snapshot 1.0.74
09/09/05 09/10/05 done panic should reset draw mode for all rings 1.0.74
09/11/05 09/11/05 done record shouldn't clear screen 1.0.74
09/09/05 09/12/05 done add MIDI controllers for effects: mirror, draw mode, etc. 1.0.75
09/12/05 09/12/05 done tab order is incorrect in parms and midi setup dialogs 1.0.75
06/01/05 09/15/05 done optional auto-generation of snapshot names 1.0.76
08/31/05 09/15/05 done annoying windows icon in resizeable dialogs (parms, playlist); use tool window style 1.0.76
09/11/05 09/15/05 done take snapshot and record movie should work in VJ mode: auto-assign filename 1.0.76
09/15/05 09/15/05 done fix playlist shortcuts 1.0.76
07/14/05 09/17/05 done add MIDI sync for tempo 1.0.76
09/17/05 09/20/05 done tab order is incorrect general options dialog 1.0.76
09/18/05 09/20/05 done in movie export, add output frame rate, output frame range, export bitmaps 1.0.76
09/20/05 09/20/05 done add MIDI controls for rotate hue 90 degrees, random phase, pause, clear screen 1.0.76
09/22/05 09/22/05 done in movie export, if uncompressed, check 2 GB limit 1.0.76
09/22/05 09/27/05 done in movie export, source size for scaling should be input frame size, not window size 1.0.77
09/22/05 09/27/05 done in movie play/export and snapshot mode, don't clamp origin, else mirroring may change 1.0.77
09/22/05 09/27/05 done loading snapshot or movie uses current zoom; zoom must be saved in snaphot 1.0.77
09/22/05 09/27/05 done need a way to correct an existing movie's frame size; add resize movie dialog 1.0.77
10/01/05 10/01/05 done in snapshot dtor, deleting view backup causes access to non-existent view 1.0.78
08/01/05 10/02/05 done should be able to change edit selection from within parms dialog; use system menu 1.0.78
09/11/05 10/02/05 done save current settings as a new patch, including master offsets 1.0.78
10/01/05 10/02/05 done can't edit mix in parms dialog; OnParamUpdate is clobbering changes 1.0.78
10/02/05 10/02/05 done opening a patch in crossfader dialog doesn't update parms dialog 1.0.78
10/02/05 10/02/05 done playlist dialog should have file option that imports MIDI setup from a playlist 1.0.78
10/01/05 10/04/05 done add MIDI note support; note on alternates between property's extremes 1.0.79
10/04/05 10/04/05 done add MIDI auto-assign dialog 1.0.79
10/01/05 10/05/05 done add MIDI pitch bend support 1.0.79
10/01/05 10/05/05 done add playlist MIDI mapping dialog: map patches to program changes or range of notes 1.0.79
10/06/05 10/05/05 done playlist MRU file list: Save As must be added, and failed Open must be removed 1.0.79
10/06/05 10/06/05 done make playlist MIDI line tab-delimited 1.0.80
10/06/05 10/07/05 done load the playlist's next patch into crossfader input A or B, without changing fader pos 1.0.80
10/07/05 10/07/05 done make random patch generation work in VJ mode 1.0.80
10/08/05 10/08/05 done alpha keys should not select patches while Shift is pressed 1.0.80
10/08/05 10/08/05 done when writing playlist, if patch is in same folder, store filename only (relative link) 1.0.80
10/10/05 10/12/05 done crossfader's filename controls should have drop-down lists of playlist patches 1.0.81
10/10/05 10/12/05 done if crossfader seconds is zero, pressing play causes thumb to get stuck in the center 1.0.81
09/09/05 10/13/05 done hue loop slips when color speed modulation and master speed are high 1.0.81
10/01/05 10/14/05 done image sometimes tears; must page-flip instead of blitting, implement exclusive mode 1.0.82
10/13/05 10/14/05 done app crashes if certain keys (e.g. page up) are entered in playlist dialog's hotkey control 1.0.82
10/13/05 10/14/05 done while playlist dialog has focus, Ctrl + non-accelerator alpha key switches patch 1.0.82
10/14/05 10/14/05 done if paused when entering VJ mode, don't set drag mode or origin gets trashed 1.0.82
10/14/05 10/14/05 done random patch deserves a function key; give it F12 1.0.82
10/14/05 10/14/05 done random patch glitches; flush view history 1.0.82
10/14/05 10/14/05 done switching to exclusive mode for less than 1.5 seconds causes spurious timer messages 1.0.82
08/03/05 10/17/05 done flash keyboard's scroll lock LED during movie recording; use overlapped I/O 1.0.83
09/11/05 10/17/05 done zoom via MIDI should be damped, except when paused 1.0.83
10/11/05 10/17/05 done mouse zoom, speed, and hue don't work in dual monitor mode 1.0.83
10/15/05 10/17/05 done add MIDI controllers for origin X and Y, with damping 1.0.83
10/15/05 10/17/05 done in parms dialog, master offsets aren't displayed correctly after exiting VJ mode 1.0.83
10/15/05 10/17/05 done MIDI assign should reset previous mapping's event only, not its channel or controller 1.0.83
10/17/05 10/17/05 done if multiple movies are recorded, all but first are garbage; Open must zero frame count 1.0.83
10/17/05 10/17/05 done LFO frequency tweening cause glitching; don't interpolate frequency in timer hook 1.0.83
10/17/05 10/17/05 done pressing mouse buttons while paused in drag mode causes origin to jump 1.0.83
10/18/05 10/18/05 done ring growth LFO causes banding; view's timer hook must compute ring growth up front 1.0.83
10/18/05 10/18/05 done snapshots taken while in reverse have holes; update rings before drawing them, not after 1.0.83
08/27/05 10/19/05 done changing master speed causes glitching; don't flush history or interpolate frequency 1.0.83
10/17/05 10/19/05 done entering and exiting exclusive mode doesn't restore maximized state 1.0.83
08/08/05 10/20/05 done not enough assignable keys for patches; use number keys for bank switching 1.0.84
10/20/05 10/20/05 done movies have extra rings; in OnTimer, record frame before view's timer hook 1.0.84
09/01/05 10/23/05 done repeated hue rotation causes banding due to round-off errors; add HLS color to ring 1.0.85
10/01/05 10/23/05 done playlist dialog should support copy/cut/paste 1.0.85
10/11/05 10/24/05 done for acceleration on 2nd monitor, must create DD exclusive with monitor's GUID 1.0.85
10/11/05 10/24/05 done in dual-monitor mode, panic shouldn't disable full screen mode 1.0.85
10/23/05 10/24/05 done if using GDI instead of DirectDraw, veejay mode doesn't go full screen 1.0.85
10/01/05 10/25/05 done if movie frames have invalid format, player locks up; OnTimer must catch exceptions 1.0.85
10/25/05 10/25/05 done exclude non-essential ring data (deltas, HLS) from movie file to save space 1.0.85
10/25/05 10/25/05 done movie player's save command should pause playback during file dialog 1.0.85
10/25/05 10/25/05 done selecting multiple snapshots with preview checked can cause file error 1.0.85
10/25/05 10/26/05 done in playlist, remove key should operate on entire selection 1.0.85
10/25/05 10/26/05 done movie player tears in full screen; should have option to use exclusive mode 1.0.85
10/26/05 10/26/05 done if view is detached, movie player full-screen gets stuck in exclusive mode 1.0.85
10/26/05 10/26/05 done in playlist, paste inserts items in reverse order 1.0.85
10/10/05 10/27/05 done add MIDI properties for patch seconds, crossfader play, and crossfader loop 1.0.85
10/26/05 10/27/05 done in FadeTo, if in-between pos, copy mix to source; in RandomPatch, center pos 1.0.85
10/27/05 10/27/05 done in crossfader dialog, if resuming previous auto-fade, don't set phase 1.0.85
10/12/05 10/29/05 done crossfader dialog's name combos show blank drop list when playlist is empty 1.0.85
10/28/05 10/29/05 done can't send document to crossfader; include Document and A/B/Mix in name combos 1.0.85
10/28/05 10/29/05 done in playlist's FadeTo, set view mix doesn't work; must use frame's SetViewSel 1.0.85
10/28/05 10/29/05 done playlist's Edit Parameters command is too confusing, remove it for now 1.0.85
10/31/05 11/02/05 done auto-fade is too useful to be Ctrl+F; give it F12 and move Random Patch to F10 1.0.86
10/31/05 11/02/05 done in playlist dialog, dialog shortcuts should work when list control doesn't have focus 1.0.86
10/31/05 11/02/05 done in snapshot menu's export all, progress bar is behind by one 1.0.86
10/31/05 11/02/05 done playlist dialog's insert command inserts patches in reverse order 1.0.86
10/31/05 11/02/05 done switching view mix on/off causes glitches; flush view history first 1.0.86
11/01/05 11/02/05 done exiting print preview via caption bar's X button causes save prompts 1.0.86
10/31/05 11/03/05 done if a patch is moved or renamed after playlist is opened, selecting it fails silently 1.0.86
10/31/05 11/03/05 done if maximized app goes full-screen to veejay and back to full-screen, a border appears 1.0.86
11/01/05 11/03/05 done in playlist dialog, if no control has focus, Alt menu keys don't work 1.0.86
11/03/05 11/03/05 done if modeless dialog is closed and reopened, current control is lost; derive from CToolDlg 1.0.86
11/03/05 11/03/05 done if none of a dialog's controls have focus, minimizing and restoring app hides dialog 1.0.86
11/07/05 11/08/05 done default snapshot folder should be in MyDocuments 1.0.87
11/08/05 11/09/05 done file dialogs for export and take snapshot should have default filename if available 1.0.87
06/29/05 11/11/05 done should be able to limit number of rings, for effect and to improve performance 1.0.88
11/11/05 11/11/05 done add menu item for crossfader loop on/off; shortcut is Shift+F12 1.0.88
11/11/05 11/11/05 done must disable Alt key in full-screen mode 1.0.88
12/08/05 12/11/05 done FadeTo shouldn't reset crossfader's loop or waveform attributes 1.0.89
12/08/05 12/20/05 done during unlooped auto-fade, if time becomes too small, complete fade and stop 1.0.89
12/21/05 12/21/05 done allow hue loop length to be changed via MIDI 1.0.89
12/21/05 12/21/05 done changing hue loop length causes hue to jump needlessly 1.0.89
12/21/05 12/22/05 done if main is hogging CPU, Help/About makes app modal but dialog isn't shown 1.0.90
12/22/05 12/22/05 done if mirror is twiddled via continuous controller, animation jerks; make invalidate optional 1.0.90
12/22/05 12/22/05 done options reset all doesn't reset default output folder 1.0.90
01/10/06 01/11/06 done if DirectDraw fails, offer GDI option 1.0.91
08/01/05 01/14/06 done write documentation 1.0.91
09/22/05 02/04/06 done in movie export, eliminate 2 GB limit; create AVI via DirectShow instead of VfW 1.1.00
01/24/06 02/10/06 done all movie times and frame ranges should be in mm:ss.ff format 1.1.01
01/24/06 02/10/06 done in movie player, add open file button and accept files via drag/drop 1.1.01
02/10/06 02/10/06 done in master dialog, make all edit controls allow editing 1.1.01
10/10/05 02/16/06 done add oscillator override and make all LFO properties MIDI-assignable 1.2.00
02/16/06 02/19/06 done in CCtrlResize::AddControlList, fix loop test 1.2.00
02/16/06 02/19/06 done save master offsets in playlist, so oscillator overrides can be preset 1.2.00
10/01/05 02/23/06 done make playlist dialog's editable list control into a reusable base class 1.2.01
02/23/06 02/23/06 done in drag list control, fix sloppy autoscroll boundary tests 1.2.01
03/08/06 03/08/06 done in oscillator override via MIDI, waveform must be clamped 1.2.02
08/12/05 03/10/06 done origin motion should be able to make a trail of rings; high value but major impact 1.3.02
02/14/06 03/10/06 done in fill mode, allow solid to be convex instead of concave; draw rings in reverse 1.3.02
03/07/06 03/15/06 done can't drag origin while paused, due to trail revision; add SetGlobalOrigin 1.3.03
03/15/06 03/15/06 done add random ramp waveform; linearly interpolate between random samples 1.3.03
03/23/06 03/23/06 done hue, loop hue, invert color, and pause should be saved in playlist 1.3.04
03/23/06 03/24/06 done disabling veejay should only park origin if it's in drag mode 1.3.05
03/23/06 03/28/06 done origin shouldn't be limited to middle of screen when zoomed out 1.3.05
03/23/06 03/28/06 done enabling drag after resizing frame causes origin skip; adjust target in OnSize 1.3.05
03/23/06 03/28/06 done trail breaks ring-origin zoom: make mirror origin space unreversed and zoomed 1.3.05
03/23/06 03/28/06 done make zoom type independent of origin motion; add Window/Zoom Center 1.3.05
03/23/06 03/28/06 done zooming with mirror and drag enabled causes origin to boomerang, since 1.0 1.3.05
04/08/06 04/09/06 done panic should reset trail 1.3.06
04/09/06 04/12/06 done opening a playlist can take a while; display hourglass 1.3.07
04/11/06 04/12/06 done closing detached view can show file save dialog; remove aux view from doc 1.3.07
04/12/06 04/12/06 done increasing Zoom mistakenly deletes rings; set m_st.Zoom before calling SetWndSize 1.3.07
10/03/05 04/13/06 done add Bézier curves 1.4.00
12/21/05 04/18/06 done hue loop length and canvas scale should be master settings, not options 1.4.01
04/14/06 04/18/06 done save mix doesn't save mirror, drawmode or origin 1.4.01
04/16/06 04/18/06 done save master and main settings in patch, add patch mode 1.4.01
01/16/06 04/22/06 done make a FreeFrame plug-in; big project, similar to making a screensaver 1.4.01
04/23/06 04/24/06 done add MIDI controls for canvas scale and patch mode 1.4.02
04/27/06 04/27/06 done inverting fill gives unexpected results; update PrevSides in all cases 1.4.03
04/27/06 04/27/06 done in view, replace memmove calls with inline assembler 1.4.03
04/27/06 04/27/06 done make curve decision per ring instead of per frame 1.4.03
04/27/06 04/29/06 done in filled convex mode, colors are shifted by one, so center is same color as 1st ring 1.4.04
04/29/06 04/29/06 done in Draw, replace CRect calls with inlines and only calculate iorg if making curves 1.4.04
05/04/06 05/04/06 done playlist paste causes duplicate icons; bump current patch after inserting below it 1.4.05
05/04/06 05/04/06 done in movie export dialog, changing frame rate doesn't update length and range 1.4.05
05/04/06 05/04/06 done in movie export dialog, entering a frame rate of zero causes a divide by zero 1.4.05
05/04/06 05/04/06 done panic now centers origin, disables reverse, and sets default master speed 1.4.05
05/04/06 05/04/06 done add range selection to movie player; save button should export 1.4.05
03/28/06 05/05/06 done add video overlay and extend playlist to accept video files 1.5.00
05/05/06 05/05/06 done add 10 extra banks, selectable via shift + number 1.5.00
05/05/06 05/06/06 done video overlay doesn't appear in bitmap exports; move overlay into Draw 1.5.00
05/05/06 05/06/06 done switching clips can cause a dropped frame; move video open into timer hook 1.5.00
05/05/06 05/06/06 done add command to turn video off 1.5.00
05/05/06 05/06/06 done video overlay's raster operation should be variable 1.5.00
05/05/06 05/06/06 done cache the most recently used video clips on the numeric keypad, in MRU order 1.5.00
05/07/06 05/09/06 done optionally cycle most recent N video clips in sync with tempo 1.5.01
04/07/06 05/13/06 done select videos via remote control app running on 2nd PC, communicating via MIDI 1.5.02
05/15/06 05/16/06 done when videos are cycling, defer list updates until the next transition 1.5.04
05/15/06 05/19/06 done panic now disables video cycling 1.5.04
05/19/06 05/22/06 done save video list object's state in playlist 1.5.05
05/30/06 05/30/06 done playlist dlg still allowing duplicate icons; test for inserting below must be <= 1.5.06
05/19/06 06/02/06 done add MIDI properties for video select, blending, and cycling 1.5.07
06/01/06 06/02/06 done allow videos to be opened via File/Open, shell, and drag/drop 1.5.07
05/20/06 06/03/06 done add thumbnail view to playlist dialog; support video and patches 1.5.08
05/13/06 06/05/06 done if window background color isn't white, playlist icons show white edges 1.5.08
06/03/06 06/05/06 done in playlist dialog, add a command to update thumbnails 1.5.08
06/03/06 06/05/06 done add option to automatically rewind video clips before playing them 1.5.08
06/05/06 06/05/06 done playlist dialog's context menu should have a play command 1.5.08
05/05/06 06/07/06 done video overlay isn't captured in snapshots or snapshot movies 1.5.09
06/09/06 06/09/06 done main frame's non-wizard message map contains duplicate entries; since 1.0.82 1.5.09
06/08/06 06/12/06 done in open snapshot dialog, if preview triggers missing files dialog, UI hangs 1.5.11
06/17/06 06/17/06 done closing app while recording causes unreadable movie file; introduced in 1.5 1.5.11
06/19/06 06/19/06 done skew distorts curved rings; for symmetry, MakeCurves must use skewed origin 1.5.11
06/21/06 06/21/06 done make master dialog resizable 1.5.12
06/23/06 06/23/06 done if a snapshot is loaded and has a bad format, timer is left stopped 1.5.12
03/28/06 06/24/06 done create illusion of multiple whorlds via initial skew; add Copies and Spread 1.6.00
06/22/06 06/26/06 done add thumbnail export for remote video browser 1.6.01
05/08/06 06/29/06 done allow video origin to be changed in mirror mode, via drag, random jump, and MIDI 1.6.02
08/21/05 07/24/06 done add command line flag to start in VJ mode 1.6.03
09/15/06 09/15/06 done CVideo shows first frame twice; also occurs in recorded movies 1.6.04
08/13/06 09/16/06 done in CNumEdit, notify aux before parent, so master dlg needn't use PostMessage 1.6.04
09/15/06 09/16/06 done in movie player, slider is off by one frame during playback 1.6.04
09/15/06 09/16/06 done in movie player, looped rewind plays first frame twice 1.6.04
09/17/06 09/17/06 done BmpToAvi.ax shouldn't self-register, else uninstalling Whorld breaks FFRend 1.6.04
09/29/06 10/02/06 done in movie export dialog, allow fractional output frame rate 1.6.05
06/15/06 12/10/07 done add a parameter for initial rotation, as distinct from rotate speed 1.7.01
12/01/07 12/10/07 done add global geometry parameters that affect all rings at once 1.7.01
10/01/05 12/21/07 done in dual-monitor full-screen mode, main frame should be full-screen too 1.7.02
08/01/07 01/13/08 done let paired curve control vectors at each vertex have different lengths; odd/even shear 1.7.02
06/01/07 01/15/08 done moving origin via MIDI causes cursor to disappear; don't enter drag origin mode 1.7.02
10/09/06 01/22/08 done in CMainFrame's MIDI callback, IsWindowVisible call could be unsafe 1.7.03
01/19/08 01/22/08 done in MIDI setup, tabbing skips event combo; fix row dialog's tab order 1.7.03
01/22/08 01/22/08 done while learning MIDI, if message is already assigned, previous target is affected 1.7.03
01/05/06 01/23/08 done in MIDI setup dialog, left-clicking property name should move cursor to that row 1.7.03
12/01/07 01/23/08 done MIDI learn mode should highlight row that's being learned 1.7.03
12/01/07 01/23/08 done in MIDI setup dialog, range should consist of two numbers: start and end 1.7.03
12/01/07 01/24/08 done curves jitter when star factor is negative; compute curve points from real vertices 1.7.03
12/01/07 01/25/08 done autofade (F12) glitches when crossfade time is zero; should flush history 1.7.03
01/24/08 01/25/08 done if ring spacing is big, after clearing screen, screen stays empty for a while 1.7.03
01/24/08 01/25/08 done panic should clear screen, in case current rings are overloading CPU 1.7.03
01/11/06 01/27/08 done movie export should remember codec settings 1.7.03
01/28/08 01/28/08 done support Unicode 1.7.04
01/28/08 01/29/08 done increase compiler warning level to W4 1.7.04
02/23/06 01/30/08 done in unmirrored exclusive mode, can't force back buffer to be in system memory 1.7.05
09/20/06 01/30/08 done in playlist dialog, while dragging, escape key should abort drag 1.7.05
01/10/08 01/30/08 done status bar should show actual frame rate 1.7.05
01/30/08 01/30/08 done if a modeless dialog has focus, keyboard accelerators don't work; allow safe ones 1.7.05
07/18/05 01/31/08 done clicking in non-client area of any window freezes display; partial victory 1.7.05
01/31/08 01/31/08 done in Print Preview, if zoomed in, scroll bars don't work; OnParentNotify was capturing 1.7.05
02/06/08 02/06/08 done increase frame rate range from 24..60 to 1..200 1.7.05
03/29/08 03/31/08 done redo default MIDI setup to be all on channel one (JM) 1.7.06
01/30/05   hold opening a playlist doesn't restore crossfader state correctly  
05/10/05   hold print and print preview should center image on page  
05/28/05   hold ring fade-out effect: alpha blit each ring, and make alpha decrease with radius  
06/06/05   hold add lissajous origin motion  
06/29/05   hold make cascading delete optional  
07/01/05   hold undo for parameter editing; major hassle, low priority  
07/14/05   hold position and size of random origin's bounding rectangle should be adjustable  
08/03/05   hold MIDI setup should have presets for common gear; create as empty playlists  
08/03/05   hold tempo multiplier could be a separate state instead of affecting tempo directly  
08/06/05   hold try controlling app with a joystick  
08/06/05   hold try various mice and trackballs to determine optimal mouse sensitivity  
08/12/05   hold in parms dialog, shift+click should restore default value, not center thumb  
09/01/05   hold make a screensaver; requires a totally different architecture  
09/01/05   hold in playlist dialog's bank droplist, pressing 1 selects bank 10, and 0 doesn't work  
09/08/05   hold while window is being resized, display view size in status bar message; see notes  
09/11/05   hold add movie edit dialog; selection slider, save/delete selection, insert movie  
09/17/05   hold status bar should have an indicator for presence of MIDI clocks  
09/20/05   hold add option to specify LFO frequencies as fractions of tempo instead of in Hz  
09/20/05   hold change default frame rate to 30 for NTSC: look for problems with existing patches  
09/20/05   hold more things should sync to tempo, e.g. random phase, random patch, etc.  
09/25/05   hold can't select a specific number of sides without scrolling though intermediate values  
10/01/05   hold automatically sync tempo to audio signal; open-source beat detection DLL?  
10/01/05   hold can't use mouse to change zoom or hue while paused  
10/01/05   hold cull rings by clipping against display rect; might prevent lock-up when zooming in  
10/01/05   hold demo mode doesn't have enough variety; it should use effects, zoom, etc.  
10/03/05   hold add odd shift parameter; shift odd vertices, compensate for radius and center  
10/08/05   hold add dynamic patch memory; numeric keys, Ctrl+ to store, Shift+ to recall?  
10/10/05   hold assign mouse modes to properties dynamically, via mouse modes dialog  
10/10/05   hold load specific patch into crossfader input A or B; use Alt keys as modifiers in VJ mode?  
10/27/05   hold adjusting crossfader via UI or MIDI should stop auto-fade?  
12/08/05   hold allow crossfade time to change during auto-fade?  
01/04/06   hold add safe mode that limits number of rings if idle time drops to zero  
01/07/06   hold tap tempo doesn't appear in menus or shortcut key list  
01/11/06   hold movie player should set main frame caption to movie title; same for movie export?  
01/13/06   hold snapshot thumbnails in explorer via shell extension; need original window size?  
01/13/06   hold notes can be mapped to the playlist AND assigned to a property; prevent this  
01/16/06   hold zoom changes a snapshot if it has line widths > 1, especially if it's also mirrored  
02/08/06   hold should be able to change background color of a snapshot  
02/10/06   hold in movie export dialog, should be able to set frame range visually, via slider  
02/18/06   hold try adding feedback; save previous frame and blend with current frame  
03/22/06   hold should be able to change hue of subsequent rings without affecting existing ones  
03/28/06   hold allow multiple whorlds at once; extra views could draw to main view's device context  
04/18/06   hold MIDI setup should use combo boxes for channel and controller (JM)  
04/24/06   hold app should optionally open most recent playlist, or demo playlist if none (JM)  
04/24/06   hold crossfader should have Select A/B and Load Next/Prev instead of Load Next A/B (JM)  
04/24/06   hold crossfader needs a manual mode in which selecting a patch doesn't autofade (JM)  
05/05/06   hold video overlay should have speed control via MIDI; scratching or at least slow-motion  
05/05/06   hold bitmap export should work in veejay mode  
05/10/06   hold add bidirectional loop option to movie export: play forward and then in reverse  
05/20/06   hold mirror quadrants shouldn't always have to be the same size  
06/03/06   hold add video capture; major research project  
06/03/06   hold in playlist dialog, add option to hide all controls except list  
06/05/06   hold in playlist dialog, ctrl+wheel should scroll through banks  
06/19/06   hold aspect ratio distorts curved rings; hard to avoid, maybe it's a good thing?  
06/28/06   hold load next patch A/B doesn't work with video clips  
10/28/06   hold add separate folders for patches, playlists, videos, snapshots, movies  
12/01/07   hold overhaul UI to use control bars instead of modeless dialogs  
12/12/07   hold numbers dialog doesn't include global parameters; make it optional?  
01/25/08   hold add metafile export  
01/27/08   hold when Copies > 1, fill behaves unexpectedly because rings aren't concentric  
01/27/08   hold copies and spread should affect existing rings  
01/31/08   hold drag mode should hide cursor only while it's within view?  
02/02/08   hold add global hue, lightness, saturation; move RotateHue into main loop?  
02/08/08   hold frame rate change requires compensating Ring Growth and Color Speed; automate?  
02/08/08   hold should be able to restore ring state from patch, esp if ring growth was zero  
04/21/05   punt changing timer frequency shouldn't affect animation speed, but it does  
06/20/05   punt color speed should be compensated for growth rate; would affect existing patches  
07/02/05   punt starting task manager or changing display settings often hangs app (DirectDraw only)  
07/10/05   punt if print draws directly to printer DC in XOR mode, colors don't always match screen  
07/14/05   punt when tempo is low, dragging tempo slider fails; long delay before tempo changes  
07/19/05   punt can't print from detached view  
08/12/05   punt sometimes app won't receive MIDI; receiving MIDI with Reason fixes it (one PC only)  
09/15/05   punt show/hide dialog shortcuts don't work in playlist; shift is reserved for key assignment  
10/01/05   punt add rotation for the entire scene, including X/Y shift; too expensive  
10/17/05   punt if middle button is pressed while navigating a main menu, master speed changes  
10/18/05   punt crossfading between patches with different ring growth LFOs causes glitching  
04/11/06   punt if view is detached and overlaps toolbar, pressing a toolbar button enables zooming  
04/13/06   punt move origin/zoom damping into view? Only makes things more complicated  
04/27/06   punt reversing direction in fill mode causes an unfilled ring  
05/07/06   punt add command to clear video history; too dangerous  
05/18/05   sack tried DirectDraw scaling for giant pixels; unsupported in GDI, also complicates mirror  
07/01/05   sack record all performance input for movie-making; recording snapshots instead  
07/06/05   sack tried adding perspective; reduces detail and moiré effects, disappointing  
08/03/05   sack tried damping on master speed; too twitchy and unpredictable  
08/05/05   sack in non-VJ mode, holding down left button should drag origin: too annoying  
09/09/05   sack investigate bevel and miter joins; they're more complicated and they look terrible  
09/11/05   sack in mirror mode, offset random origin's bounding rectangle by -.25; not enough variety  
10/07/05   sack in mix mode, file/save should map to save mix, not save document; too confusing  
02/02/08   sack TimerHook needlessly updates rings it's about to delete; fix benched slightly worse