XMPlay 2.8 - Copyright (c) 1998-2003 Ian Luck. All rights reserved.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Files that you should have found in the XMPlay "package"
========================================================
XMPLAY.TXT    This file
XMPLAY.EXE    The executable
XMPWMA.DLL    WMA support module
FILE_ID.DIZ   BBS description file


What's the point?
=================
XMPlay is a Win32 (Windows 95/98/NT/2k/ME/XP/etc...) music player, supporting
several audio formats. Initially, when XMPlay was first released in 1998, only
the XM format was supported, hence the name "XMPlay".

Stream formats
--------------
* OGG - Ogg Vorbis
* MP3 - MPEG1/2/2.5 layer 3
* MP2 - MPEG layer 2
* MP1 - MPEG layer 1
* WMA - Windows Media Audio
* WAV - any format that has a codec installed

These formats can not only be played from files located locally on a drive
or LAN, but also from FTP/HTTP/Shoutcast/Icecast servers on the internet,
optionally writing a copy to disk at the same time.

WMA playback requires the Windows Media Format modules to be installed. They
come installed with Windows Media player, so will already be on most users'
systems, but they can also be installed separately (WMFADIST.EXE is available
at the XMPlay website). If these modules are not installed, XMPlay will still
work fine, just without WMA support.

Module (MOD) formats
--------------------
* MO3 - Modules with MP3 or OGG encoded samples
* IT  - Impulse Tracker modules
* XM  - FastTracker2 modules
* S3M - StreamTracker3 modules
* MTM - MultiTracker modules
* MOD - Generic module formats
* UMX - Unreal/Tournament music package

XMPlay's got the best (most accurate to FT2) XM reproduction to be heard
from any player. All features/effects (including several FT2 quirks) are
100% supported. The IT reproduction is also practically balls-on, with full
support for all effects/NNA/DCA/filters etc... additional features like
stereo samples and DMO effects are also fully supported.

XMPlay also supports the MO3 format (modules with MP3 or OGG compressed
samples). If you wish to create MO3s, then you should download the MO3
encoder from the XMPlay website (URL below).

Winamp plugins
--------------
As well as the listed formats with built-in support, a whole load of other
formats can be played with XMPlay too, using Winamp input plugins.


Main features
=============
* Balls-on Accurate
- plays the way nature intended

* 32/24-bit output
- take advantage of supporting hardware for ultimate quality

* Interpolation & volume/pan ramping
- for output that's smoother than a baby's arse :)

* 5 Band Equalizer
- adjustable gain at five frequency bands

* Reverb & Surround Sound
- for a richer, fuller flavour

* Per-track settings
- save default output settings (eq/reverb/etc...) to be used each time a
  track is loaded

* Track list saving/loading
- reads PLS/M3U/ASX playlists, writes PLS playlists

* Track information
- displays file information, instrument/sample texts, and messages/tags

* WAV writer (with normalization and external encoder options)
- use XMPlay's output to write your own CD/MP3s/etc...

* Integration
- open files from Explorer, drag'n'drop files/directories/shortcuts/URLs,
  and monitor the clipboard for streamable URLs, drag tracks from XMPlay
  into other programs, global hotkeys

* FTP & HTML scanning
- scan for streamable files in FTP directories and HTML webpages

* Winamp plugins
- adds support for a load more audio formats

* Archive file plugins
- play files from within archives (ZIP/RAR/ARJ/LHA/etc...)

* Visualisations
- compatible with Sonique plugins, built-in MOD pattern & spectrum views

* Nice skinnable GUI! :)


The main window
===============
The title of the current track is displayed at the top, the buttons below
that from left to right are...

Track info - opens/closes a window to display information on the current
    track (also an extended playlist). See "The info window" below.

Previous track - play the previous track in the playlist, skipping over any
    that are set to "skip". Right-clicking jumps to the previous sub-song in
	a multi-song track.

Play / Pause - toggles play/pause of the track. If no track is loaded, then
    the currently selected track in the playlist is loaded (or the 1st track
    if none is selected). Right-clicking plays a random track.

