20080225b8:
-First version with elementary networking (e.g., "GnauralNet"). It doesn't look 
 like much, perhaps, but inside is the groundwork for some pretty ambitious plans.
 Currently, in theory, any number of Gnaurals can connect to each other; but for
 now, they don't share schedules (or even particular check that different Gnaurals are
 running the same schedule) -- but for people using the default internal one, it is an 
 interesting way to, say, get 250 people exactly in the same wavelength (if you're 
 trying for world peace or such). I've finally decided to release it as-is (even knowing 
 there will be big changes soon) because the direction it goes depends on what people
 actually want to use; and continuing to code without that sense is sure to be a waste.

20070707:
- Lots of new tools, select options, edit functions. Basically, it is full-fledged now
  20070b2B3 BUGFIXES:
   -fixed the BB_SeedRand happening with same numbers every BB_InitVoices
  20070b2B3 BUGFIXES:
   -made engine more efficient
   -implemented thread-safety booleans BB_PauseFlag and BB_InCriticalLoopFlag to avoid "data-nulled" segfaults 
  20070b2B2 BUGFIXES:
   -found a simple but bad bug in SG_ConvertYToData_SelectedPoints that was making balances below middle line diminish with changes in volume graph.
   -discovered and fixed a massive memory leak in BB (wasn't cleaning voices before init'ing because voicecount was zero'd before cleaning)
   -changed BB's find-current-datapoint routine to remember last known one (large DP counts would slow it down to a crawl). Unfortunately, this introduced a ton on new bugs, but was necessary
  
20070620:
- implemented Undo/Redo (only goes back one step)
- implemented basic handling Voice Description strings

TODO:
- Algorithms under Tools/Select/Edit menu:
  - [Tools] Scale schedule duration to an exact time
  - [Tools] Y-axis "Smooth" selected DPs 
  - [Tools] Invert Voice
  - [Tools] Select by Duration
  - [Edit] Paste to end
  - [Select] All points below given duration
- In opening files, don't let discrepancy between <totalentrycount> and real total entry count wreck the read (easy, just work to read twice)
- In the main_VoicePropertiesDialog, give some info about the voice (number of DPs, etc.)
- In "add random duration" it can only make schedules longer, because it doesn't subtract from point before; lousy feature, change
- In "add random Y" it bottoms out on the bottom because it can't go below zero; might want to use some sort of algo

BUGS:

Indentation:
-nbad -bap -nbc -bl -bli0 -bls -ncdb -nce -cp1 -cs -di1 -ndj -nfc1 -nfca -hnl -i1 -ip0 -lp -pcs -nprs -psl -saf -sai -saw -nsc -nsob -nut -npsl -nbbo

