Foobar2000:Foobar2000
foobar2000 is a free music player for Windows. It features multiple playlists, a music database, streaming, ReplayGain support, extensive plug-ins support and more.
Supported...
Playback Formats
Supported through plug-ins:
- TTA, FLAC, Monkey's Audio, WavPack, Speex, Mod, SPC, TFMX, Shorten, OptimFROG, LPAC, WMA, AC3, PSF, NSF, XID, XA, Matroska
In addition, foobar2000 can also play music directly from compressed RAR, ZIP and 7-ZIP archives without requiring the user to extract the files prior to playing.
Languages
- English
Platforms
- Windows
No known plans exists to port it to other platforms, but attempts have been made, with varying degrees of success, to run foobar2000 on x86 Linux systems by using Wine.
User Interface
Standard
By default foobar2000 uses the standard interface, foo_ui_standard. This interface is based around a tabbed list of playlists. Playlists are then formatted according to the title formatting strings entered by the user. These allow access to tag data, as well as information about the state of the program in the playlist display.
Columns UI
foo_ui_columns is an extension of the ideas used in the standard interface. It takes the open area of the playlist and divides it into one or more columns that have individual formatting strings. Recent versions of Columns UI have also added support for UI Extension panels which appear in Columns UI's sidebar or in the toolbar.
Because of the useful extensions to the Standard UI, Columns UI is rapidly becoming popular and continues to be under rapid development.
Newbie/Novice/Advanced User Guides
Tips & Tricks
Volume Slider in Sidebar/Toolbar
Placing Panels Above the Playlist
To place panels above the playlist, check "List all toolbars" in the "Other" tab of the Columns UI preferences. When checked, right-clicking on the toolbar will give you the option of placing panels on the toolbar. If a panel appears "squashed," it is because it needs to have a minimum height set in its preferences. If the panel extension has no minimum height setting, you may place it in a panel stack, and set a minimum height via the panel stack options.
Two Tabbed Panel Stacks in One Sidebar/Toolbar
While holding shift: Right-click on sidebar/toolbar, click "Layout > Tabbed Panel Stack"
Handy Strings
Standardize my PLAY_DATE and PLAY_TIME fields
LAST_PLAYED has been developed as a standard to replace the widely variable PLAY_DATE and PLAY_TIME usages. Use these Masstagger scripts to convert your specific format to this new standard. More info about LAST_PLAYED available here.
!!!NOTE!!!: Be VERY CAREFUL when applying any of the scripts below. Be sure to test the script on one file before running it on your whole library.
If your current time/datestamp is in the format...
- PLAY_DATE = DDMMYY, PLAY_TIME = HHMMSS (24hr) (this is foo_playcount's default format)
...download scripts from this thread post.
- PLAY_DATE = YYYYMMDD, PLAY_TIME = HHMMSS (24hr)
...download script from this thread post.
- PLAY_DATE = DD~MM~YY, PLAY_TIME = HH~MM~SS (where ~ is any one single-character separator)
...download script from this thread post.
"The Band" becomes "Band, The"
$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)
Pad tracknumber with leading zeros ("1" becomes "01")
$num(%tracknumber%,2)
Alternating Stripes in the playlist (Like iTunes)
Go to Preferences/Display/Columns UI/Globals/Colour Tab, enter this under the background section of your color string (text|selected text|background|selected background|...)
$ifgreater($mod(%_playlist_number%,2),0,�F2E8DF�,�FFFFFF�)
Replace the last two colors with your own.
Indicate Replaygain tags
This is if you want to show which kind of Replaygain you have. This string will show an "A" if album gain has been applied, a "T" if Track gain is applied, and a red "X" if there is no replaygain data in the file.
$if(%__replaygain_album_gain%,A,$if(%__replaygain_track_gain%,T,�0000FF|000�X))
Indicate Audioscrobbler submission
Audioscrobbler is a service that, using the foo_scrobbler component, keeps a record of the songs you listen to and provides various statistical reports. A track is submitted when either 50% or 4 minutes have elapsed, and this is what the string tests for. Actual submission to Audioscrobbler can only be verified by foobar's console.
$if(%_isplaying%, $ifgreater(%_time_elapsed_seconds%,240,'*', $ifgreater(%_time_elapsed_seconds%,$div(%_time_total_seconds%,2),'*',)))
Components
Find components for foobar2000 at the components page
FAQ
A rather extensive FAQ is available at the SH/SC Wiki.
Q: Album list shows dead entries after a restart, even though I used "Remove dead entries" before. Why is that?
A: The files are probably still contained in one of your playlists or in the history (only if you are using an older version of foo_history). Use "Playlist/Remove dead entries" from the main menu on all your playlists, or remove the dead entries manually. As long as the files are on a playlist, they will be in the database and thus will show up in album list.
Encouraged Tag Standards
FIELD_NAME [format] (component)
- ALBUM ARTIST [e.g., Various Artists, The Foobar Collective] (none)
Notes: Field name is ALBUM ARTIST, with no underscore. Tag should exist if and only if an album is by multiple artists, and be contained in every track. Track-specific artists should be entered in the ARTIST tag, never in the TITLE tag.
(more about this standard) - LAST_PLAYED [2005-03-22 19:00:00...] (foo_playcount)
Notes: Any amount or type of data may be placed after the time. Compliant TAGZ code shall use $substr() instead of $right() when extracting substrings from this field.
See also: Standardize my PLAY_DATE and PLAY_TIME fields
(more about this standard)
Important Links
Official Site
Community
Guides
Appearance
- Foobar Gallery: screenshot thread
- Default UI formatting strings: cut-n-paste ready
- Columns UI configs: .fcs file format
- foo_ui_gfx (alpha): skin support for foobar
Components / Plugins
General
- Most Sought-After Plugins (forum thread)
- Columns UI thread: first post contains links to many Columns UI panel extensions
Specific Components
- case's Page: special installer, diskwriter components, etc.
- kode's Page: file-formats, archive-support, OSD, shuffle (temporary mirror since the primary host is down)
- foosion's Page: dbsearch, cut n' paste, history, etc.
- Messer's page: freedb-masstagger, streaming with save-function, etc.
- musicmusic's Page: textwriter, quicktag, custom sort, ui_columns, panels
Thanks
picmixer: ReplayGain tutorial