Stop - stops playback, and sets the position to the start. Pressing when
    already stopped, unloads the track.

Next track - play the next track in the playlist, skipping over any that
    are set to "skip". Right-clicking jumps to the next sub-song in a multi-
    song track.

Open file(s) - opens and plays file(s). If you open an FTP directory URL,
    XMPlay will automatically scan the directory for streamable files.

The 2 sliders below these buttons control the volume and balance. Next is
the time display, which can be switched (by clicking on it) between the time
passed, the time remaining, or the order/frame/page position (depending on if
it's a MOD/MPEG/OGG format being played). When displaying the MOD position,
the bpm/speed is shown to the right and the active channel count is shown to
the left. The active channel count will be inverted if any virtual channels
have been killed within the last few seconds.

Below the time display is the position indicator. It can also be used to
change the playback position. When streaming from the net, it will light-up
to indicate how much of the file has been downloaded so far (if the file is
of a fixed length).

Below that, some basic information on the format and length the current track
is displayed. To the right of that is the looping switch, which can be set to
never loop, always loop, or auto loop (only files that are apparently intended
to be looped). When looping is enabled, you can also choose to have the tracks
looped only once.

When you drag'n'drop files into the main panel, they are opened as if the
"Open file(s)" button had been used - ie. playlist cleared and new tracks
added. As well as files, whole directory trees and shortcuts can also be
drag'n'dropped into XMPlay.

TIP: Double-click on any non-button area to toggle "mini on top" mode.

TIP: Right-click the minimize button to minimize to the tray.

TIP: Right-click the close button to have playback continue from the
     current position the next time XMPlay is loaded.


The 'Options and stuff' window
==============================
Right-clicking on any non-button area of the main panel gives the option to
open the 'Options and stuff' window, which, as the name suggest, contains
options and stuff. Clicking on the "?" button opens the XMPlay support site.

Some pages require the "Apply" button to be pressed for any changes to take
effect, others don't. A desciption of the various page contents follows...


Miscellaneous
-------------
The "MOD options" only affect MOD file formats (MO3/XM/IT/etc).

Interpolation:
    "Linear" interpolation "draws" a straight line between the samples,
    "Sinc" interpolation "draws" a smooth curve between the samples and
    requires more CPU power.

Ramping:
    Ramping makes volume and panning changes smoother so that sudden large
    volume/panning changes do not cause any "clicking" in the sound. It
    also fades-in (very quickly) new samples so that there is no click from
    them. Sensitive ramping only performs the fade-in when it's neccessary
    to prevent a click, so percussive sounds stay sharp.

Surround Sound:
    "Mode 2" ignores panning, so is particularly good for mono MODs.

MOD playback - decides how MOD files should be played:
    FT2 MOD = FT2 plays MODs slightly differently from the convention,
      infact most trackers play MODs differently from eachother! Anyway,
      if you want to hear MOD files as FT2 plays them, then select this.
    PT1 MOD = This plays MODs as the original ProTracker did, so now you
      can relive those early Amiga days! :)

Pan separation:
    The higher the setting, the more sounds are pushed away from center.
    Obviously can only affect things when playing in stereo.

Trim ending silence:
    If there is any silent space at the end of a track, it will not be
    played. Instead XMPlay will jump to the next track, assuming there
    is more than one track in the list, and looping is not on.

Restrict rendering:
    Visual plugins can take a very high amount of CPU when the window is
    epanded to a large size. Using this option restricts the rendering to
    the dimensions specified, beyond which the rendered image is stretched
    to fit the window.

MOD pattern scrolling:
    The pattern display can have the current position centered, or it can
    follow as the position goes off the display.

Desktop shortcut to XMPlay:
    Places a shortcut to XMPlay on the desktop.

Always in tray:
    This removes XMPlay from the taskbar, and puts the icon in the tray.
    A side-effect of this is that XMPlay is removed from the "Alt-Tab"
    list. Instead, you can bring XMPlay to the foreground by clicking on
    the icon in the tray.

