2005-12-11  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre9
	- An XMMS plugin has been added. New features compared to UADE1 XMMS
	  plugin are seek fast forward and correct subsong seeking bar. The
	  plugin still lacks GUI for configuration, but uade.conf can be
	  edited directly.
	- Filtering settings are audibly different compared to last release.
	  A500E filter model is now the default. It was A1200 in the last
	  release. This affects all songs, even those which do not use the
	  filter.
	- New players for 15 instrument soundtracker variants have been added.
	- uade123 man page has been updated.
	- Most subsystems have gone through changes. Some important changes
	  have been left out. See log entries for further details.

2005-12-11  Heikki Orsila <heikki.orsila@iki.fi>
	- Significant changes in filter default values. Current default filter
	  is A500E, which is audibly different on every song compared to the
	  old default (A1200). To restore the old behavior, set "filter a1200"
	  in uade.conf. If you want to advocate another default value, please
	  post to the forum or send email. The forum is preferred.

2005-12-10  Heikki Orsila <heikki.orsila@iki.fi>
	- Added notices to documentation that setting filter model has an
	  audible effect even if a song doesn't use filtering at all.
	- Cleaned up configure script (that is originated from uade1)

2005-12-07  Heikki Orsila <heikki.orsila@iki.fi>
	- Added unrecognizable type "packed" into amifilemagic. It is
	  used to inform user about files that are packed with an amiga
	  packer.
	- some work on m68k mod checking and replay routine (mld)
	
2005-12-06  Michael Doering <mldoering@gmx.net>
	- XMMS plugin now automagically advances the subsong seek slider, if
	  the replay rolls over to the next subsong.
	- Soundtracker15 name check that was added yesterday was removed. (shd)
	- Fixed a bug in uade_filemagic() that char *pre was not initialized
	  to be an empty string by default. This caused
	  uade_analyze_file_format() to receive garbage data when file format
	  was not recognized. (shd)
	- Valgrinded a memory allocation bug in two places of eagleplayer.c
	  (the same error actually due to replicating same lines of code),
	  where space for (n + 1) pointers should have been allocated, but
	  only ((n * sizeof ptr) + 1) bytes was allocated. (shd)
	- Added gain effect into uade.conf. You can use variable named
	  'gain' to set scaling value for each outputted sample. For
	   example, add a following line to uade.conf:
	   gain 0.25 (shd)
	- Made length test of mods with 32 instruments less strict. Due to
	  popular demand *g* now "oversize mods" get accepted.
	- Added check for sane finetune and volume values in modchecks.

2005-12-05  Heikki Orsila <heikki.orsila@iki.fi>
	- Added initial version of song length database into XMMS plugin. It
	  is compatible with uade1 db-content, but named differently:
	  ~/.uade2/contentdb. You can just copy the old db:
	    cp ~/.uade/db-content ~/.uade2/contentdb
	- Content db is loaded during play_file if it has changed
	  on the disk. If it has not changed on the disk, then it is
	  saved if an hour has passed and the db has been changed.
	- Added a requirement for Soundtracker15 song content detection that
	  the name must have prefix or postix being: "mod", "mod15", or
	  "mod15_". This change could be reverted at some point but now it's
	  the safest choice.

2005-12-04  Heikki Orsila <heikki.orsila@iki.fi>
	- Added missing #include for uadecontrol.h (sys/types.h for pid_t).

2005-12-03  Heikki Orsila <heikki.orsila@iki.fi>
	- Made XMMS plugin display play time correctly in the play list
	  after a song ends. If song ended volutarily, tell XMMS the
	  play time. If song ended involuntarily by user intervention,
	  error, or timeout, tell XMMS that the song doesn't have a length
	  leaving the play list time empty.

2005-12-02  Heikki Orsila <heikki.orsila@iki.fi>
	- Fixed a latency and time bug in the XMMS plugin that affected
	  fast forward seeking. When forward seeking happened the XMMS time
	  display was not updated and the seeking happened with a delay.
	- Made XMMS plugin report the play time for XMMS after a song
	  ends.
	- Added comments about variable locking in XMMS plugin.

