shazware.com - ditty ...Deal with it!

intro
download
did <=
do
design
tut_Config
tut_Play
tut_View
tut_Metronome
tut_Record
tut_Edit
tut_Print
tut_SFont
ref_MidiPath
ref_MidiCfg
ref_Ditty
ref_Tinker
ref_DrumTrak
ref_Txt2Trak
ref_SF2Lst
ref_SF2SFont
ref_SFontBank
ref_PsetEdit
ref_EdiSn
Did - What's the BUZZ??  Tell me what's a happenin'!!
      What's the BUZZ??  Tell me what's a happenin'!!
      A log of what I DID to Ditty
________________________________________________________________________________

These folks were nice enough to help:
   Dominique.Paon over at libertysurf.fr
   LasTNighT over at mtu-net.ru
   Deslov over at infogen.net.nz
   MidiTrouble over at free.fr
   Samuel_Sierra over at hotmail.com
   Ajja64 over at wanadoo.fr
   Thomas Hammer of hammersound
   Claude Veziau
   Andy Turner of andyware
   Mitch of the sonic spot
   mahlzeit over at pianoworld forums
________________________________________________________________________________

08Nov
   still a bug in pause learn mode, but what the heck, out it goes...
   messing with learn mode (pianohero)
   made song picker, fixed randomness to not dup pick
   for AddTrack's default sound, you can set it sneakily via making a file in
      program files\Ditty\Ditty_Default_Sound.cfg (with the sound in it)
   hopping back in time while recording erases recorded events that are now
      "in the future" so you don't record notes on top of notes.
      It's done silently, but it's kinda necessary...:/
   implemented first cc "mod" command - FLIP swaps from 0..127 to 127..0
      in MidiCfg's input map
   in learn @ mode, now loops back to start and end of song

08Oct
   Well, QUITE a few bug fixes :(  :)
   Starting work on PianoHero mode...  toggle mute to ? and check it out...:)
      (click just left of first char of track name:  space => # => ? => space)

08Sep
   MAJOR RELEASE with full controller mapping, device types, way less ID #s
   taking .song/.trak files OUT of the users' world for simplicity
      just .mid and .song/.txt now :)
   redid docs - PHEW !!
   .song file format changes - you may need to read the docs again, sorry :/

08Feb - 08Aug
   a LOT of WORK...!!