Restrict download rate:
    If enabled, the download rate is restricted to the rate required to
    sustain playback. Otherwise, the file will be downloaded as quickly
    as the internet connection allows. This option does not affect WMA
    file streaming or Winamp plugins.

Auto-load saved track settings:
    This enables the automatic loading of "Output Options" settings
    specific to the new track being loaded. See the "Output Options"
    section for details.


Playlist & Integration
----------------------
Auto advance:
    Tells XMPlay to go onto the next track when the current one ends.

Random play order:
    Plays the tracks in random order.

Loop list:
    If enabled, XMPlay plays the first track in the list again after the
    last track.

Stop at dead track:
    If a "dead" track is encountered XMPlay will stop (not advance).

Stop at end of queue:
    After playing all queued tracks, XMPlay will stop (not advance).

Unload final track:
    When XMPlay reaches the end (stops advancing), it'll unload the last
    track that was played.

Verify new files:
    If enabled, XMPlay will verify that files that you open are playable
    before they are put in the playlist (except URLs, which XMPlay does
    not verify). The contents of directories added to the list are always
    verified before being added.

Scan HTML pages for URLs:
    This makes XMPlay scan webpage URLs for links to MPEG/OGG/WMA/WAV files,
    which it then adds to the list.

Show filenames in extended list:
    Makes XMPlay show the filenames (rather than titles) in the info window
    playlist.

You can set XMPlay to be the default player for the formats it supports. So
that whenever you "open" a file from within Windows Explorer, it is opened
by XMPlay. An extension association can be removed by unselecting it.

Monitor the clipboard URLs:
    XMPlay can monitor the clipboard for URLs of streamable files, which
    it will automatically play or add to the playlist. When you see a
    streamable file on a webpage, simply right-click and "Copy Shortcut"
    to have XMPlay stream it.

Add tracks to list:
    If enabled, tracks opened from Windows Explorer or the clipboard are
    only added to the playlist, without clearing the list first. The same
    thing is done when using the "Add to XMPlay-list" option (right-click
    on the file in Explorer). Enabling the "and play" option will result
    in the newly listed tracks also being played.


Title format
------------
Here you can choose how XMPlay should format the title displayed for
MPEG/OGG/WMA tracks. For MPEG files XMPlay reads both ID3v1 and ID3v2
tags, using whichever is longer in the case of both being present.

This option doesn't affect MOD or WAV formats because they do not have
the relevant tags. Nor does it affect plugin played formats - see the
plugins' config for any title formatting options that may be available.


Hotkeys
-------
Global shortcuts allow some of the most common actions to be performed from
within other software, via a customisable combination of keys.


DSP
---
The response speed to all these options is dependant on the buffer size,
the delay will be the length of the buffer chosen in the device setup.

Amplification slider:
    This is different to the volume slider. The volume slider controls the
    level of the sound card output, the amplification slider controls the
    level of the actual decoding. The higher the amplification, the greater
    the dynamic range of the decoding output, but if it's too high clipping
    may occur resulting in distortion of the sound.

Auto-amp:
    This causes the amplification level to be automatically reduced whenever
    clipping occurs. With fade-in enabled, it will fade-in new tracks until
    they clip, then it'll behave the same as normal. Dynamic mode continues
    to increase and decrease the amplification level throughout playback.

Reset on new track:
    Resets the amp level when a track is loaded.

DSP volume & balance:
    Normally, when adjusting the volume slider, XMPlay tells the soundcard
    drivers to adjust the volume/balance accordingly. But in modern Windows
    (with WDM drivers), that also affects the sounds from all other apps.
    So this option makes XMPlay apply the volume & balance directly to the
    sample data instead. This also means that volume/balance changes will be
    slightly delayed (by the buffer length).

NOTE: Reverb is only applied when the output is stereo.


Device
------
You can change which device (if you have multiple devices) to use, and
what sample rate/resolution/channels/buffer to use with the device.

You may also choose the "WAV Writer" device, to write the output to WAV
files rather than a soundcard. External encoders ("External - ?") can also
be used to write compressed audio files, eg. MP3 or OGG.