2005-12-01  Michael Doering <mldoering@gmx.net>
	- eagleplayer.conf: Amended the different MarkCooksey prefixes.
	- amifilemagic: fixed TFMX 1.5 detection bug  introduced by the recent 
	  clean-up.
	- amifilemagic: fixed another TFMX detection bug. Should be alright
	  again now.

2005-11-30  Heikki Orsila <heikki.orsila@iki.fi>
	- Make XMMS plugin auto detectable in configure script. The plugin is
	  still very experimental and incomplete in features, but it can
	  already play songs, or at least it should.
	- GCC4 gave warnings of problems I had not noticed: Fixed a bug in
	  md5.h. uint32_t was accidently redefined (that is #included 
	  originally from stdint.h). XMMS plugin's uade_ip structure was
	  declared static but later as external. Fixed signedness warnings
	  from various modules.
	- Added seek-forward button into XMMS plugin. (mld)
	- New replayer for Soundtracker v2-v5 mods with 15 instruments and
	  a lot of different effects added. (mld)
	- fixed WaitAudioDMA for all old mod15 replayers. (thanks heikki!)
	- changed mod15 (again) for stricter st-iv detection (mld)
	- changed to a stricter tracker module length policy... 
	  If uade doesn't play your modfiles anymore, it's a bad rip.
	  Get a good one! :)
	- Since Master-Soundtracker files seem to use a subset of the normal
	  Soundtracker fx, they now get played with the mod15 replay
	  This makes Master-ST replayer kind of obsolete atm. (mld)

2005-11-29  Heikki Orsila <heikki.orsila@iki.fi>
	- Partial and buggy implementation of song.conf. It is used for uade
	  specific work-arounds for broken or bad songs. Look at doc/song.conf
	  and src/frontends/common/eagleplayer.c. Please do not use this yet.
	- Fixed some compiler warnings that surprisingly came with gcc 4.0.2.
	- Fixed Makefile.in to not report error on 'make install' when XMMS
	  plugin is not installed.

2005-11-28  Heikki Orsila <heikki.orsila@iki.fi>
	- Modularized loading and parsing on uade.conf options. See
	  src/frontends/common/uadeconf.[ch].
	- It is possible that config parsing for uade123 breaks now.
	- Added partial config loading support for XMMS plugin. Doesn't
	  support setting filter type or interpolation mode yet. You must
	  edit uade.conf by hand if you want configuration changes. No GUI
	  for setting options yet.
	- Added cleaning rule for XMMS plugin
	- New make rule: 'make feclean' will clean all frontend objects
	- The XMMS plugin determines configuration file path for uade.conf
	  once during XMMS plugin initialization, and it will not change
	  afterwards. If no global or user configuration is found, then
	  the plugin chooses the file under HOME ($HOME/.uade2/uade.conf).
	  It will try to load the configuration each time a new song is
	  selected from the XMMS.
	- Optimization: XMMS will re-read configuration when a new song is
	  selected if the file timestamp of uade.conf has changed.
	- Fixed synchronization problem in XMMS plugin's play loop. The audio
	  device is drained of written sound data before actually stopping
	  the device. The earlier version cut of audible data from the end
	  of the song :( However, draining can be interrupted if the user
	  requests something urgent, such as wanting an immediate song change.
	  Draining takes time as long as audio
	  device has buffered data. Buffering settings can be found from
	  output plugin settings, as usual.

2005-11-28  Heikki Orsila <heikki.orsila@iki.fi>
	- Added hardcoded timeouts for the XMMS plugin. They are the same
	  as uade123 defaults. 20 seconds for silence and 512 seconds for
	  subsong. Reading uade.conf variables is not supported yet.
	
2005-11-27  Heikki Orsila <heikki.orsila@iki.fi>
	- Continuing modularization of uade frontends. Various commands,
	  such as set subsong, change subsong, set filter type, and set
	  interpolation mode, were moved to src/frontends/common/uadecontrol.c.
	  The idea is that all the non-trivial commands have a wrapper in
	  uadecontrol.c, but trivial commands that don't require parameters
	  can be used through uadeipc.c (uade_send_short_message()).
	- Added src/include/uadeconstants.h that should contain constants that
	  are common with uadecore and frontends.
	- Subsong seeking works in XMMS plugin :-)
	- Made XMMS plugin globally installable as it should be