07Dec
   MAJOR surgery to ditty and MidiIO.cpp and all kinds of stuff.
   MidiGuy gets sucked into the hellish Song class...:(

07Nov
   STABLE RELEASE NOT GONNA HAPPEN for a while - tons of code to rework
   finally got a decent table editor setup goin (w/ some minor ui annoyances:()

07Sep
   putting off fancy controller remapping biz to get a stable release again :/
   edit ctrl (prog change) can be on any channel now (on 1st inp dev of MidiCfg)
   any song in *Compose* dir turns on _rcrd now
      (so next song in playlist isn't hopped to at end of song)
   fixed bug w changing track sound - changing to an existing sound where the
      old one was used by other tracks broke the other tracks
   took out spoonfeeder for now - just not ready for primetime...:(
   took out mastervol,balance,tune in prep for real controller mapping

07Aug
   redoing MidiIn and MidiOut classes and MidiCfg app
      for better controller mapping and handling of RPN,NRPN
      well, thinkin bout it anyway...
   when MidiIn dev ain't on or when in use, just do nothin.  pop a Hey()
   Finally biting the bullet and converting docs to "shazware format".
      docs are now going to be only on the web - slims ditty.zip to 265K :)
      doc'ing my install/update details

07Jul
   MidiCfg,Ditty,Tinker(all midi cfg using apps)
      had to change midi config settings - can't store multimedia ID in config
      file since it CHANGES when usb midi connection are added and removed :(
      Make =SURE= you run MidiCfg -first- if you're updating Ditty
   EditKey is now TOP key for editing on midi kbd and
      only on -1st- midiin dev in list

07May
   DrumTrak
      automatically does Mid2Song/Txt2Trak and cleanup so you don't need to keep
      the .trak files around

07Apr
   new docs for piano practice :)      http://shazware.com/piano
   Ditty
      toggle mute (#) to ? to mark a track to learn
      keyboard is displayed and song pauses until keys are
      pressed/released to match
      (not sure this is useful...)
   docs update a bit for Txt2Trak

07Mar
   Txt2Trak
      repeat count at end of a #include .txt file includes it that many times
         ex:  #DrumPat\Click4 80       (will include it 80 x)
      new grace note dur of g
         ex:  g 5e@
            will create a legato 32nd note ENDing just before curr time
            (and won't bump time at all)
      new rolled chord via ~ prefix on dur
         ex:  ~q 5ceg6c
            will start the e a 64th note after the c,
            then the g a 64th after that, etc, etc
      tweaked V0..9 to map to vel=1-127
         not 0-127 - noteon velo=0 is defined as noteOFF by midi
         0,1,2,3,4,5,6,7,8,9 => 1,15,29,43,57,71,85,99,113,127
         note sure how to map PP,P,MP,MF,F,FF exactly...?
            PP,P,MP,MF,F,FF => V2,V4,V6,V7,V8,V9
   Ditty
      looks for filename.txt matching .song file and calls Txt2Trak for you
         and kills off .trak when done
      squashed another sections time calc bug - was calcing tsig end time wrong
      note spoon feeder is done
         but i dunno if it'll be useful after all :((

07Feb
   Ditty
      started dev on "note spoon feeder"
      mark track as a "pracTrak" via mute mode (normal->mute->prac->normal->...)
      when pracTrak, live keyboard displayed with next press/releases to do
         (WAY too fast to humanly follow, but it's a start)
   Tinker
      song files can now store FINGERING !!
         hover over MIDDLE of note with songcontrol in focus (==> is green) and
         then mousewheel changes fingering :)   (similar to how you edit velo)
      has PRINT PREVIEW now :)    (major addition to StvLib :)
      prints song title n page number now
      shows sound+dev assoc'd w track in check'd listbox now
   Txt2Trak - new fingering syntax: append [5] to the note.  ex:  q 5e@[23]
   DOCS refresh - Eeeeeyuck !!  i hate doin that :P
   Mid2Song/Song2Mid
      saves fingering in .mid now  (dang 2/28 one last bug fixed for this)
      non GM sound names preserved in .mid and restored to .song now
      preserving Copyright now (except for that dang non-ascii circle-c char)

07Jan
   new Str class   (no functional change - just easier for me - no more LIMITS:)
   UPDATE - new app that checks (only) weekly for a new version of ditty to D/L
            when booting ditty (no background task stuff!)
      sees if local version.txt is over a week old
      if not, exits
      if so, update version.txt's date to today (so no bugging for min of a wk)
      D/L 10 byte version.txt from shazware.com
      sees if shazware.com's version.txt is newer than local version.txt
      if not, exits
      if so, asks to D/L - if no, just copies new version.txt to local
                           if yes, downloads new ditty.zip and exits
   Ditty/Tinker
      can load shorter times for lyrics,markers (ex:  1 = time 0, 1.2, etc)
      fixed time bugs w songs having tsigs not starting at time=0
   Tinker
      color note by sound, too :)
      right drag to delete or moveTrack events within boundary
      (and fixed bugs - and some more)

06Dec
   Tinker
      color notes by trakno as well as velocity now :)
      can save .mid format now  (via new Song2Mid.exe)
         when saving specify .mid file ext to save in midi fmt
      can edit note on and off velocity via mousewheel while hovering
      fixed some marker/lyric editing bugs
   Mid2Song tweaks
      port meta event fixes
      removed track# from track names
         otherwise after multiple mid2song+song2mid's track names grow :P
   took trk# out of marker events (to be like lyrics)

06Nov
   startin Song2Mid finally...  bleh :P
   Tinker wasn't sorting quite right for notes that end and start at the exact
      same time (which shouldn't really happen, but oh well, that's .mid for ya)

06Oct
   FIGURED OUT AudigyNotebook BUG!!! - can't reuse filenames for calced .SF2s!!!
   fixed Ditty/SFontSet to work w AudigyNotebook - ahhhhhhh :)

06Sep
   just piano practicin

06Aug
   Tinker can print now!
      prints columns of piano roll bars with notes oriented as on keyboard
      looks pretty good - a little diff than on screen,
         but good for making piano practicin' sheets

06Jul
   end of job again - practicing and sound sorting and figurin out what to fixup
   ditty - rec'ing new drum resizes screen now
   ditty,tinker - oops - skippin comments again while loading
      not req'ing .beat.ticks for marker pos anymore
   ditty
      shows marker in titlebar now
      fixed bug w loading sections (verse2 was picking verse, etc)
      #bars was wrong for sections
      when last section ended, wasn't skipping to next song
      was hopping too early on last section of track

06Jun
   SFontBank - added Y/N box for less wait (by skipping cleanup)
   Ditty - bugfix - rec'ing new drum snd not dumping to SFont dev
           did the sectionlist gui
           syncs tinker to "traktime" bar correctly now
   sf2SFont - deletes dup drum .psets now
      unfortunately in a random bank order (order the .sf2 has) but oh well
   Tinker - repeating bar report thingy can check more than 1 track now

06May
   MAJOR DOCS OVERHAUL - YOU BETTER APPRECIATE IT !!!
   Txt2Trak - fixed some bugs and made it able to include files indefinitely w #
   ditty - niggling bug fixes
   Ditty/SFontBank - sorting sounds a little better (based on rating, too)
   thinkin bout tinker...

06Apr
   Ditty
      Rate dialog will auto-rename _ sounds to without the _ and redo the dialog
         until you hit cancel.  Makes sorting thru new sounds MUCH easier!
         new song rating of X and  now set up
      TrkEdit now lets you tack on new recording tracks for drums,melodic sounds
      better recording
         can now just play new drum keys to create new drumtracks
         can record multiple device/chans into particular tracks now
      new edit track name,sound dialog
      fixed bugs in time calcs for editctl of time
   Tinker FINALLY can tell ditty to SHUTUP with the bar position notifications
   SFontBank - wasn't creating _x dir so left unused .WAV files there - fixed

06Mar
   EdiSn can now auto-chop-up a long wav of several songs by silent spots
      into individual wav files per song
   Ditty
      now strips common path prefixes outa filenames in the songlist
         (easier to read :)
      tweaked the ui layout a lot
      spiffed docs for Ditty to include keyboard mappings (plenty of em)
      sf2SFont now uses a _ prefix for the new pset files thrown into SFont dir
      ditty now sorts those to the end of the list per drum/inst
      rating a sound from _ to non _ leaves your current pos so you don't have
         to scoot all the way back to rate next sound
   FINALLY updating website !!!
   got my laptop networked - ahhh - can debug to desktop now
      plus nicer ALL around - shoulda done this looong ago

06Feb
   debugging the stupid audigy notebook bug - arrrrrrrgh - can't reproduce it:(

06Jan
   Ditty now does KEYS for (rather lame) midi input (finallly)
      z and row to right have low c notes (with sharps in row above)
      q and row to right have middle c notes (with sharps above)
      cursor down/up change the note velocity (default of 100)
      cursor left/right change octave (default of 4 for z row, 5 for q row)
      f1-f8 do toolbar buttons
      f9-f12 do arrow buttons (value editing for rightmost arrows)
      shift f9-shift f12 do leftmost arrow buttons
   sections basically work, but currently have no gui.
      i'm tired of em for now :(
      edit song by hand and put in SECTIONS: block with
         marker strings in order/reps desired -
         markers MUST be on a bar boundary currently
      ditty can skip forward/back a section via EdTime
   starting to organize my soundfonts (agaaaaain)
   sf2SFont
      puts converted (non gm default) .sf2 presets into
      SFont\_\SFPre\psetname.pset    for non gm and
      SFont\_\GMDir\GMPre_SFPre.pset for gm nondefault
      SFont\Drum\_\grp\sym\sym_SFPre.pset for drums
      This way you can easily review the NEW presets in the _ dirs and
         kill em all off if you want or get em in the right GM dirs and
         move em to your main "all sorted out" dirs.
   want to work on somethin FUN
      so thinkin bout an "auto pitch bender" to take a sin/saw sfont inst and
      autogenerate pitchbend events to get that "monosynth sound"...
      Or die tryin...  Or give up...  Or -WHAT-everrrr...

05Dec
   still goin...

05Nov
   working on sections of markers
      marker ctrl changes split sequence in time
      sections (in .song file) list sections (delim'd by markers)
         to play the song parts (verse, chorus, bridge, etc) in any order/reps
      many changes to ditty timing, a few minor changes to tinker, mid2song

05Oct
   Ditty debuggin done i theen
   back to EdiSn
      better display w mag and no reaccessing huge diskspace for right wav
      playfrom/to
      fixed plenty of bugs, etc

05Sep
   done debuggin' ???
   added ability to cache soundfont presets of WHOLE playlist
      (for fast playback instead of flexible editing, etc)

05Aug
   still debuggin' :(

05Jul
   still debuggin' :(

05Jun
   pretty big rewrite to cache devs/snds between songs

05May
   FINALLY got an Audigy 2 - no midiport???  WHAT everrr...  still got my live
   Ditty - corrected picking the right sf device# - oops bug fix
   SFontSet - ditto
   MidiCfg - tweaked for less mess

05Apr
   tinker
      Copy WORKS now!  pick barBgn,End w [], hover to dest bar, click +
      handles mastervolume/masterbalance
   ditty
      load is interruptible now - no more WAIT if you scroll thru tons of songs
         many speed improvements on the way :)
      Pause WORKS now :)  click time display or use synth kbd
      also a goto bar #1 in EdTime
      songlist remembers current pos automatically now (w a > in the txt file)
      fixed bug in song rating saying new file exists when it doesn't :/
      new editctrls for masterVolume,Tune,Balance
   sf2sfont - made main .WAV variable dynamic so low RAM folks can use it :)