NOTE: If looping is enabled while using a writer device, the track will be
      looped only once in the written file, even if the "Only once" switch
      is not on.

The amplification slider controls the volume level of the WAV. Be careful
not to use a too high amplification level as this may result in samples
being clipped. You can avoid any amplification problems by using the "WAV
Writer - normalized" device.

If the device does not support the settings you chose, XMPlay will use the
closest settings that the device does support. When a track's sample rate
is not supported by the device, XMPlay will automatically down-sample it to
a rate that is supported.

NOTE: The sample rate option only affects MOD formats. See the "Output"
      text in the "General" info window for the exact format of the output.

Dithering and noise-shaping are recommended when writing to disk (eg. to
burn on CD), but noise shaping is not recommenced if you intend to process
the written file (whenever possible, use 32-bit instead).

NOTE: When writing to disk (including external encoder), 32-bit is standard
      IEEE754 floating-point ("type 3" WAV).

Enabling "auto filename" removes the need to select a filename when writing
WAVs or using an external encoder. The files are written as the same name
with the default extension added. Because no user interaction is required,
writing is also continous in this mode - it automatically moves onto the
next track when the current one ends (if the "auto advance" option is
enabled).


External encoders
-----------------
Here you can add/remove/edit the encoders available to the device list.
Any command-line encoder can be used, optionally using STDIN, so that no
intermediate file writing is required.

The resolution of the sample data sent to the encoder will be as set in
the "Device" options above, unless it is overriden here.

Settings for the LAME and OGGENC encoders are provided, to use them put
the LAME.EXE or OGGENC.EXE file in the same directory as XMPlay. See the
support site for a load more encoders.


Plugins & Skin
--------------
The Winamp input plugins that are installed are listed here. When changing
a plugin's config while it's being used to play a track, you will probably
have to stop/restart the track for the config changes to take effect.

NOTE: Only plugins that can feed the sample data to XMPlay (rather than
      use their own output device) are loaded, which is most of them. A
      large selection of plugins are available at the support site.

The current skin name, and a link to the author's website or email address
is shown at the bottom of the page. If the author has included a "readme"
text, that can viewed by clicking the "Readme" button.


Find tracks
-----------
You can search for tracks containing a specified substring in their title
or filename. As you type the search string, or change the search options,
any matches will be listed below. You can click on a match to jump to it
in the playlist(s). Double-clicking will cause the track to be played.

Skip playback of non-matching tracks:
    XMPlay will skip over any tracks that do not match the search criteria
    when playback advances.


The "Output Options" panel
==========================
The response speed to all these options is dependant on the buffer size,
the delay will be the length of the buffer chosen in the device setup.

Interpolation switch:
Ramping switch:
Surround Sound switch:
Pan separation slider:
    See the "Miscellaneous" section above for details on these.

Auto amplification reduction switch:
Amplification slider:
Equalizer switch & sliders:
Reverb switch & sliders:
    See the "DSP" section above for details on these.

Top-left disk switch
--------------------
When ticked, this enables the automatic loading of "Output Options" settings
specific to the new track being loaded. The settings are stored based on the
track's filename, so a file can be moved around and the settings will still
take effect when it's loaded so long as the filename stays the same. If the
track does not have specific settings saved for it, then default settings are
used. Right-clicking brings up a menu of options...

Save track settings - saves the current settings as the default for the track
    that's currently loaded, overwriting any settings that were saved for it
    previously.

Load track settings - loads the saved settings for the current track.

Remove track settings - clears the current track's saved settings.

Remove all track settings - clears all saved settings for all tracks.

Save default settings - saves the current settings as the default for any track
    that does not have settings specifically saved for it.

Load default settings - loads the default settings.


The playlist panel
==================
Double-clicking on a track will make XMPlay play the track. Right-clicking
brings up further options to play the track, to write a copy to disk while
playing the track (URLs only), display file info (if plugin allows), remove
the track, skip the track, and queue the track.

