GramoFile Change Log

version 1.6:

- Included semun definition that disappeared from glibc2.1 headers. Bart
   Warmerdam was the first to submit this to the Debian Bug Tracking system.
- Allow piping the signal processing's output to any command (MP3
   encoders!), thanks to Geoff Clare. See README for details.
- Settings for filtering are now remembered within one run, which makes
   it much easier to try slight variations in the settings. Patch by
   James Tappin.
- New convert-to-mono (=average-channels) filter, also by James Tappin.
- James Tappin also provided an alternative way of interpolation for the
   CMF-II, using an L1 norm linear fit. It's much slower; you can compile
   it in by defining FANCY_FILL in the beginning of signpr_cmf2.c.
- Reverted curses to ncurses per default, should now compile fine on SuSE.
   For the old curses, change $LIBS in the Makefiles and use -DOLD_CURSES.
- Keith Refson sent a scandir() replacement function for Solaris; see the
   README for info on how to use it.
- For byte-swapped systems, the length-fields in the .wav header are
   now byte-swapped too; patch also by Keith Refson.
- FreeBSD patches by Juergen Lock.
- Applied fix for a buffering deadlock at the end of recording, also by
   Juergen Lock.
- James Tappin ported Dave Platt's out-of-phase tick detection (see v1.3)
   to the `old' CMF filter; search for TEST_DAVE_PLATT in signpr_cmf.c.
- Fixed bug in the parameter screen of the double median filter.

version 1.5:

- Signal Processing 30-50% faster, thanks to a few "old programmers'
   tricks" provided by Dave Platt.
- Fix for computation of file offsets and -lengths for long files in
   bplay, and 12 bit/sample should now work correctly, too. Patch by Ralf
   Schlatterbeck.
- Should compile & run on IRIX (and maybe others), too. Joshua Weage sent
   me a patch, which I interpreted a little more generally. More info in
   the README file.

version 1.4:

- `Determining of track separation points' is now called simply
   `Track location'.
- Totally new track location algorithm that should work well in far more
   cases than you're used to ;-)  Read more in Tracksplit2.txt.
- Should compile OK with egcs; patch by Daniel Kobras.

version 1.3:

- Considerable speed improvement in Signal Processing (and Track Splitting,
   too) by using the stdio functions, patch provided by Axel Kohlmeyer.
   (Why didn't anyone tell me speed(fread)>>speed(read) before..?)
- Deleting filters in Filter Selection screen now also works on the console
   (using the R key), again thanks to Axel Kohlmeyer. (I'm always in X ;)
- Info-screen after recording, great idea of Richard Robinson.
- Dave Platt reported that most ticks are out-of-phase, so tick detection
   should look at the left-minus-right (difference) signal. I've programmed
   this in signpr_cmf2.c (search for TEST_DAVE_PLATT) but not tested it;
   it's not used by default. If you like, you may experiment with it - and
   tell me your findings.

version 1.2:

- Added variable median (interpolation) length to the Conditional
   Median Filter, and called it CMF II, so the original is still
   there. The CMF II gives much better results than the original CMF.
- Added the possibility of playing whole tracks, or a few seconds at
   the beginning/end of a track or before/after a track - with a single
   keystroke. Makes life a lot easier.
- Added a Copy Only `filter' that only copies the signal. Useful for
   splitting tracks without processing the signal. Requested (more or
   less) by Richard Robinson.
- Added a Experimenting Filter with which you can experiment. See the
   file signpr_exper.c
- Corrected writing of .wav header - bytes_per_sample seems to be 4
   instead of 2 (as found in bplay.c). Thanks to Pavel Kasparek for
   reporting it.
- Several other small changes.

version 1.1:

- Track splitting operational
- Documented signal processing and track splitting
- English user interface
- Removed some annoying bugs
- Cleaned up source code and used indent(1)
- Webpage at http://cardit.et.tudelft.nl/~card06
- Done a lot of other things

version 1.0:

- First `official' non-public release, at the end of the `Integraal Project
   Practicum', without track splitting, without full documentation (.txt
   files) and a Dutch user interface. 

