XMPlay 2.4a - Copyright (c) 1998-2002 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. 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... MIDI out is also supported for XM files. XMPlay also supports the MO3 format (modules with MP3 or OGG compressed samples) that was introduced in BASS 0.7. 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 * 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 * 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 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. See "The info window" below. Previous track - play the previous track in the playlist, skipping over any that are set to "skip". 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". 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, except when streaming from the internet. 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 only loop files that are apparently intended to be looped. Note that some MOD files never actually reach an end. 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. 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. Left switches ------------- Interpolation switch - MOD formats only Linear interpolation "draws" a straight line between the samples, spline interpolation "draws" a smooth curve between the samples and requires more CPU power. Ramping switch (off/normal/sensitive) - MOD formats only 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 switch (off/normal/mode 2) - MOD formats only "Mode 2" ignores panning, so is good for mono MODs. Auto amplification reduction switch AAR 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. Bottom sliders -------------- The slider on the bottom-left is the 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 mixing output. The higher the amplification, the greater the resolution of the mixing output, but if it's too high clipping may occur resulting in distortion of the sound. The level can be reset to default by right-clicking, there's also an option to decide whether it's reset when a track is loaded. To the right of the amplification slider, is the pan separation slider. This only affects MOD formats, and obviously can only affect things when playing in stereo. Above center ------------ Graphic equalizer switch and sliders. The graphic equalizer sliders range from +10dB (top) to -10dB (bottom). Use the mouse wheel to increase/reduce the gains by 1dB. Presets are accessable by right-clicking the EQ switch. Above right ----------- Reverb switch and sliders. The "cutoff" slider affects how much high frequency sounds are reverberated. The "level" slider affects how much the whole sound reverberates. Use the mouse wheel to increase/reduce the levels by 5. NOTE: Reverb is only applied when playing in stereo. 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 "Device Setup" panel ======================== You can change which device (if you have multiple devices) to use, and what frequency/resolution/channels/buffer to use with the device. If the chosen device is not available then a free device will automatically be used instead, if there is one available. 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. Settings for the LAME and OGGENC encoders are provided, to use them simply put the LAME or OGGENC EXE file in the XMPlay directory. 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 amplification problems by using the "WAV Writer - normalized" device. NOTE: Only the WAV Writer devices allow the 32-bit option, for any other device the output resolution will drop down to 16-bit. Any new settings will take effect when playback is next started, or they can be applied immediately by clicking "Apply". 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. The resolution too, except when writing normalized WAVs. Clicking the "Ext." button brings-up the external encoder settings dialog, where you can add/remove/edit the encoders available to the device list. 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. The "Integration" panel ======================= 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. RED = MOD formats, GREEN = stream formats, BLUE = playlist formats. An extension association can be removed by pressing the button again. CLIPBOARD - monitor the clipboard for streamable 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. LIST - queue the new tracks in the playlist If enabled, tracks opened from Windows Explorer or the clipboard are only added to the playlist, and are not played immediately. The same thing is done when using the "Add to XMPlay-list" option (right-click on the file in Explorer). The "Miscellaneous" panel ========================= Norm/FT2/PT1 MOD - 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! :) TRIM - trim empty space from the end of MOD format files 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 DL RATE - restrict the download rate of internet files If enabled, the 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. Alternative skins may also have a link here, to the skin author's website or email address. Right-clicking the link will open the skin's "readme" text, if the author has included one. The "Plugins" panel =================== The Winamp input plugins that are installed are listed here. By clicking on a plugin you can view info about it, configure it, and set XMPlay as the default player of any of the plugin's supported formats. 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. 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, and skip 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 playing track is highlighted with a yellow arrow. The currently selected track is highlighted with a light-blue background. Tracks that are set to be skipped are displayed with a small dimmed font. Dead tracks (those that were unsuccessfully loaded) have a single red line through them. 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 -------------- Reorder list - 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. You can also choose if you want XMPlay to verify that files you add to the list are playable before they are put on the list (except URLs, which XMPlay does not verify). The contents of directories added to the playlist are always verified before being added. If you add an FTP directory, XMPlay will scan for MPEG/OGG/WMA/WAV files in the directory, and add them to the list. Enabling the "Scan HTML pages" makes XMPlay scan webpage URLs for links to MPEG/OGG/WMA/WAV files, which it then adds 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. Loop list - if ticked, XMPlay plays the first track in the list again after the last track. Next to the buttons is the total playlist duration. If a "+" is shown, then the total duration is not available, either because some tracks have not been played yet or they have an unknown duration. Clicking here will switch it to a track count display, right-clicking gives the option to have XMPlay retrieve the length of the tracks that have not been played yet. 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. 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. 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. 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 the screen size permits, the instrument and volume entries are in a separate column to the note/tone entries. 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 ================== O = Open/play file(s) P or Pause = Play/Pause (+shift = stop) left cursor = Rewind right cursor = Forward 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 Insert = Add file(s) to playlist 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 Delete = Remove selected track (+shift = delete file too) Spacebar = Toggle skipping for selected track ctrl+F = Search for track(s) in playlist F = Find next (+shift = previous) alt+[0-9/A-Z] = Find next track beginning with the character (+shift = prev) F9 = Get missing times Scroll Lock = Toggle following the current track in playlist panel F1 = Display "General" info window F2 = Display "Messages" info window F3 = Display "Samples" info window F4 = Display visualisation window F5 = Open playlist in info window (numpad) 8 = Scroll up info window (or prev vis) (numpad) 2 = Scroll down info window (or next vis) W = Display track info dialog (Winamp plugins) M = Toggle "mini on top" mode N = Minimize (+shift = to tray) F11 = View "readme" text for current skin (if available) F12 = Reload current skin (non-compiled skins only) Plugins ======= The plugins are available at the XMPlay website. To activate a plugin, simply put it in the same directory as (or a sub-directory of) XMPLAY.EXE. Winamp input and Sonique visualisation plugins can be used by simply copying them over to the XMPlay directory, or a sub-directory of it. 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. 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.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 --------------- * MP3 & 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!