If an internet stream is of a fixed length (a file on an FTP/HTTP server),
the "write to disk" option can be selected while the track is already playing
(or has even finished playing), and XMPlay will write the portion that has
already been downloaded and continue to write the remainder that is being
downloaded. So you can preview the track before deciding if you want to keep
it, without having to start downloading it again.

Shoutcast streams that include the track titles, can be automatically split
into the separate tracks when writing them to disk.

The currently selected track is signified by a light-blue background. Tracks
that are set to be skipped are displayed in a small dimmed font. Dead tracks
(those that were unsuccessfully loaded) have a single red line through them.
The currently opened track is signified with a yellow arrow. Tracks that are
queued for playback have a smaller yellow arrow, and the queue position next
to it.

Files can be added to the list by drag'n'dropping them from Windows Explorer.
Whole directory trees and shortcuts can also be drag'n'dropped into the list.
URLs can also be dragged from web-browsers. The new tracks are inserted into
the position that you "dropped" them.

Bottom buttons
--------------
Random play order - plays the tracks in random order. Right-clicking brings
    up more options to shuffle the playlist, sort by filename or title, and
    to reverse the order.

Save list - writes the playlist to a PLS file

Add to list - adds files/URLs to the playlist. Right-clicking allows you to
    add all tracks in a directory (and sub-directories) to the list. If you
    add an FTP directory, XMPlay will scan for MPEG/OGG/WMA/WAV files in the
    directory, and add them to the list.

Remove from list - removes the selected track from the list. Right-clicking
    gives further options to remove duplicates tracks, dead tracks, and all
    tracks. There's also an option to clear the queue.

Loop list - if ticked, XMPlay plays the first track in the list again after
    the last track. Right-clicking gives the option whether XMPlay should go
    onto the next track when the current one ends, whether playback should
    stop at the end of a queue, and whether to unload the final track when
    finished.

Next to the buttons is the total playlist duration - clicking it will switch
it to a track count display.

TIP: You can use the mouse-wheel to scroll the list, and drag tracks up/down
     the order. You can also drag tracks from XMPlay into other programs, by
     clicking the right button while holding the left button down. Multiple
     tracks can be selected using the standard ctrl/shift+click methods.

TIP: A track can be queued for playback by clicking the middle mouse button.

The playlist is also duplicated in the info window, where it can be resized.


The info window
===============
The info window displays information on the currently loaded track. There
are 4 modes...

General - displays info on the file's name, format, size, length, etc...

Message - displays any messages or tags contained in the file, including
    the current track name when streaming from Shoutcast servers.

Samples - displays instrument and sample texts (MOD formats only).

Vis - displays visualisation plugins.

The window can be resized by dragging the edges, or you can have XMPlay
automatically resize the window to fit the contents by ticking the box at
the top (2nd from left). The mouse wheel can be used to scroll up/down.

Right-clicking gives the option to copy the window's text to the clipboard.
Any URLs that are present in the text can also be opened by right-clicking.

The 3rd button from the left toggles having the playlist panel duplicated
in the info window. With "auto resize" enabled, only the playlist display
width is resized - the number of tracks listed is left as it is.

There is an extra button in the info window version of the playlist, with
which you can find tracks containing a specified substring in their title
or filename. Right-clicking allows you to choose to have only the matched
tracks played (the rest will be skipped).

The current and total number of tracks is also displayed in the top-right.

TIP: Filenames (rather than titles) can be displayed in the playlist by
     using the "Show filenames in extended list" option (right-click the
     "add to list" button).


MOD Pattern Display
===================
The "MOD Pattern Display" visualisation applies to MOD formats only, and
allows you to get an idea of how the files were "tracked". For simplicity
and clarity, not all effects are shown and a universal notation is used
for all formats. The following entries are shown by XMPlay:

note
instrument (shown in green)
portamento (red)
tone up/down (red ^/v)
vibrato (red ~)
volume (blue)
volume up/down (blue +/-)

NOTE: All numbers are shown in hex, except the row number.

When all the channels do not fit in the display, the 4 & 6 (numpad) keys
can be used to scroll the display. The selected channel can also be muted
using the 5 (numpad) key.

