Changes done in the following versions:

1.00-1.10
---------
* Created

1.11
----
* Fixed a bug in layer 2 routine, which made these files sound real weird.
* Added 8-bit sound support.
* Added support for ARMs without SMULL.

1.12
----
* Tuned many things to cajole the compiler into making code I like. This has
  speeded up everything (especially layer 3) quite a lot.
* The program simply got too fast, which triggered a latent bug, that has
  now been removed.
* Added an "auto queue" function to the frontend. This queues the next file
  in the same directory if enabled.
* Added some system vars, that can control the buffer size and the volume.

1.13-1.14
---------
* Fixed a bug that could happen if none of the system vars were defined.
* Various speed improvements. Not much, but it's the right direction.

1.15
----
* Forgot to make the ID3 genre byte available in the file info block.
* Changed Auto Q to continue into directories it may meet while looking for
  the next file. It will also go up and continue the scan in the parent when
  meeting the end of a directory.
* Mono was untested and of course it didn't work. It seems ok now, but my
  collection of mono files is very much smaller than stereo, so no
  guarantees.
* If a tag is present, the player will stop looking for frames when getting
  close enough to the end of the file (and only garbage can be left). Some
  programs seem to align the tag on a 16 bit boundary (guess what machines
  these come from), thus leaving a malformed header just before it.

1.16
----
* By request, an iconbar icon was added, so you can close/open the window
  without quitting/restarting the app.
* Some more checks on the frame headers added, so it skips more silly things.

1.17
----
* Changed the skipping of daft RIFF-headed mpeg streams, so it doesn't skip
  quite so much.
* More header checking, some more malformed streams work now.
* Argh, the 'clean' clipping brought back the mono bug. Now gone again.
* An error now stays displayed for the appropriate time, also if the playback
  stops.
* Changed some things to make the claims in the help file true, especially
  wrt pausing.

1.18
----
* Changed the cpu verification code. The plan is to have only one module soon.
* Changed the autoQ scan to look for files of same type rather than files of
  type AMPEG.

1.19
----
* MPEG 2.0 layer 3 sounded weird (untested), and a bug was removed that fixed
  it.
* Made the frontend quit if the module disappears.
* AMPlayer_Info now returns useful info at all times (e.g. the latest error
  can be returned even if it made the player stop, which it couldn't before).
* "Stream error" replaced by 3 more descriptive messages.
* Survives more stream errors now - some weird ones could provoke a data abort
  which wasn't very nice.

1.20
----
* Put a limit on the number of files that will be skipped while scanning for
  a file to queue (with Auto Q). If that limit is reached, auto Q is turned
  off. Currently the limit is 30, but will be user-adjustable at some point.
* Added the option of killing the module at the same time as quitting the
  frontend.

1.21
----
* Skipping back and forth was somewhat erratic at large buffer sizes, so now
  it discards the buffer when the target point has been located. This improves
  response, but means that only fast filing systems can supply enough data
  to have sound while skipping.

1.22
----
* Changed the SWI and error number bases to allocated ones. (&52E00 and
  &816B00 respectively).
* Added code to check if SVC stack is almost empty when getting a callback.
  This may get round some NFS/ShareFS problems, but I can't test it myself.
* Changed the frequency selection so it gets closer to the desired one if
  the exact match isn't available.

1.23
----
* Changed the frame->time formula so files that last a long time should not
  make the counter wrap around (though I have none of those, so it's untested)
* Changed the frontend to show the _module_ version to avoid confusion.

1.24
----
* Did a bit of research, and this enabled me to get some, if not all, of the
  files working, that previously had strange bubbly noises in them. This is
  apparently streams made by Xion and AudioCatalyst.

1.25
----
* Most of the time, the stack depth checking didn't actually work. This has
  been fixed, and the checking method has also been changed (it now registers
  a callafter to re-register the callback, to avoid getting into infinite
  loops).
* Finally found the cause of the wimp errors that could crop up when stopping.
  Sadly, the fix is not exactly what I would have wanted, because it means that
  the dynamic area is present until the module is killed (instead of only while
  playing). It does, however, give you the ability to drag the buffer size,
  also when it isn't playing.
* The stack check level has been made adjustable (probably temporary until a
  nice overall value is found).
* Added AMPlayer$FileBuffer that controls the input buffer size.

1.26
----
* Added another auto-queue state to the frontend, which is entered when no
  file could be queued. This means that you stay in auto-queue mode, instead
  of the previous behaviour where it would be turned off.
* Added the -Cue switch to the *AMPlay command.
* Added an *AMPause command.
* Added an *AMLocate command.
* Added stuff to do with upcoming plugins. It isn't complete, don't use it.

1.27
----
* Added plugin support.
* SWI AMPlayer_Info did not preserve all the FP registers in some cases.

1.28
----
* Extended plugin support.
* Added SWI AMPlayer_FileInfo
* Adjust-close on frontend window opens the directory containing the file
  currently playing (if possible).
* Frontend now uses AMPlayer_FileInfo to verify files when it is looking for
  the next one to queue.
* If file starts with an ID3v2 header, it will be skipped (how many headers
  and stuff are people going to add before they realise that it's a new
  file format and call it something else?)
* Variable bit rate MP3 files now work.
* AMPlayer$Volume is updated when the module is killed.
* ID3v1.1 tags are now supported (track numbers are now returned)
* 'Shutdown complete' now stops playing.
* Less RMA 'thrashing' (reallocation of offset cache is now 'blocky')

1.29
----
* ID3v2 support added.
* Resizing dynamic area no longer causes music to stop.
* Fixed aborts that happened occasionally with varying layers and bitrates.
* Switching between tracks played at different frequencies is smooth and
  no longer gives helium-voices, or mega-lethargic-voices.
* AMLocate command now accepts hh:mm:ss and mm:ss instead of the awkward
  hh[:mm[:ss]] format.
* High and low bitrates described for variable bitrate files
* MPEG 2.5 at 8kHz and 12kHz now supported.
* Stereo is around the right way.
* VBR support for 'total time' added.
* *AMInfo can now be passed a filename to provide information on that file.
* Removed API information from !Help
* Created AMPlayerSWIs manual (Andrew Hill)
* ID3v2 frame data is now 0 terminated.

1.30
----
* Fix for misused Xing VBR headers (filesize given as zero rather than
  omitted).
* Minor correction of a link in the StrongHelp manual.

1.31-1.33
---------
* ARM coded many routines for speed.
* Revamped build system.
* Added application builds (for development only)
* Added SharedSound support.
* Added Streaming Interface.
* Added MetaData Interface.
* Added Internal Event System.
* Reworked read_frame routine to back out on lack of data.
* Reworked read_frame routine to cope with skipping broken data.
* Reworked all code to run from ROM (Except that using the 8 bit sound system).
* Added support for Multiple Instantiations.
* Any pending callbacks are killed on finalisation.
* Reinit active sound systems on Sound Started Service.
* Moved AMPlayer module into !System, and added dummy AMPlayer module to
  load the correct variant for the CPU in use automatically.
* Adjust click on 'AutoQ' clears the queued item
* Only AMPEG files can be added to the playlist.
