XMPlay 3.7 Copyright (c) 1998-2012 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 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/Vista/7/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 WAVE format that has a codec installed * AIFF - Audeo Interchange File Format * 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 - FastTracker 2 modules * S3M - ScreamTracker 3 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 its 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 position (if it is a MOD 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 length is known). Right-clicking gives the option of bookmarking the current position, or resuming a previously bookmarked position (either immediately or at the end the queue). NOTE: The bookmark is not retained when closing XMPlay. The next 2 sliders control the volume and balance. Right-clicking the volume slider mutes the output. TIP: The volume can be adjusted using the mouse-wheel, when the mouse is not above anything else scrollable. The row of buttons below the sliders are... Track info & extended playlist: Opens/closes a window to display information on the current track, also a playlist and library. See "The info window" section. 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 again, when already stopped, unloads the track. Right-clicking gives the option to "Stop at end of track", which temporarily (one time) disables looping and auto-advancing. Play / Pause: Toggles play/pause of the track. If no track is loaded, then the 1st queued track is loaded. If there is no queue, then the currently selected track in the playlist is loaded. If no tracks are selected, the 1st track is loaded. 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 folder URL, XMPlay will automatically scan the folder for playable files. Right-click to open a folder. Looping switch: This can be set to never loop, always loop, or auto-loop (only files that are intended to be looped). When looping is enabled, you can also choose (by right-clicking) to limit the number of loops (see the "Miscellaneous" section). Right-clicking in a non-button area gives the option of opening the "Options and stuff" window (see below), changing the skin, going back to a recently played track, and locking the window position. TIP: The window position locking can be temporary disabled by right-clicking while the left button is held down. 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 folder trees and shortcuts can also be drag'n'dropped into XMPlay. TIP: Double-click on any non-button area to toggle mini mode. TIP: Right-click the minimize button to minimize to the tray. TIP: Right-click the close button to have the option of closing at the end of the current track/playlist or saving the position to resume from next time XMPlay is loaded, or to restart XMPlay. TIP: When moving the window, right-clicking will make the info window move too. The same is true when moving the info window. The Output/DSP panel ==================== These options change the way things sound. 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 "Output" options. Equalizer switch & sliders: Reverb switch & sliders: Auto-amp reduction switch: Amplification slider: See the "DSP" section for details on these. TIP: Right-clicking the amplification slider will reset it to the default level, and right-clicking the EQ bands will reset them to 0 dB. Some skins may also have MOD options present here. See the "MOD" section for details on these. 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. 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, locate similar tracks in the library, rate the track, display track info, and remove the track. A track can also be queued by clicking the middle mouse button on it. TIP: The actions performed by double/middle-clicking (as well as 4th/5th button clicks) can be customised in the "Playlist" options (see below). If an internet stream is of a known 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. Writing can be stopped by re-clicking the "Write to disk" option. Shoutcast/Icecast/Icecast2 streams that include the track titles, can be automatically split into the separate files when writing them to disk, with optional time-stamping of the files. Alternatively, a CUE sheet can also be generated. NOTE: Due to the way that title updates are transmitted in streams, they don't usually occur exactly upon track changes, so the CUE points may sound a little off and require some post-editing. Tracks that are set to be skipped are displayed in a small dimmed font. Dead tracks are indicated by red lines through them: a single red line means the track is unplayable, while a double line means it can't even be opened, eg. doesn't exist. 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 there. Whole folder 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 they are dropped in. TIP: Left-clicking above/below the scroller "thumb" scrolls the list a page up/down. That is repeated if the button is held down. If the right button is then also clicked, the "thumb" is grabbed so that it follows the mouse movement. TIP: You can drag tracks up/down the list by holding down the left button. Tracks can also be dragged from XMPlay into other programs, by clicking the right button while the left button is held down. Tracks can also be dragged from the playlist to the library (and vice versa), or back into the playlist to add duplicates. Queue: This toggles listing the tracks that are queued for playback, instead of the entire playlist. The queued tracks can be rearranged and generally manipulated just like in the playlist. Bottom buttons -------------- Random play order: Plays the tracks in random order. Right-clicking brings up more options to shuffle the list, sort the list, and to reverse the order. Save list: Writes the list to a PLS or M3U file. Right-clicking gives access to a list of previously saved playlists for quick saving and loading. Add to list: Adds files/URLs to the list. Right-clicking allows you to add all tracks in a folder (and sub-folders) to the list. If you add an FTP folder, XMPlay will scan it for playable files, and add them all to the list. Remove from list: Removes the selected track from the list. Right-clicking gives further options to remove duplicate tracks, dead tracks, played track, and all tracks. There are also options to have tracks automatically removed after being played, to refresh any dead tracks, and clear the queue. Loop list: If enabled, XMPlay plays the first track in the list again after the last track. Right-clicking gives the option of whether XMPlay should advance to 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 list 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. Multiple tracks can be selected using the standard ctrl/shift+click methods. 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. A description of the page contents follows... Appearance ---------- The current skin name, and a link to the author's website or email address is shown at the top of the page. If the author has included a "readme" message, that can be viewed by clicking the "Readme" button. Open panels: When switching skins, the panels will be opened if this is enabled. Auto-resize to fit contents: When enabled, the info window will automatically be resized to fit its contents. Move info window with main: When enabled, moving the main window will also move the info window. It does not apply the other way: moving the info window will not also move the main window. The right-click while moving action is also reversed by this option, ie. it will stop the info window moving. Text size: This allows the info window text size to increased. 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. Vis refresh rate: This determines how often the vis display is updated. Higher rates will require more CPU. 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. Some visual plugins don't like high resolutions and crash, so this can be used to avoid that too. TIP: The stretching is generally hardware accelerated, but might not be in some card/driver's case, in which case it may be more efficient to just render unrestricted. Vertical sync: When enabled, visual display refreshing will be done in sync with the monitor, to avoid flickering. Info bubbles: Info bubbles display descriptions and other info when the mouse is left over a control for a short time. If they are not needed, they can be disabled here, either entirely or just for fullscreen vis mode. Fading: When enabled, the info bubbles will be faded in and out. This option is only available on Win2k and above. Text size: This allows the info bubble text size to be adjusted. Fullscreen vis: This allows the fullscreen vis info bubble text size to be adjusted. Hours: When enabled, time displays will include an hours column (if exceeding 60 minutes). 10ths: When enabled, the playback time position will be shown within a 10th of a second (if it fits). Miscellaneous ------------- Loop: This controls looping, as with the switch in the main window. Limit: If enabled, tracks will only be looped the specified number of times (when looping is enabled). Fade-out: When playing a looped track, 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. Auto-loop any track ending with sound: For formats that don't contain looping information, this option tells XMPlay to loop tracks that have sound at the very end when looping is set to "auto". This also affects the "fade-out" option above, as tracks will only fade-out if a loop is detected. Wait for end to decay: When enabled, XMPlay will wait for the end (eg. last notes) of the track to decay. This is only applicable with some formats (eg. MIDI). The "including DSP" option apples to all formats, and makes XMPlay also wait for any DSP (eg. reverb) to decay. When set to "single track", XMPlay will only wait when playing a single track (auto-advance is disabled or writing to disk), so as not to affect gapless playback. Crossfade: If this is set above 0, track changes will crossfade over the specified duration. Crossfading can only be applied when both tracks have the same sample format. The "Apply sample rate to all file formats" option (see the "Output" section) can be used to ensure that is pretty much always the case. Manual changes: If crossfading is enabled, this setting determines whether manual track changes (eg. via the next/previous controls) should be crossfaded too, and if so, what percentage of the full crossfade length should apply. Timeout: This determines how long (in seconds) XMPlay will wait for a successful connection and for data to arrive when streaming from the 'net. 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. Prebuf: This determines how much data (in seconds) of a 'net stream should be buffered before starting playback, and is limited to the "Buffer" length. Restrict 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. 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. Auto-reconnect: This tells XMPlay to automatically try to reconnect whenever it gets disconnected from a Shoutcast or Icecast server. NOTE: None of the internet options above affect Winamp plugins, and may not affect native plugins that do their own streaming either. On top: These 2 switches determine whether XMPlay will stay on top of other windows when in "normal" and/or "mini" mode. 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. Allow multiple instances: When enabled, multiple copies of XMPlay can be running at the same time. When disabled, attempting to run XMPlay while it is already running will just result in the command-line being passed onto the already running instance. Save playback position upon closing: When enabled, XMPlay will store the current playback position when it is closing, and then resume it when XMPlay is next loaded. Store per-user config/etc: This allows multiple users to share a single XMPlay installation, without interfering with one another's settings/playlist/library/etc. Clear history: This clears any or all of the folder/URL/search/playlist histories. Check for updates: When enabled, XMPlay will periodically (daily or weekly) check if updated versions of XMPlay and the installed plugins are available. A notification will be displayed when updates become available, which can be downloaded from the website (they won't be downloaded automatically). NOTE: Update notifications may not be available for all plugins. Playlist -------- Verify file content: 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 folders are always verified before being added. No 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. The existing track can be moved so that it is grouped with any other new tracks, via the "move existing" option. NOTE: There are never duplicates in the library. Scan HTML pages for playable URLs: This makes XMPlay scan webpage URLs for links to playable files, which it then adds to the playlist (or library). Playlists in HTML pages will also be opened when "including playlists" is enabled. Ignore filetypes: A space-delimited list of file extensions to ignore. Non-playable files may occasionally be erroneously detected as playable. This option can be used to block those filetypes. Archive recursion: When opening archives, XMPlay can look for playable files in archives within archives. This option determines how many levels it will go up to. Auto-advance: This tells XMPlay to go onto the next track when the current one ends. Loop: If enabled, the first track in the list will be played again after the last track. Unload final track: When XMPlay reaches the end (stops advancing), it will unload the last track that was played. Random order: 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. Toggling clears the record of which tracks have been played. Apply to play/next/previous controls: When enabled, the next control will jump to a random track and the previous control will jump to the previously played track. Otherwise, those controls will jump the next/previous track in the list. In the case of the play button, it will open a random track (if a track is not already open). 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). Follow current track: These options determine whether the playlist views should automatically jump to the track when opening a new track. Mouse button actions: This option allows customisation of the track action performed when a particular mouse button is clicked on a playlist/library entry. Auto-save every: This auto-saves the playlist and library at the specified interval. Toggle queuing: When enabled, the "queue" option will toggle queuing of tracks, ie. if the track(s) are already queued, they will be dequeued rather than queued again. Show queue in playlist panel: When enabled, the playlist panel will show the tracks that are queued for playback, instead of the entire playlist. 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. Playlist / Library ------------------ XMPlay can monitor folders (inc. sub-folders), and automatically add new files to the library, and remove deleted ones. The monitored folders and the number of library entries contained in them are listed. Right-clicking on a list entry gives the option of rescanning the folder, removing it, and toggling whether to include sub-folders. TIP: Rescanning can be useful after installing new plugins, eg. if formerly unplayable files become playable. NOTE: When removing a folder from the monitored list, the folder's library entries are not removed. Add: Sets up monitoring of a folder. Keep tracks with overridden tags: When a monitored file with overridden tags is deleted, it'll remain in the library if this option is enabled. If the file has been moved, the dead track recovery options (below) can be used to recover it without having to re-enter the overridden tags. 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 are played. When set to "on list", tracks will also be added to the library when they are added to the playlist. Count as played after: This will delay the incrementing of a track's play count (and last play time), until some time (in seconds) after the track was opened, or at the end of the track if that comes sooner. If the track is unloaded before then, the playback is not counted. Process playlists: If enabled, when adding playlist files (eg. PLS/M3U/ASX) to the library, they will be parsed and their contents added to the library. Otherwise, the playlist file itself will be added to the library, and only parsed when it is added to the playlist/played. TIP: A 'net radio playlist URL could be added to the library to ensure that the correct stream URL is always used, even if it changes. Expand chopped text in-line: Sometimes text may be too long to fit in its column. 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 will 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. Playlist / Dead --------------- If you rearrange your music files, it could leave you with a load of "dead" tracks in XMPlay and a lot of work to fix them, particularly the library entries. That is where this options page comes into play. All missing files from the playlist and library are listed. You can either manually correct them (type the new location), or more conveniently, scan folders (including sub-folders) for the missing files. Whenever possible, XMPlay will not only check for filename matches, but also file sizes, to reduce the chance of false-positives (same filename but different contents). This depends on the original file's size being known. Automatically check other drives for missing files: When XMPlay encounters a missing file, and this option is enabled, it will look for the file at the same path on the other drives. Remove all dead: This removes all dead tracks (both non-existent and just unplayable) from the playlist and library. Individual dead tracks can also be removed via right-clicking, or pressing the Delete key. 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. A filetype association can be removed by deselecting it. The icon that is displayed for files associated with XMPlay is shown to the bottom-right of the filetypes list. 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-folders for playable files too; this setting also applies when drag'n'dropping folders 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. Default action: This determines what should be done with files opened via the default "Open" shell context menu option or the clipboard. They can either replace the current playlist contents or add to them (as if the "Add to XMPlay-list" option was used). Play listed tracks: This determines whether XMPlay should immediately play tracks that are added to the list via external means (not when using the "Add to list" button), optionally bookmarking the current playback first. Auto-sort by filename: When enabled, new tracks are sorted by filename. Otherwise, they are left in order that XMPlay received them. Desktop: Places a shortcut to XMPlay on the desktop. Quick launch: Places a shortcut to XMPlay in the quick launch bar. Titles ------ Here you can choose how XMPlay should format the title of the tracks, based on the tags contained in them. Tags are not always available from Winamp plugins, in which case XMPlay's formatting won't apply (they'll usually have their own formatting options), but XMPlay will read ID3v1, ID3v2 and APEv2 tags from Winamp plugin played files if the "Apply to Winamp plugins when possible" option is enabled. TIP: It is possible to override a track's tags. See the "Track info" section. These are the items available for use in the formatted title... %0 = Filename %1 = Title %2 = Artist %3 = Album %4 = Year %5 = Track %6 = Genre %7 = Comment %8 = Filetype 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). The length of the title (or parts there of) can be limited with the "%cut{A|B|C}" function, where "A" is the string, "B" is the length limit, and "C" is an optional replacement string. For example, "%cut{%1|10|...}" would limit the title to 10 characters and append "..." when the limit is applied. NOTE: If the replacement string would take the length beyond the original length, then the original string will be retained instead. A separate title format can be specified for use in the playlist panel, which may be useful if you want to include extra info in the title that would not fit in the playlist panel's space. NOTE: When sorting tracks by title in the playlist panel, the normal title format will be used rather than the "Playlist panel" format. When a CUE sheet is present, XMPlay will use the title and performer info from that when it is not available from the track itself. XMPlay will also update the title at the CUE points, if the "Update title from cues" option is enabled. Scroll long titles: When enabled, titles that are too long to fit the title display will be scrolled. Tray title bubbles: When XMPlay is minimized to the tray, and this option is enabled, a bubble containing the new title will be shown next to the tray on track changes. Fullscreen vis title bubbles: When in fullscreen vis mode, and this option is enabled, a bubble containing the new title will be shown on track changes. Refresh all tags & titles: This tells XMPlay to rescan the tags/titles for all tracks, which may take quite some time if there are a lot of tracks. Shortcuts --------- Here you can fully customise 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 are listed; the order can be changed using the "Up" and "Down" buttons. 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 shift+O Open folder 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 Up Change track - Previous Page Down Change track - Next End Change track - Random Insert List - Add files/URL shift+Insert List - Add folder ctrl+Z List - Undo Q List - Show queue in list shift+/ List - Clear queue up List nav - Up down List nav - Down ctrl+up/down List nav - Jump to current shift+up List nav - Select extend up shift+down List nav - Select extend down ctrl+A List nav - Select all ctrl+I List nav - Invert selection ctrl+F List nav - Find alt+F List nav - Find quick F List nav - Find next shift+F List nav - Find previous ctrl+shift+F List nav - Find all Enter List track - Play Space List track - Skip / List track - Queue ctrl+/ List track - Dequeue Delete List track - Remove shift+Delete List track - Remove & delete file + (numpad) DSP - Volume up - (numpad) DSP - Volume down / (numpad) DSP - Balance left * (numpad) DSP - Balance right M Toggle mini mode N Minimize / restore shift+N Minimize to tray / restore alt+F4 Close alt+shift+F4 Close with position saved 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 gives better quality but 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 is 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 centre. Obviously can only affect things when playing in stereo. Reset at end when loop not detected: When enabled, the playback state will be reset when looping a MOD that wasn't detected as intended to be looped. Auto-looping: When looping is set to "auto", this option determines when to loop MOD formats. MOD playback mode - decides how MOD files should be played: FT2 = FT2 plays MODs slightly differently from the convention, in fact most trackers play MODs differently from each other! Anyway, if you want to hear MOD files as FT2 plays them, then select this. PT1 = This plays MODs as the original ProTracker did, so now you can relive those early Amiga days! :) PT1 -filter = This is the same as "PT1", but with the Amiga filter disabled. Ignore muting in files: 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). 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. Universal Y/Z effects: This enables support for the IT Yxx (panbrello) and Zxx (filter) effects in the XM and S3M formats. They are automatically enabled when DMO effects are used, as that indicates the file was created with MPT (which is what allows Yxx and Zxx to be used in XM/S3M files). 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. 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 "Output" options. 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 is too high clipping may occur resulting in distortion of the sound. Reset on new track: Resets the amp level to 0 dB (or replaygain value) when a track is loaded. The amp level is also reset when a new subsong is started if the "and subsong" option is enabled. 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. 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 will be used instead. NOTE: When replaygain is active, auto-amp is automatically disabled until the amplification slider is moved away from the replaygain level. Pre-amp: This is added to the replaygain level. Limit according to peak level: When enabled, this will limit the replaygain level according to the peak sample level (if available), so that it does not clip. If available, the peak sample level is shown in the "General" info window. NOTE: If there is other DSP enabled (EQ/reverb/etc), they could change the level and cause clipping despite this limiting. The "Pre-amp" option could be used to compensate. Logarithmic volume: When enabled, the volume slider will use a logarithmic curve. Otherwise, it is linear (a percentage). Plugins ------- This page lists the installed DSP and "general" 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. Exclude from saved settings: This prevents a DSP from being included in saved settings. This is only available with DSP plugins that only allow a single instance. Plugins / Input --------------- The "input" and "archive" plugins that are installed are listed here, with a list of the file formats that they support. When changing an input plugin's config while it is being used to play a track, you may have to reopen the track for the config changes to take effect. Winamp plugins may have the letter 'T' and/or 'U' after their name, which indicate that the plugin supports tag reading and/or Unicode. Priority filetypes: This is a space-delimited list of filetypes that the plugin will get 1st look at, before the built-in decoders and other plugins. Normally, built-in decoders get 1st look at files, followed by the plugins (in the listed order). 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) are loaded, which is most of them. Saved settings -------------- Amp/DSP/looping/decoder settings 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. * "Amp" is the amplification settings ("DSP" options page). * "DSP" is the config of all DSP plugins that are currently active (in the DSP Plugins list), except for those that are set to be excluded. * "Loop" is the track looping/ending settings ("Miscellaneous" options page). * "Decoder" can be the settings of any decoder/plugin that supports saved settings. If set the "Current", the current track's decoder settings will be saved (if supported). Before clicking "Add", you need to select what the settings will apply to. There are 5 types of saved settings: File, Type, Path, Tags, Preset. "Preset" is fairly obvious, and the saved settings can be accessed by right clicking the settings button (disk icon) in the left 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 "Tags" match, and then a "Type" match, and then finally 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/type/path/tags of a saved settings can be edited by clicking on the entry in the list. In the case of "tags", the text it is a search string in the same form as in the "Find tracks" window. TIP: An empty path setting will match all files. Right-clicking on a saved setting entry gives the option to load, update or remove the settings. When updating settings, the saved settings are replaced by the current settings. Save settings: Writes the settings to disk. No changes are kept otherwise. Automatically load saved settings: This enables the automatic loading of settings that have been saved for the new track being played. Output ------ Here you can choose which device to use, and what output format 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 ("Encoder - ?") 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 "Limit" option is not enabled. When writing to disk, the amplification slider controls the volume level. 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. Apply sample rate to all formats: Most file formats have a particular sample rate that they are intended to be played at, and XMPlay will usually play them at that rate, unless this option is enabled. In which case, XMPlay will resample all tracks to the chosen sample rate SRC quality: This controls the quality of the sample rate conversion. Higher settings reduce aliasing, but also require more CPU. Downmix multi-channel: When enabled, tracks that have more than the chosen number of channels will be downmixed. Otherwise they will be played with their default number of channels, which may mean that some channels are not heard if the extra speakers are not present. NOTE: If the device does not support the chosen output format, different settings may automatically be used. 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 recommended if you intend to process the written file (use 32-bit whenever possible instead). NOTE: When writing to disk (including external encoder), 32-bit is standard IEEE754 floating-point ("type 3" WAV). Folder: The default folder to write files in. Source: When enabled, the output file will be written to the same folder as the track that is being played, instead of the "Folder" setting. Use title: When enabled, the output filename will be based on the track's title rather than the original filename. Auto-filename: This skips output filename selection when writing to disk. 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. Omit original extension: When enabled (and "Use title" is disabled), the original file's extension will be removed from the written file. Use source resolution: When enabled, the track's sample resolution (if it has one) will be used in the written file instead of the one chosen above. When an encoder is used, this will be overridden by the resolution set for that, if not set to "output". 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. Output / 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. Tags can be passed to encoders. Some tags may be empty, and if the encoder won't ignore them, they can be removed from the command-line by enabling the "Remove empty tag options" option. This requires that the encoder's tag options begin with a '-' character. Some/most command-line encoders don't support Unicode. In those cases, exotic characters may be lost from filenames and tags. There isn't anything that can be done about the tags, but filename problems can be overcome by unticking the "Unicode is supported" box to have XMPlay write a temporary non-Unicode filename that is renamed afterwards. The resolution of the sample data sent to the encoder will be as set in the "Output" options, unless it is overridden here. Settings for the LAME/OGGENC/FLAC encoders are provided. To use them, put the LAME.EXE/OGGENC.EXE/FLAC.EXE files in the same folder as XMPLAY.EXE. See the support site for more encoders. NOTE: The FLAC input plugin will be needed to play FLAC files. TIP: If upgrading from an old XMPlay version, the "Defaults" option can be used to get the latest default encoder settings. Any custom encoder entries will need to be added again afterwards though. Output plugins -------------- The option pages for any installed output plugins will be shown below the "Output" options. 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, etc. Message: Displays any messages or tags contained in the file, including the current (and recent) track name when streaming from Shoutcast/Icecast servers. Samples: Displays instrument and sample texts. Vis: Displays visualisations. 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). 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 word(s) in their filename or tags. Right-clicking allows you to choose to have only the matching tracks played (the rest will be skipped). There is also an "Auto-replace list with library matches" option to have the playlist consist of all matches from tracks in the library; the playlist contents will be replaced whenever the search terms are changed. The current and total number of tracks is also displayed in the top-right. TIP: Double-clicking the visualisation toggles fullscreen mode. NOTE: Screensavers will be disabled while fullscreen vis is active. NOTE: Some visualisations support button-clicks. The middle (or 4th/5th) mouse button is used to access that feature in XMPlay. Shift+left- click can also be used. 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. TIP: Channels can be muted by middle-clicking (or Shift+left-clicking) on them. TIP: The width of the channel columns can be changed depending on the number of channels. See the "MOD" section. 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, the play count, the time of last playback, the age, and a user rating. 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. Probably the most convenient way to add files is to monitor folders, ie. the folders containing your music. When any files are added or deleted, they will automatically be added or removed from the library. Monitoring is setup in the "Library" options page. The library uses the same UI 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 tracks will give options to add them to the playlist, replace the playlist with them, play them, queue them, select matching tracks, rate the tracks, view/edit track info, refresh the info, and remove the tracks. The playlist mouse button action settings also apply to the library. NOTE: Playing and queuing both add to the queue: playing inserts at the front of the queue, and queuing adds to the end of it. The tracks will also be added to the playlist if they are not already 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, file size and playback length. The filename and tags can be modified. NOTE: Changes made here affect all instances 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 (or playlist). TIP: The tags of multiple tracks can be overridden by selecting them all before opening the track info. Find tracks =========== Using this window, you can search for tracks containing specific word(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. When multiple words are specified, they must all be present for a track to be considered a match. Words can be prefixed with '-' to require them to be absent rather than present. It is also possible to group words so that only one of the group has to be present, by joining them with '/'. For example, a search string of "a -b c/d" would mean that "a" must be present, "b" must be absent, and at least one of "c" or "d" must be present. TIP: Phrases can be used instead of single words by enclosing them in "...". More advanced searches are possible with the following operators: "%tag:x" (tag contains x), "%tag=x" (tag equals x), "%tagx" (tag is greater than x). The contains/equals options obey the "Case-sensitive" setting, while the lower/greater options are always case- insensitive. "%tag" can be one of the title/encoder formatting options (see the "Titles" section) or one of the following: "%age" (days since added to library), "%lastplay" (days since last played), "%length" (length in seconds), "%playcount" (times played), "%rating" (rating), "%size" (file size in KB). For example, to find MP3 and OGG files that are between 3 and 4 minutes long, with an artist tag that begins with something lower than "M", with a 5 star rating, and containing "blah" in any tag/filename (depending on the "in" setting), the search could look like this... %8=mp3/%8=ogg %length>179 %length<241 %2