By default, the pattern display will have the current position centered,
but you can also have it scroll as the position goes off the display. The
scroll mode is toggled by clicking the middle mouse button (or using the
shortcut key).


Dragon droppings
================
Files, whole directory trees, shortcuts, and URLs can be drag'n'dropped into
XMPlay. If they are dropped into one of the playlist panels, then the tracks
are inserted into the playlist at the position they were dropped in. If they
are dropped outside the playlist panels, then the playlist is cleared, and
the dropped tracks are added and played. Holding the shift key down as you
drop the tracks reverses this - eg. the list is cleared if the tracks are
dropped in a playlist panel.

The files and URLs of tracks can also be dragged out of the XMPlay playlist
panels, into other applications, by clicking the right button while keeping
the left button pressed.


Keyboard shortcuts
==================
           F9 = Open the "Options and stuff" window

            O = Open/play file(s)
   P or Pause = Play/Pause (+shift = stop)
  left cursor = Rewind (+shift = jump to previous sub-song)
 right cursor = Forward (+shift = jump to next sub-song)
         Home = Restart current track
      Page Up = Play previous track in playlist
    Page Down = Play next track in playlist
          End = Play random track in playlist
 (numpad) -,+ = Adjust volume
 (numpad) /,* = Adjust amplification
            Q = Toggle EQ
            V = Toggle reverb

            M = Toggle "mini on top" mode
            N = Minimize (+shift = to tray)
       Alt+F4 = Close

       Insert = Add file(s) to playlist (+shift = directory)
    up cursor = Select previous track (+shift = 5 tracks)
  down cursor = Select next track (+shift = 5 tracks)
 ctrl+up/down = Select current playing track
        Enter = Play selected track
            / = Queue selected tracks for playback
       Delete = Remove selected tracks (+shift = delete files too)
     Spacebar = Toggle skipping for selected tracks
       ctrl+F = Search for tracks in playlist
            F = Find next (+shift = previous)
 ctrl+shift+F = Select all search matches
alt+[0-9/A-Z] = Find next track beginning with the character (+shift = prev)
            I = Invert selection
  Scroll Lock = Toggle following the current track in playlist panel

           F1 = Display "General" info window
           F2 = Display "Message" info window
           F3 = Display "Samples" info window
           F4 = Display visualisation window
           F5 = Open playlist in info window
            - = Toggle filenames in info window playlist
   (numpad) 8 = Scroll up info window (or prev vis)
   (numpad) 2 = Scroll down info window (or next vis)
       ctrl+C = Copy info window text to clipboard

   (numpad) 4 = Select previous channel (MOD pattern display)
   (numpad) 6 = Select next channel (MOD pattern display)
   (numpad) 5 = Toggle mute selected channel (MOD pattern display)
   (numpad) 9 = Invert muting of all channels (MOD pattern display)
   (numpad) 7 = Unmute all channels (MOD pattern display)
            S = Toggle MOD pattern scroll mode

            W = Display Winamp file info dialog for current track
      shift+W = Display Winamp file info dialog for selected track

          F12 = Reload current skin (non-compiled skins only)

NOTE: "(numpad)" shortcuts require "Num Lock" to be on.


Plugins
=======
Archive plugins are available at the XMPlay website, and a plethora of
input and visual plugins are available at the support site. To install
a plugin, simply put it in the same directory as (or a sub-directory of)
the XMPLAY.EXE file.

NOTE: XMPlay must be restarted to enable newly installed plugins.

Some visualisation plugins support button-clicks, for example, to set some
options. The middle mouse button is used to access that feature in XMPlay.


Skins
=====
Alternative skins are available at the XMPlay website. To install a skin,
simply put it in the same directory as (or a sub-directory of) XMPLAY.EXE.
To switch skins, right-click on any non-button area of the main panel.

A skinning kit is also available at the XMPlay website, should you wish
to create your own XMPlay skins.


Latest version
==============
The latest version of XMPlay can always be found at the XMPlay website:

		http://www.un4seen.com/


