Difference between revisions of "Foobar2000:Foobar2000"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Added tips & tricks, many external links, various edits to beginner's guide)
(Columns UI)
Line 23: Line 23:
 
====Columns UI====
 
====Columns UI====
  
[http://www.hydrogenaudio.org/forums/index.php?showtopic=28647 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. To date panels for viewing the database, [http://www.hydrogenaudio.org/forums/index.php?showtopic=29363 track info], [http://www.hydrogenaudio.org/forums/index.php?showtopic=29383 album art], playback buttons, volumebars and visualizations have all been created.
+
[http://www.hydrogenaudio.org/forums/index.php?showtopic=28647 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.<br>
 +
Some popular extension panels include (in no particular order):
 +
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=28869 foo_uie_tabs] '''Tabbed Panel Stack'''<br>Allows multiple extension panels to be added to a stack.
 +
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=29383 foo_uie_albumart] '''Album Art Panel'''<br>Displays album art from images in a specified folder.
 +
*[http://www.example.com link title]'''Track Info Panel'''<br>Displays information about the currently playing or selected track. Can be customised using TAGZ strings.
  
 
Because of the useful extensions to the Standard UI, Columns UI is rapidly becoming popular and continues to be under rapid development.
 
Because of the useful extensions to the Standard UI, Columns UI is rapidly becoming popular and continues to be under rapid development.
Line 32: Line 36:
  
 
----
 
----
 +
 
=== TAGZ ===
 
=== TAGZ ===
 
TAGZ is the language used to format the way information is displayed.  Thorough documentation on various TAGZ fields and functions is laid out in titleformat_help.html, which can be found in your foobar2000 directory.
 
TAGZ is the language used to format the way information is displayed.  Thorough documentation on various TAGZ fields and functions is laid out in titleformat_help.html, which can be found in your foobar2000 directory.

Revision as of 02:44, 13 February 2005

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 formats

Playback

Supported through plug-ins:

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.


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.
Some popular extension panels include (in no particular order):

  • foo_uie_tabs Tabbed Panel Stack
    Allows multiple extension panels to be added to a stack.
  • foo_uie_albumart Album Art Panel
    Displays album art from images in a specified folder.
  • link titleTrack Info Panel
    Displays information about the currently playing or selected track. Can be customised using TAGZ strings.

Because of the useful extensions to the Standard UI, Columns UI is rapidly becoming popular and continues to be under rapid development.


TAGZ

TAGZ is the language used to format the way information is displayed. Thorough documentation on various TAGZ fields and functions is laid out in titleformat_help.html, which can be found in your foobar2000 directory.


Beginner's Guide

Getting Started

Always remember that the best way to become comfortable with foobar is to read the forums regularly and to play around with foobar itself. Download some configs (found under "Appearance" in the "External Links" section below), study how they do what they do, change them around to see how you affect things, explore the preferences window, see what happens when you check/uncheck things if you can't figure out what they mean, etc., etc. 90% of what you learn will come from the forums and experimentation.

Bookmark and try to familiarize yourself thoroughly with titleformat_help.html in your foobar directory. This contains all the TAGZ code you need to know to write your own formatting strings. It might look very strange at first, but once you see some TAGZ strings "in action" it will begin to make sense, and you will refer to it constantly.

Any question you have as a beginner has probably already been asked and answered in the forums a half dozen times. Please search the forums thoroughly for an answer before posting your question.

Using Columns UI

It is best to start with Columns UI as your user interface; the TAGZ formatting needed is very basic and the panel plug-ins will make foobar much more user-friendly, resembling mp3 players you're more accustomed to.

Bookmark these sites before using Columns UI:

Panel Extensions

Installing panel extensions to Columns UI (such as albumart and track info) is simple; just copy the .dll into your foobar2000\components folder and restart foobar. To enable these panels, first you must enable Columns UI's sidebar. Check both "Enable sidebar" and "Show sidebar" in the "Columns UI" subgroup of the "Components" menu. To add a panel or toolbar to the sidebar, right-click on any gray area of the sidebar for a list of items you can add. A list of supported panels is given in the Columns UI thread of the foobar2000 forums.

The trackinfo panel can be VERY helpful in teaching you how TAGZ strings behave. This panel updates in real-time as you edit its TAGZ-based configuration. It is recommended that you install and display this panel, using it as a "scratch pad" to help you become familiar with TAGZ.

Basic TAGZ Commands

The text displayed in each column is given by TAGZ code. To view this code look in "Preferences > Display > Columns UI > (Columns tab)"

The TAGZ code used for the "Artist" column is:

[%artist%]

This code retrieves the ARTIST field stored in the file's tag, if it exists. Not to be confused with TAGZ, a file's "tag" contains information about its artist, album, year, etc. The name of the field is ARTIST, so to retrieve the contents of this field, %artist% is used. The brackets [ ] around %artist% mean that the ARTIST field should only be shown if it exists in the file's tag. If there is no ARTIST field, nothing will be displayed; without the brackets, a question mark would be displayed.

Some common tag fields are:

  • ARTIST
  • ALBUM
  • ALBUM ARTIST (for "Various Artists," etc.)
  • ALBUM
  • TRACKNUMBER
  • TITLE (track title)
  • DATE
  • GENRE
  • COMMENT

To see which tags are contained within a particular file, right-click on that file in the playlist and click "Properties."

Other fields, such as %__bitrate% and %_path%, are given in titleformat_help.html.

The TAGZ code used for the "Title" column is:

$if2(%title%,%_filename%)

Knowing what you learned from analyzing [%artist%], and referring to titleformat_help.html, try to figure out what this TAGZ code will produce, and why it was written this way. You might also want to try creating columns that contain your own TAGZ strings.

More info on the "Columns" tab of Columns UI's settings can be found on this page of the Columns UI documentation.

Color Codes

Click on the "Colour" tab within the "Columns" tab of the Columns UI preferences. It is empty. If you want to customize the colors used in a column, you would put the color codes here and check the "Use custom colour spec" box above. Beneath the text box you will see a six-digit number with a block character on either side of it:

�[]41800[]

This is what a color code looks like. To get a color code for a specific color, click on the "..." button, which will pop-up a pallette and return the color you choose in the same gray box.

The way you format colors is given by clicking the "Tools" button, then by clicking "String help." Concentrate on the first four items, which are required in every color code string:

text|selected text|background|selected background

For example, if I wanted my "Artist" column to display red text on white background when not selected, and yellow text on blue background when selected, I would use this format:

(red color code)|(yellow color code)|(white color code)|(blue color code)

The proper color code would then be:

��[]0000FF[]|[]00FFFF[]|[]FFFFFF[]|[]FF0000[]


Advanced Use


Tips & Tricks

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, 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 give a minimum height via the panel stack options.

Handy Strings

Convert "The Beatles" to "Beatles, The"

$if($strcmp($left(%artist%,4),The ),$right(%artist%,$sub($len(%artist%),4))', 'The,%artist%)


Supported languages

  • English

Supported 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.


Guides


External links

Official Site

Community

Appearance

Components / Plugins

  • case's Page: special installer, diskwriter components, etc.
  • kode's Page: components: file-formats, archive-support, OSD, shuffle (temporary mirror since the above host is down)
  • Messer's page: components: freedb-masstagger, streaming with save-function, etc.
  • Musicmusic's Page: components: textwriter, quicktag, custom sort, ui_columns, panels