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