Copyright, disclaimer, and all that other jazz
==============================================
This program is free for non-commercial use, so if anyone tries to charge
you for it, kick 'em where it hurts.

This software is provided as-is. The author makes absolutely no warranties
on it. You use it at your own risk. The author shall not be held responsible
for any damage that may result from its use, including, but not limited to,
burning your toast while being too engrossed in the XMPlay "experience".

All trademarks and other registered names contained in the XMPlay "package"
are the property of their respective owners.


History
=======
These are the major (and not so major) changes at each version
stage. There are also many bug fixes made along the way too!

2.8 - 28/7/2003
---------------
* Device/Integration/Miscellaneous/Plugins panels removed, and...
* ...replaced by a single integrated "Options and stuff" window
* Enhanced search option (matches listed as you type)
* DSP volume & balance option
* Mono tracks are played in stereo if output is set to stereo
* "Always in tray" option
* "Restrict rendering" vis option
* "Stop at dead track" option
* "Clear queue" option
* File selector "Folder history"
* External encoder "resolution" setting
* Amplification display unit changed to "db"
* Maximum buffer length increased to 2.5 seconds
* Faster skin loading
* Skinning changes (see skinning kit)

2.7 - 17/5/2003
---------------
* 8 point windowed sinc interpolation (3DNow! optimized)
* Non-interpolated mixing option
* Support for 32/24-bit WAV files
* Support for 32/24-bit Winamp input plugins
* More responsive auto amp reduction
* Amp slider scale is now the same for all formats
* "Dither" and "Noise shaping" options
* MOD pattern display horizontal scrolling
* MOD channel muting
* Automatic scanning for track lengths
* Resume playback at startup from where it left off (right-click close)
* Checking for "dead" tracks at startup
* Visualisation resizing without stretching
* Logarithmic freq in spectrum displays (16khz range)
* Info window can be opened while minimized to tray...
* ..."Info window" global hotkey and tray menu option
* Open/add files from the tray menu
* Option to display filenames in info window playlist
* "Stop at end of queue" option
* Looped WAV writing (always "only once")
* Track number added to title formatting options
* Invert selection shortcut (I)
* Selection of multiple blocks of tracks (using ctrl+shift+click)
* Shortcut to rescan track titles (F9)
* Numerical sorting (eg. "2" comes before "10")
* "Sort by filename" now includes the path
* WinXP time display problem fixed
* A few more skin-related improvements (see skinning kit)

2.6 - 16/1/2003
---------------
* 32/24-bit OGG/MPEG/MOD playback
* Track queuing
* Multi-track selection (move/delete/queue/skip multiple tracks)
* Customizable track title format
* Help bubble for long track titles
* Title changes are displayed when minimized to tray
* Global hotkeys for stop/seeking/volume
* Support for "win" key in global hotkeys
* Multi-song MOD WAV writing support
* 24-bit WAV writing
* 32-bit WAV writing format changed to "type 3" standard
* Output format shown in "General" info window
* Partial unicode support in OGG tags
* Settings moved to HKEY_CURRENT_USER registry branch
* A couple more skin-related improvements (see skinning kit)

2.5 - 18/11/2002
----------------
* Multi-song MOD support
* Support for DMO effects in IT/XM/MO3 files
* Support for chained OGG streaming
* Support for extended filter range in IT files
* Support for "Invert Loop" (EFx) MOD effect
* Global hotkeys
* Open URLs from info window texts
* Centered MOD pattern scrolling mode
* Faster WAV writing
* Improved external encoder STDIN support
* Playlist moved from registry to XMPLAY.PLS file
* Per-track settings moved from registry to XMPLAY.SET file
* Icecast2 tags shown in info window
* Support for track titles in WMA streams
* ID3 tags shown in info window for plugin-played files too
* EQs bands changed (now evenly spaced 2 octaves apart)
* "Flat" EQ preset
* XMPlay Support site link in misc panel
* "Auto advance" option (loop list switch sub-menu)
* "Play listed tracks" option (list button sub-menu)
* "Sort by extension" option (random switch sub-menu)
* "-tray" command-line option to launch in tray
* "-play" command-line option to start playback on launch
* Support for multiple files and/or directories in command-line
* Shortcut to "Add directory" (shift+Insert)
* MP3pro files are passed onto the MP3pro plugin (if installed)
* A few skin-related improvements (see skinning kit)