2005-11-26  Heikki Orsila <heikki.orsila@iki.fi>
	- Continuing modularization of uade frontends. Renamed
	  src/uadecontrol.c to be src/uadeipc.c, and added
	  src/frontends/common/uadecontrol.c which contains a set of
	  helper functions to control and spawn uadecore.
	- Added --with-xmms to configure script for developing the XMMS
	  plugin. It does not work yet!

2005-11-25  Heikki Orsila <heikki.orsila@iki.fi>
	- Cleaned up and fixed tronictest check in amifilemagic. Added
	  read_be_u16() and read_be_u32() to help parsing amiga formats.
	- Cleaned up tfmxtest in amifilemagic.
	- Cleaned up modparsing in amifilemagic.
	
2005-11-24  Michael Doering <mldoering@gmx.net>
	- amifilemagic: improved mod32 and mod15 checks a bit
	- ha! found pitchbend incompatibility bewteen
	  Master-ST and DOC Soundtracker II in amifilemagic. Now
	  Mods using the pitchbends bigger than 0xf are played as
	  DOC Soundtracker II:)

2005-11-23  Michael Doering <mldoering@gmx.net>
	- Master-ST and Ultimate-ST replayers now check for a valid file 
	  length, thus badly ripped mod15 songs won't get played anymore with
	  UADE. No exceptions.
	  FYI this will also be future for all other Sound and Protracker
	  derivates, so for anyone having bad rips - get some valid files! :)

2005-11-22  Michael Doering <mldoering@gmx.net>
	- Improved amifilemagic: mod32 check now tries to distinguish
	  10 different mod types. (BTW. 4ch Fastracker mods and similar
	  now default to mod_pc and get played by the Multichannel PS3M player)
	- Some more work on the mod15 check in amifilemagic again.
	- Started to update the amiga mod15 replayers (Ultimate-ST and
	  Master-ST with better checks, resulting in breaking support for other
	  players like EP or DT atm.

2005-11-18  Michael Doering <mldoering@gmx.net>
	- Lowered the file buffer size to 8192 bytes to reduce overhead with
	  xmms plugin scans. Unfortunately mods with a header and pattern data
	  beyond that buffer size can't be detected properly and get played
	  as plain mod15.
	- Improved mod15 check. It should produce now less false positives.
	- Added a smarter(?) way of the mod  check for larger files that
	  don't fit into the check buffer completely.
	- Renamed filemagic() to uade_filemagic() (shd)
	- Filemagic buffer size (8192) is now passed as an argument to
	  uade_filemagic(). Previously both the caller and callee knew the
	  size.
	- Made amifilemagic tables static (only visible inside the module)
	  (shd)
	- Name prefix conflict between Future Player and PTK-Prowiz was
	  resolved in favor of Future Player. The name prefix/extension is
	  'fp'. (shd)

2005-11-16  Heikki Orsila <heikki.orsila@iki.fi>
	- Made install to a standard path by default. That is /usr/local.
	  Use ./configure --prefix to override. configure --user will install
	  to users home directory as in the past.
	- Committed initial version of man page for uade123.
	- added a first uade-only mod15_Mastertracker player (mld)
	- improved (?) mod15 type checks in amifilemagic (mld)
	- started to work on more complete mod type check in amifilemagic
	  (mld)

2005-11-13  Heikki Orsila <heikki.orsila@iki.fi>
	- Cleaned up src/frontends/common/eagleplayer.c. Removed skip_ws(),
	  skip_nws(), and loops that used them, and replaced those with
	  shorted loops that use strsep(). Changed index variables to use
	  size_t instead of int to be more robust against bad input.
	- Fixed a bug that if eagleplayers.conf specifies always_ends for
	  an eagleplayer then forcing timeout from command line with -t
	  didn't work.
	- Fixed a dirty bug in score that made score crash if an eagleplayer
	  gave a NULL pointer as module name. This happened with Frontier
	  custom. Closer inspection revealed that Frontier custom is also
	  buggy because it sets module name in InitSound() but the
	  specification says module name is evaluated after InitPlayer()
	  which is before InitSound(). This looks like a design bug in
	  the interface, or a typo in the documentation, because setting
	  module separately for each subsong is useful, and that is what
	  Frontier actually does.

2005-11-12  Heikki Orsila <heikki.orsila@iki.fi>
	- Add new antialiasing interpolation mode, which corrects for noisy
	  treble especially audible in the A1200 filter model. It does its
	  work by computing the average value of Paula's output pins between
	  samples.

2005-11-09  Michael Doering <mldoering@gmx.net>
	- Fixed missing hipc and soc prefixes in eagleplayer.conf.
	- Associated #chn, ##ch mods to PS3M again. (note: s3m, xm or mtm
	  are still omitted by uade)