05Mar
   fixed sound rating bug during delete - it WORKS :)
   TONS of new ideas from Dominique Paon - my brainz a-swimmin'
      what to do first...  hmm...  thinkin time...:)
   timing glitches have been due to background UI bmp tiling :(
      spare the gui glitz till i figure out why...
      thinkin bout using events in midiguy rather than msgloop
   tinker gui for copying a clip is there but doesn't do anything yet
      fixed del bug, spare doin copy till timer pausing in ditty is workin
   gave LED display a pause indicator (red box)
   made timer "pause"-able, gotta hook up UI tho

05Feb
   Ditty can rate sounds now.
   gave SFontBank a little better status

05Jan
   RATS!
      Tinker was broke, too...  save file died, no sounds during trak insert
      Wasn't doing MidiDev.Load since squishin exe size :(
      ok now :)
   PSetEdit didn't load .pset files via winexplorer
      fixed and added a "kick off edisn" button
   sf2sfont was broke?  recompiled it and it works now...  Whaaa?
   got a bunch of new .sf2s from sf2midi.com - mergin em into my collection...
   updating docs - bleh :P

04Dec
   EdiSn - save WORKS now
           displays all pos's in minutes:seconds.samples format
04Nov
   EdiSn - got bgn,end,loopBgn,loopEnd displayed now
           got an editable pos now (for setting the above)
