XMPlay 3.2 - Copyright (c) 1998-2005 Ian Luck. All rights reserved. Files that you should have found in the XMPlay "package" ======================================================== XMPLAY.TXT This file XMPLAY.EXE The executable XMP-CD.DLL CD Audio plugin XMP-WMA.DLL WMA plugin XMP-WADSP.DLL Winamp DSP plugin wrapper FILE_ID.DIZ BBS description file You can safely remove the XMP-CD.DLL, XMP-WMA.DLL and XMP-WADSP.DLL files if you don't need CD/WMA playback or Winamp DSP plugin support. What's the point? ================= XMPlay is a Win32 (Windows 95/98/NT/2k/ME/XP/etc...) audio player, supporting several 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 * CDA - CD Audio 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 (WMFDIST.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). Plugins ------- As well as the listed formats with built-in support, a whole load more formats can be played with XMPlay too, via plugins. XMPlay has it's own native "input" plugin system but can also use Winamp plugins. The main window =============== In the main display area, the title, playback time and other basic info about the current track are shown. The time display 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). Below that is the position indicator, which 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). The next 2 sliders control the volume and balance. The row of buttons below the sliders are... Track info - opens/closes a window to display information on the current track (also a playlist and library). See "The info window" below. NOTE: Some skins may also have separate buttons to access the playlist and library. 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 (or previous cue point when a CUE sheet is present). Stop - stops playback, and sets the position to the start. Pressing when already stopped, unloads the 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. 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 (or next cue point when a CUE sheet is present). Open file(s) - opens and plays file(s). If you open an FTP directory URL, XMPlay will automatically scan the directory for playable files. Looping switch - this 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 (by right-clicking) to have the tracks looped only once. Auto looping can also be set to apply to MODs only. 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 "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 "MOD" section below for details on these. TIP: Right-clicking the pan separation slider gives options to set it to FT2 and Amiga levels. Auto amp reduction switch: Amplification slider: Equalizer switch & sliders: Reverb switch & sliders: See the "DSP" section below for details on these. TIP: Right-clicking the amplification slider will reset it to the default level. Top-left disk switch -------------------- When switched on, this enables the automatic loading of settings that have been saved for the track being loaded. Right-clicking brings up options to load settings specific to the file, load settings for the file's path, and load presets. See the "Saved settings" section below. 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), queue the track, skip the track, add it to the library, display track info, and remove 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/Icecast/Icecast2 streams that include the track titles, can be automatically split into the separate files when writing them to disk. Tracks that are set to be skipped are displayed in a small dimmed font. Dead tracks (those that were unsuccessfully played) have a single red line through them. The currently opened track is signified with a light-blue arrow. Tracks that are queued for playback have a smaller light-blue 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 it for playable files, 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 are also options to refresh the dead tracks and 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 a dead track or 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). When multiple tracks are selected, the display will alternate between the list total length, and the selected tracks length. TIP: You can scroll the list using the mouse-wheel, 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 duplicated in the info window, where it can be resized. The 'Options and stuff' window ============================== Clicking the spanner icon in the main panel, or right-clicking on any non- button area 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 description of the various page contents follows... Miscellaneous ------------- Track looping: This controls looping, as with the switch in the main panel (above). Fade-out: When a looping track is detected, rather than have a sudden stop at the end, XMPlay can smoothly fade it out. The length of the fade (in seconds) is determined here. If set to "0", no fading is performed. Only once: If enabled, tracks will only be looped once (when looping is enabled). MOD only: When enabled, "auto looping" will only apply to MODs. Maximum text width: This restricts the width of info window texts (eg. tags), and wraps any text that exceeds the specified width. Setting it to 0, disables it. Restrict rendering: Visual plugins can take a very high amount of CPU when the window is expanded 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. Buffer: This determines how large a buffer (in seconds) is used when streaming from the net. The larger the buffer is, the less likely it is that the playback will be interrupted, but it also means that you have to wait longer for the track to start playing (75% is prebuffered). This option does not affect Winamp plugins. 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 reconnect: This tells XMPlay to automatically try to reconnect whenever it gets disconnected from a Shoutcast or Icecast server. Proxy: If enabled, XMPlay will connect to the net via a proxy. The proxy config goes in the adjacent box, in the form of "user:pass@server:port". If the box is left empty, XMPlay will use the Windows proxy settings set in the Internet Options control panel. If only the "user:pass@" part is provided, then XMPlay will use the user/pass details with the server in the Windows proxy settings. If only the "server:port" part is provided, then that server will be used without any user/pass authentication. Allow multiple instances: When enabled, multiple copies of XMPlay can be running at the same time. When disabled, attemping to run XMPlay while it's already running will just result in the command-line being passed onto the already running instance. 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. Always on-top: This makes XMPlay a top-most window at all times, not only when in mini-mode. Clean reg: The option removes the XMPlay registry entries. This can be used to reset everything to the "factory" defaults. Playlist -------- Auto advance: Tells XMPlay to go onto the next track when the current one ends. Random: Plays the tracks in random order. XMPlay keeps record of which tracks have been played, so that they are not randomly played again until the others have also been played. The "retain" option makes XMPlay retain the record of which tracks have been played when it's closed, otherwise it'll start from scratch the next time XMPlay is loaded. NOTE: Toggling the random switch clears the record of which tracks have been played. 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. Follow current track in list: If enabled, when a new track is played, XMPlay will automatically jump to it in the playlist panel. Note this does not apply to the extended playlist in the info window. Show filenames in extended list: Makes XMPlay show the filenames (rather than titles) in the info window playlist. Scan HTML pages for URLs: This makes XMPlay scan webpage URLs for links to playable files, which it then adds to the playlist (or library). Verify new files: If enabled, XMPlay will verify that files that you open are playable before they are put in the playlist or library (except URLs, which are not verified). The contents of directories are always verified before being added. Don't add duplicates: If this option is enabled, whenever an attempt is made to add a track which is already in the list, the track already in the list will just be selected - it won't be added again. Note this option doesn't affect the library (there are never duplicates in there). Store playlist/etc in user data directory: This allows multiple users to share the computer and XMPlay, without interfering with each other's playlist, library and saved settings. Auto add to library: This option tells XMPlay if/when it should automatically add tracks to the library. When set to "on play", tracks will be added to the library when they're played. When set to "on list", tracks will also be added to the library when they're added to the playlist. Abbreviate file sizes: When enabled, the file sizes will be shown in abbreviated form, eg. 1000 becomes 1.0K and 1000000 becomes 1.0M. Expand chopped text in line: Sometimes text may be too long to fit in it's display area. In that case, with this option enabled, leaving the mouse over the text for a second will cause the text to be expanded across subsequent columns. If this option is disabled (or the text doesn't fit "in line"), it'll be shown in a bubble instead. Show overridden tags in Message info: When enabled, and a track with overridden tags is played, the tags will be shown in the "Message" info window. Integration ----------- 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. The icon that is displayed for files associated with XMPlay is shown to the bottom-right of the "File extensions" area. It can be changed by clicking on it. Add to XMPlay-list: This adds an "Add to XMPlay-list" option to the shell context menu of files (and folders) associated with XMPlay. Using this menu option results in the files just being added to the playlist, without playing them or clearing the list. Add to XMPlay-library: This adds an "Add to XMPlay-library" option to the shell context menu of files (and folders) associated with XMPlay. Like "Add to XMPlay-list", except it adds the files to the library instead of the playlist. Folders: This enables the context menu options for folders/directories. With the "sub" option enabled, XMPlay will search sub-directories for playable files too - this setting also applies when drag'n'dropping directories into XMPlay, and when they're in the command-line. Monitor the clipboard URLs: XMPlay can monitor the clipboard for URLs of playable files, which it will automatically play or add to the playlist. When you see a playable 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. Desktop shortcut to XMPlay: Places a shortcut to XMPlay on the desktop. Titles ------ Here you can choose how XMPlay should format the title of the tracks, based on the tags contained in them. Tags are not available from Winamp plugins, so the formatting won't generally apply to them (they'll usually have their own formatting options), but XMPlay can read ID3v1, ID3v2 and APEv2 tags from even Winamp plugin played files if the "Apply to Winamp plugins whenever possible" option is enabled. TIP: It is possible to override a track's tags. See the "Track info" section below. Some formats don't have tags, eg. MOD formats just have a title "tag". This could make the titles messy when elements are not available, if it wasn't for the fact that the formatting can vary depending on what tags are available. For example, the default formatting is: %?2{%2 - }%?1{%1|%0} This means if the artist tag (%2) is present, use that and place " - " after it. Then, if the title tag (%1) is present, add that, otherwise add the filename (%0). When a CUE sheet is present, XMPlay will use the title and performer info from that when it's not available from the track itself. XMPlay will also update the title at the CUE points, if the "Update title from CUE sheets" option is enabled. Scroll long titles: When enabled, titles that are too long to fit the title display will be scrolled. Refresh all tags & titles: This option makes XMPlay rescan the tags/titles for all tracks, both in the playlist and the library. Find tracks ----------- You can search for tracks containing specific string(s) in their title or filename. When searching in titles, the track's tags will also be searched if they're available - that is, if they're in the library or have been read during playback or for the "Track info" window. Using the "or"/"and" options you can search for tracks that contain any of, or all of, multiple words. As you type the search string, or change the search options, any matches will be listed in the box below. You can click on a match to jump to it in the playlist and/or library. Right-clicking will bring up options to play the track, queue the track or view track info. Double-clicking (or pressing space) will also play the track. Include library: Enables searching of the library for matches, as well as the playlist. Skip playback of non-matching tracks: XMPlay will skip over any tracks that do not match the search criteria when playback advances. Shortcuts --------- Here you can fully customize how you control XMPlay via the keyboard. This includes setting "global" shortcuts which can be used from within other applications (ie. without XMPlay being in focus). Multiple keys can be assigned to perform the same action, likewise multiple actions can be assigned to a single key. When multiple actions are assigned to a single key, they are performed in the order that they were added. As an example, you could assign a key to select all search matches, invert the selection, and delete selected tracks. That would leave you with just the search matches left in the list. Defaults: Resets all shortcuts back to the defaults as when XMPlay is first run. These are the default shortcuts... O Open files/URL P/Pause Current track - Play / pause shift+P/Pause Current track - Stop Home Current track - Restart right Current track - Forward left Current track - Back shift+right Current track - Next subsong shift+left Current track - Prev subsong Page Down Change track - Next Page Up Change track - Previous End Change track - Random Insert List - Add files/URL shift+Insert List - Add directory Delete List - Remove shift+Delete List - Remove & delete file ctrl+Z List - Undo Enter List - Play Space List - Toggle skipping / List - Toggle queuing shift+/ List - Clear queue up List nav - Up shift+up List nav - Page up down List nav - Down shift+down List nav - page down ctrl+up/down List nav - Jump to current ctrl+A List nav - Select all ctrl+F List nav - Find F List nav - Find next shift+F List nav - Find previous ctrl+shift+F List nav - Find all + (numpad) Volume up - (numpad) Volume down M Toggle mini mode N Minimize / restore shift+N Minimize to tray / restore F9 Options and stuff F1 Info - General F2 Info - Message F3 Info - Samples F4 Info - Visuals F5 Info - Extended list F6 Info - Library ctrl+C Info - Copy to clipboard 8 (numpad) Info - Scroll up 2 (numpad) Info - Scroll down 4 (numpad) MOD pattern - Prev channel 6 (numpad) MOD pattern - Next channel 5 (numpad) MOD pattern - Mute channel 7 (numpad) MOD pattern - Unmute all 9 (numpad) MOD pattern - Invert all F12 Reload skin MOD --- These 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 necessary to prevent a click, so percussive sounds stay sharp. Surround Sound: "Mode 2" ignores panning, so is particularly good for mono MODs. Pan separation: The higher the setting, the more sounds are pushed away from center. Obviously can only affect things when playing in stereo. 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 each other! 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! :) Ignore muting: IT and S3M files can have muted channels, which XMPlay will honour when loading the files, unless this option is enabled. TIP: Channels can be (un)muted via the MOD pattern display options (see shortcuts above). 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. Show bpm/etc in time display: This option determines when, if at all, the number of active channels and bpm/speed are shown in the time display. When enabled, the active channel count is shown to the left, and the bpm/speed is shown to the right. The channel count will be inverted if any virtual channels have been killed within the last few seconds (due to excess CPU use). Shrink columns when channel count is: When there are a lot of channels, the MOD pattern display can become too wide for the screen. This option will cause the instrument/volume column to be removed when there are a certain number of channels, so that more channels can be fitted on screen. MOD pattern scrolling: The pattern display can have the current position centered, or it can follow as the position goes off the display. 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 to 0 dB (or replaygain value) when a track is loaded. Replaygain: When a track has "replaygain" information, XMPlay can use it for the default amp level. XMPlay can read RG information from OGG files and APEv2 and ID3v2 tags. Native plugins may also support it, but Winamp plugins have no way of communicating that information. When a track doesn't have the preferred value but does have the other (eg. "Album" is chosen but only "Track" is available), it'll be used instead. The bottom part of the window is dedicated to DSP plugins, and is fairly self-explanatory. The "up" and "down" buttons can be used to change the order in which the DSP are applied (top first). There are 2 built in DSP - the equalizer and reverb. Most Winamp DSP plugins can be used via the "Winamp DSP wrapper". You can create your own plugins by using the SDK available from the XMPlay website. 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). Auto filename: This 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 continuous in this mode - it automatically moves onto the next track when the current one ends (if the "auto advance" option is enabled). Separate MOD instruments: When enabled, and writing a MOD format to disk, each instrument will be written individually. The instrument number shall be appended to the filename. 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 overridden 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 "input" plugins that are installed are listed here, with a list of the file formats that they support. When changing a plugin's config while it's being used to play a track, you may have to stop/restart the track for the config changes to take effect. TIP: A large selection of plugins are available at the support site. NOTE: Only Winamp plugins that can feed the sample data to XMPlay (rather than use their own output device) are loaded, which is most of them. 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 be viewed by clicking the "Readme" button. Saved settings -------------- Amp/DSP/looping/MOD options can be saved, to be automatically applied when specific tracks are loaded, or saved as presets to be quickly set whenever wanted. When saving settings, the settings that are actually saved is determined by the check boxes. The "MOD" box can have a greyed tick, which means that the MOD settings are only saved if the current track is a MOD format. * "Amp" is the amplification level and the auto-amp mode. * "DSP" is the config of all DSP plugins that are currently active (in the DSP Plugins list). * "Loop" is all the track looping options (Miscellaneous options page). * "MOD" is all the MOD options page settings. Before clicking "Save", you need to select what the settings will apply to. There are 3 types of saved settings - "File", "Path", "Preset". "Preset" is fairly obvious, and the saved settings can be accessed by right clicking the settings button (disk icon) in the output options panel. When XMPlay tries to load settings for a track, it will first look for a "File" match. If there is none, it will look for a "Path" match. In the case of there being multiple path matches, the longest match will be used. For example, both "c:\" and "c:\blah\" match "c:\blah\blob.mod", but the "c:\blah\" settings will be used. The preset name or file/path of a saved settings can be edited by clicking on the entry in the list. TIP: An empty path setting will match all files. Auto-load saved track settings: This enables the automatic loading of settings that have been saved for the new track being played. 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. Right-clicking the button opens the library (see the "Library" section below). 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 specific substring(s) 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. 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. Shortcuts can be set to scroll the display when all the channels do not fit in the display. Channels can also be muted via shortcuts. See the shortcuts options page. 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. TIP: The width of the channel columns can be changed depending on the number of channels. See the "MOD" section above. Library ======= The library is a sort of glorified playlist. Whereas the playlist just contains each track's filename and title, the library contains a lot of additional information. The full list of info contained in the library is: filename, title, artist, album, year, track, genre, comment, file type, file size, length and the time of last playback. The tracks in the library can be sorted by any of these values, making it quick and easy to locate the tracks you want to play. Click on the column heading to sort by that value. Clicking again will reverse the order. You can choose which info is shown in the library by right-clicking on the headings. You can also change the display order of the columns by dragging them, and you can change the width of each column by dragging the borders. Files can be added to the library in the same way as they can with the playlist, eg. using the add button or by drag'n'dropping them. They can also be added automatically when played or added to the playlist. See the "Playlist" section above. Primarily for compatibility with existing skins, the library uses the same GUI as the extended playlist. When used here, all the buttons will take effect on the library, except for the random and loop list switches, which still apply to the playlist. Right-clicking on a track will give options to play the track, add it to the playlist, view/edit track info, refresh the info, and remove the track. Double-clicking will also play the track, and middle-clicking will queue the track. NOTE: When playing or queuing a track from the library, it'll first be added to the playlist if it's not already in there. Track info ========== The track info window is accessed via right-clicking on a track in the playlist or library. In this window you can see some details of the track, including the filename, tags, filesize and playback length. The filename and tags can be modified. NOTE: Changes made here affect all copies of the track, ie. if there are multiple copies of the track in the playlist, they will all have the same modified info. When overriding tags, the track's file is not modified - the tags are just stored in the library. This means that any modifications will be lost upon closing XMPlay unless the track is in the library. The "In Library" check box indicates whether the track is currently in the library. Dragon droppings ================ Files, whole directory trees, shortcuts, and URLs can be drag'n'dropped into XMPlay. If they're dropped into one of the playlist panels, then the tracks are inserted into the position they were dropped at. If they are dropped elsewhere, 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 behaviour, 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 and library panels, into other applications, by clicking the right button while keeping the left button pressed. 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, go to the "Plugins & Skin" page in the Options and stuff window, or right-click on any non-button area of the main panel. NOTE: XMPlay must be restarted to enable newly installed skins. A skinning kit is also available at the XMPlay website, should you wish to create your own XMPlay skins. CUE sheets ========== CUE files can be used to quickly jump to specific points (eg. start of a song in an album) in large files. When opening a track, XMPlay will look for a CUE file of the same filename (with ".CUE" extension) in the same directory (or archive). If one is found, it'll be loaded and the CUEs will be listed in the "Message" info window. The sub-song shortcuts can be used to jump between the CUE points. XMPlay can also update the title based on the CUE sheet - see the "Title format" section above. 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! 3.2 - 13/2/2005 --------------- * New "media library" (replaces "recent tracks" list) * Native "input" plugin system * CD Audio support * Conditional (if..then..else..) title formatting * Genre, comment and filename elements added to title formatting options * Title formatting can now also apply with Winamp plugins whenever possible * Support for APEv2 tags * ID3 genre tag support * Optional title updating from CUE sheets * Undo option (shortcut) for playlist/library modifications * Plugin-played formats added to integration options * Play/queue/info options (right-click menu) in the "Find tracks" list * More efficient WMA file playing with WM9 (and above) modules installed * Replaygain support * Improved MOD default amplification level calculations * Option to automatically write WAV/etc files to same directory as the source file * Tag passing to external encoders (LAME/OGGENC default command-lines updated) * Scrolling titles * Playlist entry scrolling replaced with more detailed help bubbles * Option to not add duplicate tracks to the playlist * Adjustable info window text wrapping * OGG "vendor" info shown in "general" info * Option to shrink columns in MOD pattern display depending on number of channels * MOD BPM/speed display option * Option to ignore channel muting in IT/S3M files * DSP volume/balance now permanently on, and changes are audible instantly * Dithering & noise-shaping automatically bypassed when not required * Fully customizable sample rate in device options * Option whether to allow multiple instances * Folder shell integration option * Proxy config option * Shortcut to show tray title bubble * Shortcut to clear list * "Device options" shortcut * Shortcut to select all dead tracks * Windows mouse wheel scrolling settings used when scrolling playlist and info window * Support for extended M3U playlists * Skinning improvements (see skinning kit) 3.1 - 1/8/2004 -------------- * Gapless playback * Support for Unicode (Russian/Chinese/etc) files * Option to individually write each MOD instrument to disk * CUE sheet support * "XMPlay-able" file selector filter now includes plugins * "Refresh dead tracks" option * Title parameter added to external encoder options * Length of selected tracks is displayed (alternates with total list time) * Minimize shortcuts can now also restore * "Toggle random play order" shortcut * "Clean reg" option to remove registry entries * More accurate time-based OGG seeking * Skinning improvements (see skinning kit) 3.0 - 24/2/2004 --------------- * Support for multi-channel WAV/OGG/WMA files & Winamp plugins * Fully customizable shortcuts... * ...also available via DDE (details available on request) * DSP plugin support * MOD and archive file "streaming" (ie. download and play) * Seeking in internet streamed OGG files while downloading * SSE2 optimized sinc interpolation * Enhanced saved settings options * Enhanced search option (OR/AND multiple word searches) * Recently played tracks list * Fading-out of looped files * Option to "auto loop" only MOD files * Option to sort/shuffle only selected tracks * Finer amplification resolution and extended range (-15 to +10 dB) * Auto-amp improvements * Icecast (OGG) stream ripping into separate files * Adjustable internet buffering * Shout/Icecast "Auto reconnect" option * Always "on-top" option * Reverb now applies to mono playback too * Customizable icon for associated filetypes * Option to "Ignore playlists & shortcuts" when adding directories * Support for ID3v2.4 tags * Support for LAME "Info" header * Deleted files moved to recycle bin (if enabled) * Skinning improvements (see skinning kit) 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 * Support for high-pass filter and forward/reverse (S9E/F) IT/MPT effects * "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 customizable 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 Chris "Ripguy" Corrado who designed the XMPlay 3 GUI, and Nathan "KelticDanor" Hindley who maintains the XMPlay Support Site. And thanks to the many who have given good suggestions and bug reports!