2005-11-08  Heikki Orsila <heikki.orsila@iki.fi>
	- Added slight noise reduction into CSpline code to reduce
	  noise due to interpolation errors, and snapping sounds from
	  sudden volume changes. (alankila)
	- Updated headphone filtering parameters to place virtual
	  sound sources closer to head and reduced the associated treble
	  filtering to make the sound at the same time brighter and more
	  forward placed. The sources still appear slightly behind and
	  perhaps elevated, so the illusion will be further improved.
	  (alankila)
	- fixed AON8 timing now for real *grin* (mld)
	- added Musicline Editor to be detected by amifilemagic (mld)

2005-11-07  Michael Doering <mldoering@gmx.net>
	- Removed dupes from new eagleplayer.conf (mld)
	- Added new player: Musicline Editor (mld)
	- Broke ArtOfNoise8 timing, and added song end detection. (mld)

2005-11-06  Heikki Orsila <heikki.orsila@iki.fi>
	- Added an experimental support for eagleplayer.conf, which is
	  specified at doc/eagleplayer.conf. The new system allows eagleplayer
	  specific settings. uadeformats is no longer used, so it has been
	  removed. Here's a list of currently possible eagleplayer options:
	    a500 (A500 type filter emulation is used.)
	    a1200 (A1200 type filter emulation is used.)
	    always_ends (A song always ends, so timeouts are not used.)
	    content_detection (File name prefix or postfix heuristics are not
	                      used for determining format.)
	    speed_hack (Speed hack is enabled.)
	  Tips:
	  Speed hack can be turned on for a specific format by editing
	  eagleplayer.conf. A format can be marked as ending always, which
	  means that timeout values are not used (except silence timeout).
	  There are other options too, and all of them are specified in
	  doc/eagleplayer.conf.


2005-11-05  Heikki Orsila <heikki.orsila@iki.fi>
	- Player interrupt is now a CIA A interrupt by default. As a
	  consequence CUST.Loom works (it requires that player interrupt
	  runs at a lower priority level than audio interrupts).
	  THM.BlueAngel69 might play better now - a good comparison is needed.
	  There are still a few things to do in the sound core's interrupt
	  system, see amigasrc/score/todo.txt.
	- Headphones effect clipping fix (alankila)
	- Added improved (but currently experimental) LED filtering code.
	  The old code was based on assumption that A500 and A1200 have same
	  output filtering circuitry, but this was not correct. After
	  analysing hi-fi measurements by pyksy, I designed new filters
	  by tweaking a couple of equalizers on top of a RC filter that
	  provided basic treble attenuation. Use --filter=a500e or a1200e to
	  test the new filters. (alankila)

2005-11-04  Heikki Orsila <heikki.orsila@iki.fi>
	- Separated CIA B timer A and timer B interrupts finally. Some
	  Forgotten World songs started to work, but not all. Thomas 
	  Herman BlueAngel69 swent back to its earlier buggy state. Our
	  recent interrupt handler change broke Thomas Hermann completely.
	  This change fixes our original design fault that only one CIA 
	  timer interrupt may be used, but not both. This patch takes us
	  much closer to full CIA interrupt handler support.
	- Heikki's CIAB-A and CIAB-B separation in soundcore gave us full
	  support of the MusiclineEditor player from Eagleplayer 2.02.
	  You still have to use --speedhack to give it enough
	  cpu cycles, though. (mld)
	- forgot to add detection bug fix of the two different MCMD formats
	  in amifilemagic to changelog *grin* (mld)