04Oct
   found new job - contracting again :/   No time for nothin

04Sep
   changed del icon to a "rate" icon to rate, rename and delete a songfile :)

04Aug
   changed the del icon of ditty to actually del file in filesystem,
      not just take it out of the playlist

04Jul
   fixed bug in SFontBank.exe that'd make it just freeze.
   thought i had bugs in ditty, but it was just my midipath :/

04Jun
   shazware and checkin out processing.org - ditty kinda on hold till i get
   back into graphics a bit :)

04May
   memMapped files for EdiSn - stillll goin...
   FINALLY updated website!!!

04Apr
   done making ditty tinier
   FINALLY back to EdiSn?  memMappedFiles n all :)

04Mar
   recompilin ditty for tiny (no) clib - trickier :/

04Feb
   recompilin shazware for tiny (no) clib

04Jan
   still bootin shazware

03Dec
   booted shazware

03Nov
   tweaked Ned
   back to EdiSn
   fixed MidiCfg to put SFont devices first in list

03Oct
   redoin registry/config file infrastructure stuph
   started EdiSn :)

03Sep
   new job still

03Aug
   new job!  no time :/

03Jul
   FINALLY done w PSetEdit.  Back to Ditty recording i spose...
   learning php, built new ditty email list

03Jun
   still workin on PSetEdit soundfont preset editing
   built elshaz.com.  bye bye freeservers.com...