2.4a - 24/7/2002
----------------
* OGG support updated to 1.0
* Help bubbles for volume/amplification/EQ/reverb shortcut adjustments
* Vibrato effects shown in MOD pattern display
* Shortcut to stop
* Shortcut to "Get missing times"
* Shortcut to view skin "readme" text
* Shortcut to reload current skin

2.4 - 14/7/2002
---------------
* Skins
* Built-in WAV support (including streaming)
* Built-in WMA support (including streaming)
* OGG support built-in (OGG/VORBIS DLLs not required)
* ASX "playlist" support
* Spectrum visualisations
* Amplification & auto-amp apply to plugins now too
* Calculation of missing track lengths
* Support for Modplug/ADPCM compressed files
* "Remove & delete file" option
* "Add directory" option
* Output directory selector (for auto-filename)
* Copy info window text to the clipboard option
* MO3 sample compression ratio in "General" info window
* Basic sample details in "Samples" info window
* Filename help bubbles in info window playlist
* Slider levels shown in help bubbles
* "Restart" option in tray menu
* "Random play order" indicator
* Track count display in playlist panel
* "Stop" when already stopped unloads current track
* "Unload final track" option
* Shortcut to find track starting with x
* Winamp plugin track info shortcut changed (due to above)
* Minimize shortcut
* Option to reset amplification on new tracks
* Option to remove tracks not matching search criteria
* Extension association removal
* Command-line support
* "Add to XMPlay-list" shell option
* Info window texts retrieveable via DDE (topics=info0-2)
* Visual plugin button-click support

2.3 - 28/2/2002
---------------
* MPEG & OGG pre-load/scanning removed
* Seeking in internet streamed files
* MOD pattern display visualisation
* CODEC WAV writer removed and...
* ...replaced by customizeable external encoder settings
* Auto-filename option for WAV/encoder writing
* PLS/M3U playlist streaming
* Active MOD channel count
* "Random play order" option
* Minimize to tray
* Info window scroll shortcuts
* Auto-kill virtual channels if CPU load reaches 75%
* Comments in XM files supported
* Localised font support

2.2 - 13/1/2002
---------------
* Playlist searching & unmatched skipping
* OGG modules updated to RC3
* Detection of VBlank MODs
* EQ/reverb/restart shortcuts
* Current/total tracks display in playlist (info window)
* Plugin file info menu option in playlist
* Follow the current track marker in playlist panel
* Adlib S3M files are ignored (so plugins can play them)
* Error dialog explaining failed HTTP/FTP connections
* Warning dialog for unsupported Winamp plugins

2.1 - 22/12/2001
----------------
* Winamp input plugin support
* Playlist panel duplicated in the info window
* HTML webpage scanning
* URL drag'n'dropping into XMPlay
* Drag'n'dropping files/URLs from XMPlay to other apps
* Write separate tracks to disk (shoutcast streams)
* "Dynamic" auto-amp mode
* "Auto loop" mode applies to all formats now (not only MODs)
* 96khz MOD playback rate
* BPM/speed display for MOD formats
* Stereo sample support in MO3/IT/XM/S3M formats
* Current track displayed in taskbar
* Open file/URL dialogs combined
* Desktop chortcut option
* "Remove duplicate titles" option
* "Remove dead" also removes non-existant local files not marked as "dead"
* Random track shortcut

2.0 - 1/11/2001
---------------
* Too many things to remember! :)


The "thank you" section
=======================
BIG thanks to Josh "Cedri/Vesh" Elliot who did the original designs for the
XMPlay2 GUI, and KelticDanor who maintains the XMPlay Support Site.

And thanks to the many who have given good suggestions and bug reports!