2005-11-03  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre8
	- Many bug fixes and cleanups.
	- Headphones postprocessing effect.
	- Improved A1200 filter emulation.
	- Added A500 filter emulation. Use --filter=a500.
	- Cleaned up sound cores timer code.
	- Fixed CIA timer initialization.
	- Improved uade123 user interface. Press 'h' in uade123 or list
	  action keys with uade123 --help.
	- New sample interpolation code (--interpolator=cspline).
	- --stderr can be used to pipe sound data to stdout.

2005-11-02  Heikki Orsila <heikki.orsila@iki.fi>
	- Fixed a very stupid bug I introduced yesterday to src/uade.c.
	  if (curs > maxs)
	    foo();
	    bar();
	  Duh. Why did I forgot {}??
	- Network byte orderized, or big endianized, subsong info transmission
	  between uadecore and frontend. This wasn't a bug. Just a change for
	  consistency.

2005-11-01  Heikki Orsila <heikki.orsila@iki.fi>
	- Removed src/effects.c. It was accidently left there from uade 1
	  (alankila)
	- Removed unnecessary functionality from src/players.c. Black listing
	  Protracker modules to be VBI timed should be in frontend logic
	  rather than emulator logic.
	- Cleaned up text messages all over the place.

2005-10-31  Heikki Orsila <heikki.orsila@iki.fi>
	- Did highly experimental changes to sound core's timing interrupt
	  system. I tested the change with all known players, and only the
	  Thomas Hermann broke out, but it was broken already, so no big
	  loss there. Of course I only tested each format with a few songs,
	  so it's very possible that if the new system doesn't work,
	  then I couldn't catch the problems. Nevertheless, I spent over an
	  hour listening to different samples. Testing this change would be
	  appreciated. One should especially pay attention to tempo, because
	  that may have gone wrong. The changes I technically made were:
	  - Made default interrupt timer to be CIA B timer A. Took away all
	    the hacks to use VBI when ever possible to be the default timer.
	  - While turning on any CIA B timer (A or B), it does not turn off
	    the other CIA B timer.
	  - Fixed CIA B timer initialization. Setting a timer (A or B) gets
	    the timer value from dtg_Timer(eaglebase).
	  - Cleaned up audio interrupt server.
	- Fixed tiny bug in uade123 file extension detection (mld)
	- Moved amifilemagic, uadeformats, and unixwalkdir modules to
	  frontends/common/ where they belong.

2005-10-30  Heikki Orsila <heikki.orsila@iki.fi>
	- Modified headphones effect. (alankila)
	- Added 'H' action key to toggle headphones effect, and 'P' to toggle
	  panning effect. Default panning value is 0.7, unless specified
	  otherwise with command line option or in uade.conf.
	- Added forgotten -O2 optimization flag to uade123 Makefile
	- Cleaned audio.c. Removed some debug #defines.
	- Imported amiga player sources from uade1 project to amigasrc/players/
	
2005-10-29  Heikki Orsila <heikki.orsila@iki.fi>
	- Antti S. Lankila <alankila@bel.fi> will be referred to as 'alankila'
	  in ChangeLog from now.
	- Beautified and cleaned up audio.c and sd-sound-generic.h.
	- Fixed a bug that caused 1 bit precision loss in audio output.
	  Sample data was multiplied after filtering, but it should have been
	  multiplied before. (alankila)
	- cust.Bubble_Bobble gives wrong subsong information. Added a logic
	  into uade123 that determines subsong ranges if default subsong
	  is outside the reported range.
	- Changed score's CIA setup so that both CIA-A and CIA-B time of day
	  counters run continously. Some players, such as Oktalyzer and
	  sean connolly depend on this. As a consequence it was possible to
	  remove a work around from score that patched the sean connolly
	  player not to use CIA TOD. However, any player using CIA TOD is at
	  risk of not functioning properly, but I have only seen two cases
	  so far (those which I mentioned).
	- Removed score from uade source root, now it's only located at
	  amigasrc/score/ directory.
	- Fixed a bug in uade123/playloop.c. If one subsong ended because of
	  silence, all the rest subsongs would end because of silence too.
	  I forgot to reset the silence counter to zero..
	- Added a headphone postprocessing effect, and an effect framework for
	  different uade frontends. Try --headphone. (alankila)
	- Try pressing 'p' on uade123 to toggle postprocessing effects on
	  and off.
	- New filter code (alankila)