03May
   PSetEdit - to edit soundfont presets on the fly ala vienna, but less bulky
   can view ok now.  working on editing...

03Apr
   Tinker
      added saveall button with versioning so no naming necessary
      changed rev# to start at _002  (Ditty too)
      can edit all controllers now :)
      "All" checkbox so new controllers can be added in
      add/del drumnote now

03Mar
   Tinker    - now has track insert, update, delete, scootup, scootdown
               basic controller editing goin
   Ditty     - sound editing a bit nicer - prev/next top group and prev/next 5
   sf2SFont  - has a "wait" gui
   SFontBank - added some progress messages during the wait
   sf2SFont  - ditto

03Feb
   Ditty and Tinker now have the basics!  (decent save functionality in both)
   Tinker saves/plays selected tracks/controllers now (between time bgn and end)
          has del clip function to kill off events tween clip bgn,end (all trks)
   minor change to .TRAK format - old .trak files ain't compat anymore...:(
   fixed bug in Ditty's Save of recorded track
      (noteons were being saved as notepressure - dang)

03Jan
   Tinker uses DrumMap from song file in addition to on drum notes to show
      drum track - NOW i can finally use tinker to edit drums!
   got rid of the stupid dependency on msvcrt7.dll or whatever that was

02Dec
   Ditty
      adds each note of drumtrack to drummap (if not there already)
      files have ONE drumtrack, but are expanded to a drum
         per track (for easier editing of sound/volume) (in Ditty only)
   Ditty,SFontSet now use "Synth B" sblive device correctly
   (built shelf in utility room, figurin out dremel, scrollsaw, router:)

02Nov
   added EditKey param to MidiCfg
      cuz my keyboard died - usin 5 octave one till repaired:(
   (new tablesaw, built crosscut sled, etc)

02Oct
   laid off;  learnin .NET, SqlSvr, C#, ADO, ASP, ETC, ETC, ETC

02Sep
   (summer off with the kids, using ditty for practise, new roof, painting)

02Aug
   (summer off with the kids, using ditty for practise, new roof, painting)

02Jul
   Ditty - sends REAL fname to Tinker during rec'ing instead of old "_new.song"
   DrumTrak - spiffed a bit for more elaborate patterns;  rep bars in pat line
   SFontBank - more logical sorting now

02Jun
   Ditty
      can explode drumtracks now  (in Edit:  EdMute)
      can find songs in a dir picked by windows explorer now :)
      fixed save bug (it's been there for a while :()
      fixed bug in sound picking - prevgroup / nextgroup
      fixed song sorting bug
   Tinker
      spiffed BarQ a bit still not of a lotta use, but kinda helps :/
      slightly better colors for controller graphs

02May
   Ditty and Tinker sync better now - tinker doesn't GRIND ya...:/
   Tinker - note deleting done now (still no save whole song yet)
      leftclick=insert/update;  rightclick=delete
      (and fixed some note editing bugs...:/)
      track picker has checks to pick all/none/some/etc (right click it, too)
      ctrl picker, too  (had to optimise chek ctrl for speed)
   Whoops - never fixed sorting in SFontBank - fixed now :)

02Apr
   Tinker - NOTE EDITING!!!  (but no save whole song yet)
   finally squashed the "txtfile finding" bug in SETUPDITTY.exe

02Mar
   Tinker
    can send a clip to Ditty now
    displays lyrics,markers (sorta lame, but they're there at least)
   Ditty
    editing reorganized a bit to be handier (although uglier)
    changed mute editing a bit
    added editmode so you can play/record the "edit" midi keyboard keys
    turned off MasterTuneCents usage cuz it fries some softsynths
    setwidth for songlist (and all CtlCmbos) now
   Mid2Song
    now parses track Marker events (like lyrics, but per track)
    fixed a rare infinite loopin bug

02Feb
   Ditty chases controllers !!!  :)))
   can use the stupid .rmi files now
   hopefully fixed incorrect StartMenu/Programs folder picked in SETUPDITTY.
   added RPN controller support for MasterTuneCents and PitchBendRange
      oops had PbendRange at 1 for a release there :/  fixed now