2005-10-28  Heikki Orsila <heikki.orsila@iki.fi>
	- Radical cleaned up in audio.c.
	- Fixed rh and crux interpolators. Thanks to Antti S. Lankila.
	  <alankila@bel.fi>
	- Removed lots of unnecessary macros, variables and functions.
	- rh interpolator is now names as linear.
	- Removed src/config.h. It is unnecessary.
	- uade123 help will now print usable action keys too. Also, one may
	  press 'h' at run-time to see usable keys. It will print currently
	  as follows:
	  Action keys for interactive mode:
	   '.'           Skip 10 seconds forward.
	   SPACE, 'b'    Go to next subsong.
	   'c'           Pause.
	   'f'           Toggle filter (takes filter control away from eagleplayer).
	   'h'           Print this list.
	   RETURN, 'n'   Next song.
	   'q'           Quit.
	   's'           Toggle between shuffle mode and normal play.
	   'x'           Restart current subsong.
	   'z'           Previous subsong.
	- To verify whether a song uses filter or not, enable verbose mode
	  for uade123 by -v. You'll see messages like:
	   Message: Filter ON
	- Added two different types of filters: A500 and A1200. Thanks to
	  Antti S. Lankila, again. Use --filter=a500 or --filter=a1200,
	  the A1200 case is the default. Both types of filter are
	  but A1200 filter is better tested. We need feedback on A500 filter.
	- --force-filter was changed to --force-led.
	- Fixed a bug with getopts. The long options list was not zero
	  terminated, and it had worked by luck so long..
	- Added good ol' speed hack feature into uade123. Use --speedhack
	  to increase CPU speed for players that extra virtual power. It
	  is useful for players that require more cpu than 68k can give,
	  multichannel oktalyzer for example.

2005-10-27  Heikki Orsila <heikki.orsila@iki.fi>
	- Made interpolation mode selectable from command line. Use
	  --interpolator=x to choose the interpolation mode, where
	    x       = default (no interpolation),
	    rh      = rh interpolator (broken atm),
	    crux    = crux interpolator (broken atm),
	    cspline = Antti S. Lankila's spline interpolator
	              (This is not recommended for chip songs! The spline
		       spline interpolator is good for natural instruments,
		       but may produce bad sounds with chips.)
	- Interpolator is selectable from uade.conf file by adding line:
	    interpolator foo
	  Note that using anything else but default is not recommended
	  at the moment.
	- As per Michael Doering's needs, I added --stderr option to uade123.
	  It will force all terminal output printed onto the stderr, and thus
	  allows piping pure sound data. Example:
	    uade123 --stderr -e raw -f /dev/stdout DW.Platoon |postprocessing

2005-10-27  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre7
	- Antti S. Lankila <alankila@bel.fi> fixed and improved filter
	  behavior. The filter state must be updated even when filtering
	  is not outputted. Output scaling was fixed to the right place
	  so that it does not distort filter state. Unnecessary range
	  scaling of input samples was removed. Some documentation was
	  added about technical properties of the IIR filter.
	- Filtering by default was not enabled for those people who had an
	  earlier uade2 version installed to their home directory, because
	  make install does not overwrite ~/.uade2/uade.conf. Now the default
	  is hard coded into the source code.

2005-10-27  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre6 (tester pre)
	- Uade core now supports only 16-bits stereo. If 8-bits or mono is
	  needed the sample data can be postprocessed.
	- Added experimental filtering support. It should be better than the
	  one found from uade1. Thanks to Antti S. Lankila <alankila@bel.fi>
	  for IIR filter coefficients and advice.
	- New uade.conf options:
	   filter     - enable filter emulation
	   no_filter  - disable filter emulation
	   filter_off - turn filter always off
	- New command line options:
	   --filter Enable filter emulation
	   --force-filter=x, where x = 0, or x = 1. Set filter state either
	     off (0) or on (1).

2005-10-16  Heikki Orsila <heikki.orsila@iki.fi>
	- Added a fuzzy state diagram on client-server interaction from client
	  perspective.