02Jan
   fixed timesig display bugs in Ditty,Tinker (and bug in Ditty's Edit=>Time)
   Ditty
    drumnotes expanded to standard GS ones and FULL drummap editing
    saves the WHOLE song including lyrics, etc, etc
    listens to ALL "on" midi ins (up to max of 8 currently)
    popup help of 4arrow area changes with edit type picked
    gui and midi in update each other for current edit mode
    added help button
   Tinker
    can show ALL controllers at ONCE now with diff height scaling!
    remembers dirs, defaults good .trak filename for saving clips
    velocity scale (rainbow:) fills screen width
    BarQ now spits to a text file and takes tsig into account, etc
    added help button
   DrumTrak handles subdirs now and kicks ditty MUCH more interactively-ish(?)
   spiffed nav of .html docs

01Dec
   FINALLY have ditty on XP WORKin - worked around bug in Creative's sfman32.dll
      (thanks to LasTNighT!)
   got ridda the dang _ for _.song biz;  tossed SysX dir;
   now you can click on Ditty's track display to pick edit track n edit type
   Tinker can display notes, drums and controllers on ONE screen now
   save uses {fn}_001.song, etc for filename

01Nov
   been learning DirectMusic since my poor sblive won't go on XP...
      can parse a .DLS file now, workin on a .sf2->.dls setup for Ditty  (later)

01Oct
   ripping .SF2s and organizing the good presets into a BIG GOOD sound lib
   with sf2SFont, etc

01Sep
   a bit nicer icons
   total soundfont drumset picking via Ditty :)