2005-10-08  Heikki Orsila <heikki.orsila@iki.fi>
	- Unknown keywords in uade.conf are ignored. Old behavior was to
	  terminate uade123 on an unknown keyword.
	- First try to load uade.conf from ~/.uade2/uade.conf, and then
	  try the global config file ($PREFIX/etc/uade.conf)
	- Simplify playloop in uade123.
	- Beautify directory hierarchy scanning by avoiding unnecessary
	  '/' characters.
	- Started specifying uade client-server protocol. See
	  doc/play_loop_state_diagram.dia.
	- Removed S3M support. It's not an Amiga format, and thus it doesn't
	  belong to UADE. It might also interfere with other players when
	  UADE is used as an XMMS plugin. Use XMP, modplug or something
	  else for these formats.
	- 'make check' is now 'make soundcheck' because it's more a sound
	  check than a good test set.

2005-10-03  Heikki Orsila <heikki.orsila@iki.fi>
	- Action keys made into default behavior for uade123.

2005-09-08  Heikki Orsila <heikki.orsila@iki.fi>
	- Giulio Canevari pointed out that --panning doesn't work. For
	  some reason I didn't notice that (perhaps didn't test ;-). The
	  problem was false parameters for GNU getopt.
	- mod2ogg2.sh from Giulio Canevari
	
2005-09-04  Heikki Orsila <heikki.orsila@iki.fi>
	- Added -g option to uade123 to only print information about songs.
	  Songs are not played in this mode. All relevant output goes into
	  stdout. This should be useful for scripting people. An example:

	  $ uade123 -g /svu/chip/mod/mod.Unit-a-remix 2>/dev/null
	  playername: Protracker & relatives
	  modulename: unit-a-remix
	  formatname: type: Protracker
	  subsong_info: 1 1 1 (cur, min, max)
	  <uade123 quits fast>

2005-09-01  Heikki Orsila <heikki.orsila@iki.fi>
	- Cygwin fixes. Add cygwin detection to configure script. Makefile
	  should be aware that uade123 is named uade123.exe on cygwin.

2005-08-27  Heikki Orsila <heikki.orsila@iki.fi>
	- Fixed a memory copying bug which could cause sound data
	  corruption when skipping 10 seconds forward with uade123. The bug
	  was at playloop.c:273. memmove should be used instead of memcpy (shd)
	- A patch from Jarno Paananen <jpaana@s2.org>. It fixes use of C99
	  anonymous initializers with sigaction (2) on Cygwin.

2005-07-28  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre5 (developer release)
	- Nothing better to do. Let's release the new version for users to
	  test.

2005-07-25  Heikki Orsila <heikki.orsila@iki.fi>
	- It seems ALSA lib could fork and consequently terminate a process
	  when used through libao, and we must not consider it an error in
	  our signal handler that catches all dead children. The signal
	  handler assumed that the only child that could die is uade. (shd)

2005-07-24  Heikki Orsila <heikki.orsila@iki.fi>
	- New keys for interactive mode:
	   [0-9]  - Select subsong in range [0, 9]
	   q	  - Quit player
	   s      - Switch between normal and shuffle mode
	   x      - Restart current subsong
	- Added - or --no-song-end switches. Song just keeps playing even if
	  the amiga player says it has ended. Dude! You can get pretty weird
	  sounds with this, and sometimes the sound core crashes, and should
	  crash. Fortunately that doesn't kill the simulator :)
	- Made help print (-h) prettier by aligning tex columns
	- Added -K or --no-keys to disable action keys (this can be used to
	  override the uade.conf if it enables actions by default).
	
2005-07-23  Heikki Orsila <heikki.orsila@iki.fi>
        * UADE 1.50-pre4 (developer release)
	- Added shell interaction keys into UADE123. The keys can be enabled
	  with -k switch, or adding line "action_keys" into uade.conf.
	  The keys are (mimiking XMMS):
	    z     - Previous subsong
	    c     - Pause
	    b     - Next subsong
	    n     - Next song
	    .     - Skip 10 seconds forward
	    ENTER - Next song
	    SPACE - Next subsong
	  Does someone want these configurable into uade.conf? Please email
	  me.
	
2005-07-22  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre3 (developer release)
	- Added a -j to skip x seconds of audio from the beginning. Note that
	  this does not affect timeout parameters in any way. If timeout is
	  1 minute and skip is 2 minutes, the song will just end before
	  anything is played.

2005-07-21  Heikki Orsila <heikki.orsila@iki.fi>
	- Added silence timeout
	- Wrote a config file parser for uade123. Look at uade.conf file
	  for instructions. uade123 tries to load following files in order on
	  startup: BASEDIR/uade.conf and $(HOME)/.uade2/uade.conf. Command
	  line options can override config file parameters. Users of uade123
	  might want to configure timeout, panning and such values as
	  personal defaults. This is a very important feature important over
	  uade 1.0x command line tool.
	- Restructured uade123 code into different code modules to make
	  maintaining and code reuse easier.
	
2005-07-18  Heikki Orsila <heikki.orsila@iki.fi>
	- Fixed a bug in uade123 that prevented it from playing the last
	  subsong of a song.

2005-07-18  Heikki Orsila <heikki.orsila@iki.fi>
	* UADE 1.50-pre2 (developer release)
	- uade123 now has eagleplayer fileformat check ignoring feature (-i),
	  panning (-p), song timeout (-t), and subsong timeouts (-w)

2005-07-17  Heikki Orsila <heikki.orsila@iki.fi>
	- uade123 now uses GNU getopt
	- uade123 can now output both raw and wav formats by using libao
	  file output mechanism. Wav format is the default. Example:
	  uade123 -e wav -f foo.wav songfile
	- The sound core now reports to the simulator when audio output should
	  start. Traditionally the simulator has produced audio output from
	  the reboot of the amiga even if it is only useful to output audio
	  after all the lengthy player initializations have been made in
	  the sound core. For example, AHX.Cruisin now has 0.96 seconds less
	  zero samples in the beginning.
	- Cleaned up sound core a bit. Removed some unused definitions
	  of messages between sound core and the simulator. Removed unused
	  code that was designed to be used when running sound core under a
	  _real_ AmigaOS.
	- Made uade123 less verbose. Use -v option to get more details.
	- Renamed uade-trivial.c to 'uade123.c' in src/frontends/uade123
	- Renamed directory 'trivial' to 'uade123' in src/frontends/

2005-07-15  Heikki Orsila <heikki.orsila@iki.fi>
        * UADE 1.50-pre1 (developer release)
	- Lots of changes into uade123
	- This is just a preview of the new system. There are no interesting
	  features over uade 1.0x versions. This release doesn't even have
	  xmms / beepmp plugins.
	- Short instructions for testing:
	   $ ./configure && make
	   $ make test
	   $ make install
	  Will install everything to $(HOME)/.uade2/. Then
	  $(HOME)/.uade2/uade123 is the player you can use. This version
	  uses libao for audio output.

2005-07-12  Heikki Orsila <heikki.orsila@iki.fi>
	- Code in src/amifilemagic.c does amiga fileformats detection. If it's
	  useful for any other project out there, it is now dual licensed
	  under the GNU GPL _and_ Public Domain. By public domain we mean
	  that you can do anything you like with the code, including
	  relicensing arbitrarily for your projects.

2005-07-11  Heikki Orsila <heikki.orsila@iki.fi>
	- Improved the command line frontend in src/frontends/trivial/,
	  and now it is called uade123. It can now do fileformat detection by
	  content, and load proper players from their installation place.
	  Also, it can play multiple songs in a sequence if one switches to
	  next song with ctrl-c before the song actually ends. If the song
	  ends by itself, the system will crash ;) 
	- Found a bug in amifilemagic by accident. chk_id_offset() function
	  tested patterns of length sizeof(patterns[i]) which is totally
	  wrong. It was corrected to strlen(patterns[i]).

2005-07-09  Heikki Orsila <heikki.orsila@iki.fi>
	- started hacking uade. the goal is to release uade 2.00 someday
	  http://board.kohina.com/viewtopic.php?p=3499#3499
	- these changes start a series. version 1.50 will be the first public
	  release in this series.
	- src/frontends/trivial/ can now play single file songs
	- debugging is broken because libao can't handle signals well
	- tons of things missing from the system