01Aug
   splitting out soundfont drums for better/easier drumset editing
   sayin goodbye to DeviceSound.txt, and extra DeviceTypes:
      PvV3 :(, RoGS, EnKS, etc.  Just GenMidi and SFont now.

01Jul
   Ditty n Tinker now remember window position stuff
   got a fancier background onto Ditty...
   redid app framework a bit - nicer now

01Jun
   Just killed some bugs w the GS,XG handling
   made Tinker sync up to Ditty's time when started from Ditty

01May
   started using DirectMusic's clock
   got ridda the LargeFonts screen layout problems

01Apr
   cool SFont device! - use Cvt_to_Lst & Cvt_to_SFont to rip each preset out
   SFontBank builds SFont_Bank.txt from .pset files
   Ditty builds/dumps new sf2 on the fly (sorta kinda like DLS but not really)

01Mar
   Banks handled better now (can handle SFont better plus can do GS,XG)
      SFont devices correctly list banks there + descrip
      Mid2Song converts bank changes (cc0) into soundnames w .bbb
      Ditty maps sounds w .bbb to snd.bbb if exists, else snd (w/out .bbb)
   cleaned up REMOVE.exe to commit suicide
   finally cleaned up DrumTrak to sort it's lists

01Feb
   Ditty - changed edit ctrl biz - progch sets which type, keys 8e-g do editin
   ignorin MC_BANK on recording and translating any VOL to EXPR
   new devtype "SFont" is GenMidi but fills in snd.Desc to soundfont preset name

01Jan
   gotta sblive!  should i lose the PvV3,EnKS midiout?  :(
   learnin bout .sf2 and sblive sound architecture
   nicer (teeny-er) toolbar code
   Tinker  starts w a better sized/zoomed display (note wise AND bars wise)
   Mid2Song  sort DrumTrack to top
   Ditty  fixed bug keepin time=1.1 from showin
          now does "auto rec" for Compose directory song files

00Dec
   fixed some fricken bugs in Mid2Song

00Nov
   made DMusTest app to hear DirectX/DirectMusic/MSSynth's GM sounds
   made TryWav app to preview lots of .wav files at once

00Oct
   Ditty
    - listview was TOO SLOW - back to static ctrl - somewhat nicer tho
    - tossed Default\Chan99 stuff in Mid2Song,Ditty
    - added correct timesig handling (not yet robust in Tinker, but passable)
   Mid2Song
    - now handle progch correctly when ctrl in front of 1st progch not assoc'd
    - added correct timesig handling
   DrumTrak
    - added badly needed Tempo control
   spiffed docs
   tried out DirectMusic sorta

00Sep
   SETUP
    - now makes Ditty default .mid,.kar player n restores default on uninstall
   MidiCfg
    - upon Save, now kicks Ditty to reload MidiCfg
   Ditty
    - redid internal dev/snd/trk organization
    - listview output looks a little classier than ole edit control
    - toobar button for MidiCfg

00Aug
   MidiCfg
    - new app to configure the midi devices via gui
    - added Online column to DeviceName.txt n fixed up apps to use it
   DrumTrak
    - new app that picks drum clips, ABABABACs em into a DrumTrak.song
      and kicks Ditty to play it

00Jul
   Mid2Song
    - all drum notes n tempo events are consolidated into one DrumKit track now

00Jun
   Ditty
    - DeviceName.txt now has chan config for MidiOut: and swaps to another
      device if snd can't get a channel on the default device
    - added Edit: solo/mute  (fixed Edit: Sound bug w pgm/mapped snd)
    - more button glitz (Edit: PickTrack split to own buttons)
    - now boots Tinker at current bar

00May
   Tinker
    - lotso display fixes - color velocity & zoomin in both dimensions!!!

   Ditty
    - fixed prob w PvV3's Drum\Drum patch - had combi pointin at nothin :(
    - added EnKS_Bank.txt - Ensoniq KS32 (SQx) patch list :)
    - added RoGS_Bank.txt - Roland GS (approx SC55 level :/ ) patch list
    - fixed bug for Edit: Snd (not settin track's new snd, etc)
    - added Bars display of song's len in bars (assuming 4/4 still)

00Apr
   Ditty/Mid2Song
    - set up DeviceSound.txt so certain sounds always pick the best device
   SETUPDITTY.exe
    - no longer requires fricken WinZip biz
   Ditty
    - a bit of glitz for time,tempo,status displays
    - added Edit Ctrl/Valu stuff to Ditty UI (to use it w/out a MidiIn)
   Mid2Song
    - fixed bug makin huge lines in .song file keepin Ditty n Tinker from loadin

00Mar
   Ditty
    - made window resizable, longer track names (Mid2Song fixup)
    - stopped saving non recorded songs (hmmm - what about sound changes)
   Tinker
    - gets a drum display
   SampSend
    - can SDS load n save .wav files
   SysX
    - fixed some tweaky bugs

00Feb
   PvV3
    - added Combi and Fx editing, fixed up docs a bit

00Jan
   Ditty
    - can load .mid files directly now (temp .song/.trak made then killed)
    - added "findsong" func to Ditty n lost SongList app

99Dec
   SETUP.exe
    - has editable install dir now
   Ditty
    - shows lyrics
    - can now launch WordPad and Tinker to check out current song
    - can load .songlist files now
    - changed time refresh to per qnote for hi perf songs
   Mid2Song
    - .KAR explorer file mapping added
    - Lyrics (std midi and karaoke fmt) now processed
   SysX
    - has Get capability now
   sx2PvV3,PvV3
    - new apps for Peavey DPM V3 patch editing
   SongList
    - new app to find all song files in a dir and subdirs

99Sep
   did SETUP.exe and the start of Tinker.

99Apr
   First release of Ditty and my family's webpage.
   Primarily so folks could see it's there.

97-98???
   spent a loooooong time spinning my wheels with MFC.
   Started learnin Win32 API.

95-96???
   95 was a busy year - bought house, had 2nd child, got married :)
   Dove into the Mac - I didn't want to be a clone...
   got some midi interface code started
   got to the point of debugging a REALLY early start on a sequencer
   totally GAVE UP and committed myself to CLONEZ.

89-94???
   First dive into building a sequencer and patch editor for the Amiga
   It was about as functional as Ditty's Sep99 windows version
   I was happy.  Commodore died.  I was sad.

Updated: ; stephen.hazel over at gmail.com