<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MordredKLB</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MordredKLB"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/MordredKLB"/>
	<updated>2026-05-03T06:43:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=36591</id>
		<title>Foobar2000:Components/Enhanced Playback Statistics (foo enhanced playcount)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=36591"/>
		<updated>2023-02-14T18:54:38Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: /* foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:foobar2000:Components/Enhanced Playback Statistics (foo_enhanced playcount)}}&lt;br /&gt;
[[Category:Foobar2000 Legacy Playback statistics components|Legacy Playback statistics components]]&lt;br /&gt;
{{infobox foobar2000 component&lt;br /&gt;
| name                 = Enhanced Playback Statistics&lt;br /&gt;
| screenshot           = &lt;br /&gt;
| caption              = &lt;br /&gt;
| module_name          = foo_enhanced playcount&lt;br /&gt;
| developer            = MordredKLB&lt;br /&gt;
| repository           = [https://github.com/kbuffington/foo_enhanced_playcount github]&lt;br /&gt;
| released             = &lt;br /&gt;
| released_ref         = &lt;br /&gt;
| stable_release       = 4.3.3&lt;br /&gt;
| stable_release_date  = 2021-03-21&lt;br /&gt;
| preview_release      = &lt;br /&gt;
| preview_release_date = &lt;br /&gt;
| foobar2000_minimum   = 1.4&lt;br /&gt;
| foobar2000_maximum   = &lt;br /&gt;
| foobar2000_ui_module = &lt;br /&gt;
| use                  = &lt;br /&gt;
| license              = &lt;br /&gt;
}}&lt;br /&gt;
= foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) =&lt;br /&gt;
This component locally records the timestamp of every single play that foobar makes (compared to foo_playcount which only records the first and most recent plays). If a username is supplied, and last.fm support is enabled, it can also retrieve the timestamp of every scrobble of a song as well to ensure you have a combined record of all local and scrobbled plays.&lt;br /&gt;
&lt;br /&gt;
While foo_enhanced_playcount can be used in any theme, to get maximum use out of it you&#039;ll need to use a panel that supports javascript, like foo_jscript_panel, or foo_wsh_panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; This component is &#039;&#039;&#039;not&#039;&#039;&#039; a replacement for foo_playcount. This component&#039;s functionality is improved by the presence of foo_playcount. &#039;&#039;Do not uninstall foo_playcount!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== New fields provided ==&lt;br /&gt;
* &#039;&#039;&#039;%played_times%&#039;&#039;&#039; - Date formatted list: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893431]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_raw%&#039;&#039;&#039; - raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000] - There&#039;s probably no reason to ever use this. &lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times%&#039;&#039;&#039; - Date formatted list of scrobbles: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893000]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_play_count%&#039;&#039;&#039; - Count of last.fm plays, a la %play_count%: 5&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_added%&#039;&#039;&#039; - Single date: &amp;quot;2012-08-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_first_played%&#039;&#039;&#039; - Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_last_played%&#039;&#039;&#039; - Single date: &amp;quot;2018-04-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%added_enhanced%&#039;&#039;&#039; - Returns the earliest of %added% (from foo_playcount) or %lastfm_added%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%first_played_enhanced%&#039;&#039;&#039; - Returns the earliest of %first_played% (from foo_playcount) or %lastfm_added%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%last_played_enhanced%&#039;&#039;&#039; - Returns the earliest of %last_played% (from foo_playcount) or %lastfm_last_played%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Code Samples ==&lt;br /&gt;
&lt;br /&gt;
To consume the Array&#039;s of timestamps, you&#039;ll need to parse the response:&lt;br /&gt;
&lt;br /&gt;
    var raw = fb.TitleFormat(&#039;[%played_times_js%]&#039;).Eval();&lt;br /&gt;
    var playedTimes = [];&lt;br /&gt;
    try {&lt;br /&gt;
    	playedTimes = JSON.parse(raw);	// this is required because the value is a string&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
    	fb.trace(&#039;&amp;lt;&amp;lt;&amp;lt; ERROR parsing JSON &amp;gt;&amp;gt;&amp;gt;&#039;);  // you probably don&#039;t need this try/catch, but it was helpful in my debugging&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0; i &amp;lt; playedTimes.length; i++) {&lt;br /&gt;
    	var p = new Date(playedTimes[i]);&lt;br /&gt;
    	// do something with this value&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
More code samples [https://hydrogenaud.io/index.php/topic,115227.msg950552.html#msg950552 in the official thread].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.0.html Official Discussion Thread]&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.0.html#msg950576 Changelog]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=36590</id>
		<title>Foobar2000:Components/Enhanced Playback Statistics (foo enhanced playcount)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=36590"/>
		<updated>2023-02-14T18:53:23Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:foobar2000:Components/Enhanced Playback Statistics (foo_enhanced playcount)}}&lt;br /&gt;
[[Category:Foobar2000 Legacy Playback statistics components|Legacy Playback statistics components]]&lt;br /&gt;
{{infobox foobar2000 component&lt;br /&gt;
| name                 = Enhanced Playback Statistics&lt;br /&gt;
| screenshot           = &lt;br /&gt;
| caption              = &lt;br /&gt;
| module_name          = foo_enhanced playcount&lt;br /&gt;
| developer            = MordredKLB&lt;br /&gt;
| repository           = [https://github.com/kbuffington/foo_enhanced_playcount github]&lt;br /&gt;
| released             = &lt;br /&gt;
| released_ref         = &lt;br /&gt;
| stable_release       = 4.3.3&lt;br /&gt;
| stable_release_date  = 2021-03-21&lt;br /&gt;
| preview_release      = &lt;br /&gt;
| preview_release_date = &lt;br /&gt;
| foobar2000_minimum   = 1.4&lt;br /&gt;
| foobar2000_maximum   = &lt;br /&gt;
| foobar2000_ui_module = &lt;br /&gt;
| use                  = &lt;br /&gt;
| license              = &lt;br /&gt;
}}&lt;br /&gt;
= foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) =&lt;br /&gt;
This component locally records the timestamp of every single play that foobar makes (compared to foo_playcount which only records the first and last). If a username is supplied, and last.fm support is enabled, it can also retrieve the timestamp of every scrobble of a song as well to ensure you have a combined record of all local and scrobbled plays.&lt;br /&gt;
&lt;br /&gt;
While foo_enhanced_playcount can be used in any theme, to get maximum use out of it you&#039;ll need to use a panel that supports javascript, like foo_jscript_panel, or foo_wsh_panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; This component is &#039;&#039;&#039;not&#039;&#039;&#039; a replacement for foo_playcount. This component&#039;s functionality is improved by the presence of foo_playcount. &#039;&#039;Do not uninstall foo_playcount!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== New fields provided ==&lt;br /&gt;
* &#039;&#039;&#039;%played_times%&#039;&#039;&#039; - Date formatted list: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893431]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_raw%&#039;&#039;&#039; - raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000] - There&#039;s probably no reason to ever use this. &lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times%&#039;&#039;&#039; - Date formatted list of scrobbles: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893000]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_play_count%&#039;&#039;&#039; - Count of last.fm plays, a la %play_count%: 5&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_added%&#039;&#039;&#039; - Single date: &amp;quot;2012-08-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_first_played%&#039;&#039;&#039; - Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_last_played%&#039;&#039;&#039; - Single date: &amp;quot;2018-04-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%added_enhanced%&#039;&#039;&#039; - Returns the earliest of %added% (from foo_playcount) or %lastfm_added%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%first_played_enhanced%&#039;&#039;&#039; - Returns the earliest of %first_played% (from foo_playcount) or %lastfm_added%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%last_played_enhanced%&#039;&#039;&#039; - Returns the earliest of %last_played% (from foo_playcount) or %lastfm_last_played%. Single date: &amp;quot;2023-02-04 15:16:17&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Code Samples ==&lt;br /&gt;
&lt;br /&gt;
To consume the Array&#039;s of timestamps, you&#039;ll need to parse the response:&lt;br /&gt;
&lt;br /&gt;
    var raw = fb.TitleFormat(&#039;[%played_times_js%]&#039;).Eval();&lt;br /&gt;
    var playedTimes = [];&lt;br /&gt;
    try {&lt;br /&gt;
    	playedTimes = JSON.parse(raw);	// this is required because the value is a string&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
    	fb.trace(&#039;&amp;lt;&amp;lt;&amp;lt; ERROR parsing JSON &amp;gt;&amp;gt;&amp;gt;&#039;);  // you probably don&#039;t need this try/catch, but it was helpful in my debugging&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0; i &amp;lt; playedTimes.length; i++) {&lt;br /&gt;
    	var p = new Date(playedTimes[i]);&lt;br /&gt;
    	// do something with this value&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
More code samples [https://hydrogenaud.io/index.php/topic,115227.msg950552.html#msg950552 in the official thread].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.0.html Official Discussion Thread]&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.0.html#msg950576 Changelog]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27665</id>
		<title>Foobar2000:Components/Enhanced Playback Statistics (foo enhanced playcount)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27665"/>
		<updated>2018-04-12T07:14:20Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: /* foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) */ Adding note about foo_playcount&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) =&lt;br /&gt;
This component records the timestamp of every single play that foobar makes. If a username is supplied, and last.fm support is enabled, it can also retrieve the timestamp of every scrobble of a song as well.&lt;br /&gt;
&lt;br /&gt;
While foo_enhanced_playcount can be used in any theme, to get maximum use out of it you&#039;ll need to use a panel that supports javascript, like foo_jscript_panel, or foo_wsh_panel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; This component is &#039;&#039;&#039;not&#039;&#039;&#039; a replacement for foo_playcount. This component&#039;s functionality is improved by the presence of foo_playcount. &#039;&#039;Do not uninstall foo_playcount!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== New fields provided ==&lt;br /&gt;
* &#039;&#039;&#039;%played_times%&#039;&#039;&#039; - Date formatted list: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893431]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_raw%&#039;&#039;&#039; - raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000] - There&#039;s probably no reason to ever use this. &lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times%&#039;&#039;&#039; - Date formatted list of scrobbles: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893000]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_play_count%&#039;&#039;&#039; - Count of last.fm plays, a la %play_count%: 5&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_added%&#039;&#039;&#039; - Single date: &amp;quot;2012-08-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_first_played%&#039;&#039;&#039; - Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_last_played%&#039;&#039;&#039; - Single date: &amp;quot;2018-04-04 15:58:37&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
== Code Samples ==&lt;br /&gt;
&lt;br /&gt;
To consume the Array&#039;s of timestamps, you&#039;ll need to parse the response:&lt;br /&gt;
&lt;br /&gt;
    var raw = fb.TitleFormat(&#039;[%played_times_js%]&#039;).Eval();&lt;br /&gt;
    var playedTimes = [];&lt;br /&gt;
    try {&lt;br /&gt;
    	playedTimes = JSON.parse(raw);	// this is required because the value is a string&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
    	fb.trace(&#039;&amp;lt;&amp;lt;&amp;lt; ERROR parsing JSON &amp;gt;&amp;gt;&amp;gt;&#039;);  // you probably don&#039;t need this try/catch, but it was helpful in my debugging&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0; i &amp;lt; playedTimes.length; i++) {&lt;br /&gt;
    	var p = new Date(playedTimes[i]);&lt;br /&gt;
    	// do something with this value&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
More code samples [https://hydrogenaud.io/index.php/topic,115227.msg950552.html#msg950552 in the official thread].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html Official Discussion Thread]&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html#msg950576 Changelog]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=27664</id>
		<title>Foobar2000:Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=27664"/>
		<updated>2018-04-12T07:11:08Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: /* Playback Statistics */ adding foo_enhanced_playcount&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{title|foobar2000 Components}}&lt;br /&gt;
&lt;br /&gt;
{{fb2k}}&lt;br /&gt;
This page contains most foobar2000 components available at time of history last update.&lt;br /&gt;
=Official Components= &lt;br /&gt;
The following components are created and maintained by the foobar2000 development team. Support for them should be asked for in the [http://www.hydrogenaudio.org/forums/index.php?showforum=29 Support forum]&lt;br /&gt;
===Included in Installer===&lt;br /&gt;
[[Image:Optional_features.png|thumb|The Optional Features screen of the fb2k Installer]]&lt;br /&gt;
In addition to foobar2000&#039;s core functionality, the following components can be installed as needed, in the Optional Features section of the installer.&lt;br /&gt;
*Audio CD Support (foo_cdda) Adds Support for [[CD|Audio CD]] Playback&lt;br /&gt;
*Album List (foo_albumlist) Gives quick access to Media Library Content with customizable tree view&lt;br /&gt;
*Archive Reader (foo_unpack) Adds support for playing files directly from ZIP RAR and GZIP archives&lt;br /&gt;
*[[Foobar2000:Converter|Converter (foo_converter)]] Converts files to WAV or any other formats using command line encoders&lt;br /&gt;
*[[Foobar2000:File_operations|File Operations (foo_fileops)]] Renames, moves, or copies files according to specified patterns&lt;br /&gt;
*[[Foobar2000:Components_0.9/Freedb_Tagger_(foo_freedb2)|freedb Tagger (foo_freedb2)]] Tag retrieving support from freedb service for any set of files (mp3,mpc,flac,...-not only CDDA tracks)&lt;br /&gt;
*ReplayGain Scanner (foo_rgscan) advanced solution for volume matching&lt;br /&gt;
*Standard DSPs (foo_dsp_std) Equalizer, resampler, advanced limiter, hard limiter, stereo to 4 channel upmixer and a couple other effects&lt;br /&gt;
&lt;br /&gt;
===Additional Components===&lt;br /&gt;
These components are provided as separate downloads, found on the [http://www.foobar2000.org/components/author/Peter Additional Components page]. &lt;br /&gt;
*[[Foobar2000:Components_0.9/ABX_Comparator(foo_abx)|ABX comparator (foo_abx)]] component for double blind listening tests&lt;br /&gt;
*[[Foobar2000:Components 0.9/ALAC Decoder (foo_input_alac)|ALAC Decoder (foo_input_alac)]] Apple Lossless ([[ALAC]]) decoder&lt;br /&gt;
* [[Foobar2000:Components 0.9/ASIO Output (foo_out_asio)|ASIO output support (foo_out_asio)]] Adds ASIO output support.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Audio CD Writer (foo_burninate)|Audio CD Writer (foo_burninate)]] CD burning support&lt;br /&gt;
*[[Foobar2000:Components 0.9/Binary Comparator (foo_bitcompare)|Binary Comparator (foo_bitcompare)]] Performs binary comparison between two or more tracks and reports differences.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Decoding Speed Test (foo_benchmark)|Decoding Speed Test (foo_benchmark)]] Measures decoding speed of audio files.&lt;br /&gt;
* [[Foobar2000:Components 0.9/File Integrity Verifier (foo_verifier)|File Integrity Verifier (foo_verifier)]] Checks specified media files for decoding errors.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Convolve (foo_convolve)|Impulse response convolver (foo_convolve)]] Allows arbitrary effects to be captured and used inside foobar2000. ([http://www.hydrogenaudio.org/forums/index.php?showtopic=10611 More Info])&lt;br /&gt;
* [[Foobar2000:Components 0.9/Kernel Streaming Output (foo_out_ks)|Kernel Streaming support (foo_out_ks)]] Allows bit-exact playback bypassing Windows kernel mixer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Masstagger (foo_masstag)|Masstagger (foo_masstag)]] Automates various tag editing operations.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Monkey&#039;s Audio Decoder (foo_input_monkey)|Monkey&#039;s Audio Decoder (foo_input_monkey)]] Adds decoding support for Monkey&#039;s Audio files (.[[APE]]) as well as APE Link files (.[[APL]]).&lt;br /&gt;
*[[Foobar2000:Components/Playback Statistics v3.x (foo playcount)|Playback Statistics (foo playcount)]] Collects playback statistics for your Media Library content.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Quick Tagger (foo_quicktag)| Quick Tagger (foo_quicktag)]] Adds customizable context menu commands for quickly setting tag fields to preconfigured values&lt;br /&gt;
* [[Foobar2000:Components 0.9/Text Tools (foo texttools)|Text Tools (foo_texttools)]] Adds customizable context menu commands for copying information about the selected tracks to Windows Clipboard. &lt;br /&gt;
* [[Foobar2000:Components 0.9/WASAPI output support (foo_out_wasapi)|WASAPI output support (foo_out_wasapi)]] Adds Windows Audio Session API exclusive mode output support, allowing bit-exact output and muting all other sounds on Windows Vista and Windows 7 systems.&lt;br /&gt;
&lt;br /&gt;
=3rd Party Components=&lt;br /&gt;
The following components are created and maintained by 3rd-party authors, using foobar2000&#039;s [http://www.foobar2000.org/SDK.html SDK]. Support for these components should be asked for in the [http://www.hydrogenaudio.org/forums/index.php?showforum=33 3rd Party Plugins forum] Asking for help directly in the component&#039;s thread is usually preferred.&lt;br /&gt;
== User Interfaces ==&lt;br /&gt;
&lt;br /&gt;
=== Columns UI ===&lt;br /&gt;
[[Foobar2000:Components 0.9/Columns UI (foo_ui_columns)|Columns UI (foo_ui_columns)]] Very popular alternate interface for foobar2000 based on a columns and panel layout.&lt;br /&gt;
&lt;br /&gt;
Columns UI introduced components with [[#Panels|panel]] capability which extend the user interface.&lt;br /&gt;
&lt;br /&gt;
== User Interface Addons ==&lt;br /&gt;
=== UI Elements ===&lt;br /&gt;
The [[Foobar2000:Components 0.9/Default user interface (foo_ui_std)|default user interface (foo_ui_std)]], included in the standard installation package, can be extended with the following component(s):&lt;br /&gt;
* [[Foobar2000:Components_0.9/Chronial&#039;s_Coverflow_(foo_chronflow)|Chronial&#039;s Coverflow (foo_chronflow)]] Interactive 3D Coverflow.&lt;br /&gt;
* [[Foobar2000:Components/Facets (foo_facets)|Facets (foo_facets)]] Flexible media library viewer based on linked lists.&lt;br /&gt;
* [[Foobar2000:Components/Playlist_Organizer_(foo_plorg)|Playlist Organizer (foo_plorg)]] Advanced playlist manager to organize playlists in a treeview.&lt;br /&gt;
* [[Foobar2000:Components/Queue Contents Editor (foo queuecontents)|Queue Contents Editor (foo_queuecontents)]] Edit and view queue contents using an UI Element.&lt;br /&gt;
* [[Foobar2000:Components/Quicksearch UI Element (foo quicksearch)|Quicksearch UI Element (foo_quicksearch)]] Search toolbar that sends results to a playlist.&lt;br /&gt;
* [[Foobar2000:Components/SimPlaylist (foo_simplaylist)|SimPlaylist (foo_simplaylist)]] Playlist view with album art.&lt;br /&gt;
* [[Foobar2000:Components/SimPlaylist Manager (foo_simplaylist_manager)|SimPlaylist Manager (foo_simplaylist_manager)]] Playlist manager replacement with additional columns.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Text Display (foo_textdisplay)|Text Display (foo_textdisplay)]] Displays information about the playing or selected track.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Seekbar (foo_wave_seekbar)|Waveform Seekbar (foo_wave_seekbar)]] Element for DUI with seekbar functionality on top of the waveform of the playing song.&lt;br /&gt;
&lt;br /&gt;
=== Panels ===&lt;br /&gt;
Panels extend the functionality of Columns UI components.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Album Art Panel (foo_uie_albumart)|Album Art Panel (foo_uie_albumart)]] Panel to display album art.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Album List Panel (foo_uie_albumlist)|Album List Panel (foo_uie_albumlist)]] Displays the database in a treeview using customizable sorting methods (by genre, artist, directory, etc.)&lt;br /&gt;
* [[Foobar2000:Components 0.9/Bookmarks (foo_uie_bookmarks)|Bookmarks (foo_uie_bookmarks)]] Help you remember positions in songs.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Console (foo_uie_console)|Console (foo_uie_console)]] Panel version of console. Displays diagnostic messages. Requires Columns UI 0.1.3 beta 1 or newer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Cover Flow (foo_bubble_coverflow)|Cover Flow (foo_bubble_coverflow)]] The plugin can work either as a UI panel or a standalone window (found in the view menu), and a fullscreen mode for both.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Dockable Panels (foo_dockable_panels)|Dockable Panels (foo_dockable_panels)]] It allows you to create windows that host columns ui panels as floating windows that can be attached to the side of the main foobar2000 window or each other.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Egoh Spectrum Analyser (foo_uie_vis_egoh)|Egoh Spectrum Analyser (foo_uie_vis_egoh)]] Similar to the default spectrum analyser.&lt;br /&gt;
* [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist)|ELplaylist panel (foo uie elplaylist)]] Playlist panel replacement with extensive customization options.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Explorer Panel (foo_uie_explorer)|Explorer Panel (foo_uie_explorer)]] Displays a treeview of selected disks/folders.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser) |Graphical Browser (foo uie graphical browser)]] A panel that allows to browse media library by graphical or text tiles &lt;br /&gt;
* [[Foobar2000:Components 0.9/Lyrics Panel (foo_uie_lyrics_panel)|Lyrics Panel (foo_uie_lyrics_panel)]] Display lyrics stored in file tags. &lt;br /&gt;
* [[Foobar2000:Components 0.9/Music Browser (foo_browser)|Music Browser (foo_browser)]] Panels for Browsing Library, Similar to iTunes. No longer updated. Most have better success CUI&#039;s in-built [[Foobar2000:Components_0.9/Columns_UI_%28foo_ui_columns%29#Playlist_filters|filters]].&lt;br /&gt;
* [[Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter) | Panel Stack Splitter (foo_uie_panel_splitter)]] Allows you to place objects freely within the foobar2000 window, including panels, text, and images&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Dropdown (foo_uie_playlists_dropdown)|Playlist Dropdown (foo_uie_playlists_dropdown)]] Displays the playlist in a dropdown menu.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Tree (foo_playlist_tree)|Playlist Tree (foo_playlist_tree)]] Tree based media library with many available customizations.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Power Panels (foo_uie_powerpanels)|Power Panels (foo_uie_powerpanels)]] Seekbar and volume transparent version panels. Useful for theming.&lt;br /&gt;
* [[Foobar2000:Components 0.9/ProjectM Visualisation Panel (foo_uie_vis_projectM)|ProjectM Visualisation Panel (foo_uie_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.&lt;br /&gt;
* [[Foobar2000:Components/Queue Contents Editor (foo queuecontents)|Queue Contents Editor (foo_queuecontents)]] Edit and view queue contents using an UI Element.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Queue Manager (foo_uie_queuemanager)|Queue Manager (foo_uie_queuemanager)]] It provides a window that shows the queue&#039;s contents and allows you to delete parts of them or clear the whole queue.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Shpeck (foo_vis_shpeck)|Shpeck (foo_vis_shpeck)]] Winamp visualisation plugins wrapper.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Tabs (foo_uie_tabs)|Tabs (foo_uie_tabs)]] Tabs allows you to break Pauli&#039;s Exclusion principle by placing multiple panels in the same position at the same time.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Typefind (foo_typefind)|Typefind (foo_typefind)]] Provides some in-line search facilities.&lt;br /&gt;
* [[Foobar2000:Components/Waveform Seekbar (foo_wave_seekbar)|Waveform Seekbar (foo_wave_seekbar)]] Panel for CUI with seekbar functionality on top of the waveform of the playing song.&lt;br /&gt;
* [[Foobar2000:Components 0.9/WmpVis (foo_uie_wmpvis)|&amp;lt;span id=&amp;quot;wmpvis&amp;quot;&amp;gt;WmpVis (foo_uie_wmpvis)&amp;lt;/span&amp;gt;]] Uses the visualizations from WMP.&lt;br /&gt;
* [[Foobar2000:Components 0.9/WSH panel (foo_uie_wsh_panel)|WSH panel (foo_uie_wsh_panel)]] Windows script host panel.&lt;br /&gt;
&lt;br /&gt;
==DSP==&lt;br /&gt;
===Multichannel audio===&lt;br /&gt;
* [[Foobar2000:Components 0.9/ATSurround Processor (foo_dsp_atsurround)|ATSurround Processor (foo_dsp_atsurround)]] Reproduces surround sound information present in many stereo audio material and more.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Channel Mixer (foo_channel_mixer)|Channel Mixer (foo_channel_mixer)]] Up/down mix to/from 1-6 channels.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Dolby Pro Logic II wrapper (foo_dsp_pl2)|Dolby Pro Logic II wrapper (foo_dsp_pl2)]] Dolby Pro Logic II engine DLL (dll not included).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Downmix (foo_dsp_downmix)|Downmix (foo_dsp_downmix)]] Downmix [[AC3]], [[DTS]], etc. to stereo.&lt;br /&gt;
* [[Foobar2000:Components 0.9/FreeSurround (foo_dsp_fsurround)|FreeSurround (foo_dsp_fsurround)]] It takes Dolby Surround / Pro Logic I/II encoded stereo music and decodes it into 5.1 sound. &lt;br /&gt;
* [[Foobar2000:Components 0.9/Surround Pan (foo_dsp_span)|Surround Pan (foo_dsp_span)]] WYSIWYG Surround panning.&lt;br /&gt;
&lt;br /&gt;
===Headphones===&lt;br /&gt;
* [[Foobar2000:Components 0.9/4Front Headphones (foo_dsp_headphones9)|4Front Headphones (foo_dsp_headphones9)]] Effects for headphone users.&lt;br /&gt;
* [[Foobar2000:Components 0.9/BS2D (foo_dsp_bs2p)|BS2D (foo_dsp_bs2p)]] Improves headphone listening of regular hi-fi stereo records.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Crossfeed (foo_dsp_crossfeed)|Crossfeed (foo_dsp_crossfeed)]] Filters the music to help reduce fatigue caused by listening to music with headphones.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Dolby Headphone Wrapper (foo_dsp_dolbyhp)|Dolby Headphone Wrapper (foo_dsp_dolbyhp)]] Dolby Headphone engine DLL.&lt;br /&gt;
&lt;br /&gt;
===Utilities===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Post-track Silence (foo_dsp_silence)|Post-track Silence (foo_dsp_silence)]] Inserts a configurable amount of silence after each track to help external devices like MiniDisc players to sync track changes.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Voice Cut Filter (foo_dsp_centercut)|Voice Cut Filter (foo_dsp_centercut)]] Voice cut filter.&lt;br /&gt;
* [[Foobar2000:Components/Equalizer split (foo_dsp_eqsplit)|Equalizer split (foo_dsp_eqsplit)]] A meta-DSP that feeds each channel into a separate equalizer instance.&lt;br /&gt;
* [[Foobar2000:Components 0.9/XOver (foo_dsp_xover)|XOver (foo_dsp_xover)]] Implements this digital crossover to achieve active multi-amplification.&lt;br /&gt;
&lt;br /&gt;
===Effects===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Soundtouch (foo_dsp_soundtouch)|Soundtouch (foo_dsp_soundtouch)]] Adjust pitch, tempo and rate.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Tube Sound (foo_dsp_tube)|Tube Sound (foo_dsp_tube)]] Emulate tube sound.&lt;br /&gt;
* [[Foobar2000:Components 0.9/VLevel (foo_dsp_vlevel)|VLevel (foo_dsp_vlevel)]] Dynamic compressor which amplifies the quiet parts of music.&lt;br /&gt;
&lt;br /&gt;
===Converters===&lt;br /&gt;
* [[Foobar2000:Components/HDCD Decoder (foo_dsp_hdcd)|HDCD Decoder (foo_dsp_hdcd)]] This DSP component will decode [[HDCD]] data in any 16-bit PCM stream passed through it, resulting in 20-bit PCM.&lt;br /&gt;
* [[Foobar2000:Components 0.9/LPCM - Delta-PCM Converter (foo_dsp_delta)|LPCM - Delta-PCM Converter (foo_dsp_delta)]] Noise sharpening filter.&lt;br /&gt;
* [[Foobar2000:Components 0.9/SSRC (foo_dsp_ssrc)|SSRC (foo_dsp_ssrc)]] Sample rate converter.&lt;br /&gt;
&lt;br /&gt;
===Multi-purpose===&lt;br /&gt;
* [[Foobar2000:Components 0.9/OSS/3D (foo_dsp_oss3ddsp)|OSS/3D (foo_dsp_oss3ddsp)]] Audio enhancement. SHAREWARE.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Stereo Convolver (foo_dsp_stereoconv)|Stereo Convolver (foo_dsp_stereoconv)]] Take stereo audio and convolve each channel with two impulse responses.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Winamp DSP Bridge (foo_dsp_winamp)|Winamp DSP Bridge (foo_dsp_winamp)]] Allows the use of Winamp DSPs.&lt;br /&gt;
* [[Foobar2000:Components/VST adapter|VST 2.4 adapter (foo_vst)]] Allows Foobar2000 users to use VST 2.4 plug-ins equally with “native” ones.&lt;br /&gt;
* [[Foobar2000:Components 0.9/George Yohng&#039;s VST Wrapper (foo_dsp_vstwrap)|George Yohng&#039;s VST Wrapper (foo_dsp_vstwrapper)]] Enables VST plug-ins.&lt;br /&gt;
* [[Foobar2000:Components 0.9/VST Host (foo_dsp_vst)|VST Host (foo_dsp_vst)]] Adds support to Virtual Studio Technology audio interface.&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
===Music Decoders===&lt;br /&gt;
* [[Foobar2000:Components 0.9/AC3 Decoder (foo_ac3)|AC3 Decoder (foo_ac3)]] Decodes Dolby Digital lossy audio compression technologies format ([[AC3]]).&lt;br /&gt;
* [[Foobar2000:Components 0.9/DTS Decoder (foo_dts)|DTS Decoder (foo_dts)]] Decodes Digital Theater Systems ([[DTS]]) audio format.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MIDI Synthesizer Host (foo_midi)|MIDI Synthesizer Host (foo_midi)]] Adds decoding support for General MIDI files (.MID) and RIFF MIDI files (.RMI) as well as several proprietary MIDI formats (.MIDS, .GMF, .HMI, .HMP, .MUS, .XMI).&lt;br /&gt;
* [[Foobar2000:Components 0.9/OptimFROG Lossless Audio Decoder (foo_input_ofr)|OptimFROG Lossless Audio Decoder (foo_input_ofr)]] Decodes both the Lossless ([[OptimFROG|OFR]]) and DualStream (OFS) audio format.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Shorten Decoder (foo_input_shorten)|Shorten Decoder (foo_input_shorten)]] Decodes Shorten ([[SHN]]) audio format.&lt;br /&gt;
* [[Foobar2000:Components 0.9/SPDIF Passthrough (foo_spdif)|SPDIF Passthrough (foo_spdif)]] SPDIF passthrough for [[AC3]] and [[DTS]] files.&lt;br /&gt;
* [[Foobar2000:Components 0.9/TAK Decoder (foo_input_tak)|TAK Decoder (foo_input_tak)]] Adds support for decoding and tagging [[TAK]] files as well as reading embedded album art.&lt;br /&gt;
* [[Foobar2000:Components/TTA Audio Decoder (foo_input_tta)|TTA Audio Decoder (foo_input_tta)]] Decodes True Audio ([[TTA]]) audio format.&lt;br /&gt;
* [[Foobar2000:Components/DVD Audio Decoder (foo_input_dvda)|DVD Audio Decoder (foo_input_dvda)]] Decodes DVD Audio ([[DVD Audio]]) Disks.&lt;br /&gt;
&lt;br /&gt;
===Other Decoders===&lt;br /&gt;
* [[Foobar2000:Components 0.9/ADPCM Decoder (foo_adpcm)|ADPCM Decoder (foo_adpcm)]] Plays GameCube ADPCM audio data and some. (DSP, ADP, GCM, HPS, STM, AST, etc.)&lt;br /&gt;
* [[Foobar2000:Components 0.9/AdPlug decoder (foo_input_adplug)|AdPlug decoder (foo_input_adplug)]] Adds decoding support for all Adlib FM chip formats supported by the AdPlug library.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Another Slight Atari Player (foo_asap)|Another Slight Atari Player (foo_asap)]] [http://asap.sourceforge.net/ ASAP] is a player/converter of Atari 8-bit music for modern computers. It provides high-quality, identical to the popular Atari800 emulator, emulation of the POKEY sound chip and the 6502 processor.&lt;br /&gt;
* [[Foobar2000:Components 0.9/AviSynth decoder (foo_input_avs)|AviSynth decoder (foo_input_avs)]] Adds decoding support for AviSynth scripts (.AVS), audio only.&lt;br /&gt;
* [[Foobar2000:Components/DSDIFF Decoder (foo_input_dsdiff)|DSDIFF Decoder (foo_input_dsdiff)]] Adds decoding support for DSDIFF files (.DFF).&lt;br /&gt;
* [[Foobar2000:Components 0.9/DUMB Module Decoder (foo_dumb)|DUMB Module Decoder (foo_dumb)]] Plays your favorite module files, and then some. (MOD, S3M, XM, IT, 669, PTM, PSM, MTM, UMX)&lt;br /&gt;
* [[Foobar2000:Components 0.9/Game Emu Player (foo_gep)|Game Emu Player (foo_gep)]] Plays several emulation formats. (GBS, NSF, SPC, GYM, HES, VGM)&lt;br /&gt;
* [[Foobar2000:Components 0.9/Ganbatte! (foo_ganbatte)|Ganbatte! (foo_ganbatte)]] Plays compressed Edlib (.d00, .d01) files.&lt;br /&gt;
* [[Foobar2000:Components/Hively Tracker Decoder (foo_input_hvl)|Hively Tracker Decoder (foo_input_hvl)]] Adds decoding support for Hively Tracker files (.HVL) as well as Abyss&#039; Highest eXperience files (.AHX).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Lunar 2 PCM Decoder (foo_lunar2)|Lunar 2 PCM Decoder (foo_lunar2)]] Plays audio files found on the original Lunar: Eternal Blue CD (RP*.PCM).&lt;br /&gt;
* [[Foobar2000:Components 0.9/M1 Decoder (foo_m1)|M1 Decoder (foo_m1)]] Plays arcade/pinball game sound.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MDX Decoder (foo_input_mdx)|MDX Decoder (foo_input_mdx)]] MDX is a MIDI-like format that is designed to be played using the X68000&#039;s FM synthesizer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/NSF Decoder (foo_input_nsf)|NSF Decoder (foo_input_nsf)]] NSF file is a sound data file containing instructions for the Nintendo Entertainment System (NES) sound hardware.&lt;br /&gt;
* [[Foobar2000:Components 0.9/PSF Decoder (foo_psf)|PSF Decoder (foo_psf)]] Plays PlayStation Sound Format (PSF) files.&lt;br /&gt;
* [[Foobar2000:Components/QSF decoder (foo_input_qsf)|QSF decoder (foo_input_qsf)]] Adds decoding support for Capcom QSound Sound Format files (.QSF/.MINIQSF).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Reverse (foo_input_reverse)|Reverse (foo_input_reverse)]] Play music in reverse.&lt;br /&gt;
* [[Foobar2000:Components 0.9/S98 Decoder (foo_input_s98)|S98 Decoder (foo_input_s98)]] Sound format for the NEC PC-98 microcomputer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/SID Player 2 (foo_sid)|SID Player 2 (foo_sid)]] Sound chip of Commodore&#039;s CBM-II, Commodore 64 and Commodore 128 home computers.&lt;br /&gt;
* [[Foobar2000:Components/SNESAPU input (foo snesapu)|SNESAPU input (foo_snesapu)]] Adds an alternative decoder for Super Nintendo SPC Sound Format files (.SPC).&lt;br /&gt;
* [[Foobar2000:Components 0.9/USF Decoder (foo_input_usf)|USF Decoder (foo_input_usf)]] Decodes sound data ripped directly from a Nintendo 64 video game.&lt;br /&gt;
&lt;br /&gt;
==Visualisation==&lt;br /&gt;
* [[Foobar2000:Components/Musical Spectrum (foo_musical_spectrum)|Musical Spectrum (foo_musical_spectrum)]] Displays frequencies corresponding to musical notes. Compatible with default UI and Columns UI.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Peakmeter (foo uie peakmeter)|Peakmeter for Columns UI (foo_uie_peakmeter)]] Displays the level for each channel in dB.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Peakmeter Spectrum (foo uie vis peakmeter spectrum)|Peakmeter and spectrum analyzer (foo_uie_vis_peakmeter_spectrum)]] Plugin that combines a peakmeter with a spectrum analyzer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/ProjectM Visualisation (foo_vis_projectM)|ProjectM Visualisation (foo_vis_projectM)]] Based on the ProjectM project, which is a reimplementation of Milkdrop under OpenGL.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Shpeck (foo_vis_shpeck)|Shpeck (foo_vis_shpeck)]] Winamp visualisation plugins wrapper.&lt;br /&gt;
* [[#wmpvis|WmpVis (foo_uie_wmpvis)]] Uses the visualizations from WMP. &#039;&#039;Panel version only&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
===General===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Alarm (foo_alarm)|Alarm (foo_alarm)]] Starts playback at the specified period of time.&lt;br /&gt;
* [[Foobar2000:Components/Automatic BPM Analyser (foo_bpm)|Automatic BPM Analyser (foo_bpm)]] Automatically calculate the BPM of songs. Manual BPM calculation also available.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Autosave &amp;amp; Autobackup (foo_jesus)|Autosave &amp;amp; Autobackup (foo_jesus)]] Allows periodic automatic saving of configuration and other data in foobar2000 and keeping backup copies of such data.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Channel Usage Visualisation (foo_vis_channelusage)|Channel Usage Visualisation (foo_vis_channelusage)]] Channel Usage Visualisation.&lt;br /&gt;
* [[Foobar2000:Components 0.9/EXTM3U Playlist Creator (foo_extm3u)|EXTM3U Playlist Creator (foo_extm3u)]] Allow to save current playlist in the EXTM3U format.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Feature Watcher (foo_whatsnew)|Feature Watcher (foo_whatsnew)]] Watches for added or removed features.&lt;br /&gt;
* [[Foobar2000:Components 0.9/File Date (foo_filedate)|File Date (foo_filedate)]] Add to file tag date added, accessed, created or modified from context menu entries.&lt;br /&gt;
* [[Foobar2000:Components 0.9/HyperIM (foo_2hyperim)|HyperIM (foo_2hyperim)]] Provides 19 media macros.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Infospect (foo_infospect)|Infospect (foo_infospect)]] Displays low level playback information.&lt;br /&gt;
* [[Foobar2000:Components 0.9/iPod Manager (foo_dop)|iPod Manager (foo_dop)]] Experimental iPod plugin for foobar2000 0.9.2+, currently in alpha version.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Logitech G15 LCD Display (foo_g15lcd)|Logitech G15 LCD Display (foo_g15lcd)]] Control the LCD panel on a Logitech G15 keyboard.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Logitech LCD Display &amp;amp; Visualization (foo_logitech_lcd)|Logitech LCD Display &amp;amp; Visualization (foo_logitech_lcd)]] Customizable visualizations and track info on the LCD panel on a Logitech G15/G19/Z-10.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Menu Addons (foo_menu_addons)|Menu Addons (foo_menu_addons)]] Adds a few shortcuts in menu.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Open URL (foo_openurl)|Open URL (foo_openurl)]] Adds a context menu item to open URLs from metadata fields in a web browser.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Pause On Lock (foo_lock)|Pause On Lock (foo_lock)]] Pauses/unpauses foobar2000 on workstation lock/unlock.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Pause on Lock (extended) (foo_lock_ex)|Pause on Lock (extended) (foo_lock_ex)]] Pause playing on workstation lock. Optimized for use with Windows XP/2003.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Preview (foo_preview)|Preview (foo_preview)]] Play only part of each track in the playlist.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Replaygain Override (foo_rg_trn)|Replaygain Override (foo_rg_trn)]] Allows you to automatically switch between replaygain modes based on specified criteria (e.g. use track based RG for shuffle mode, etc.)&lt;br /&gt;
* [[Foobar2000:Components 0.9/Run (foo_run)|Run (foo_run)]] Able you to run a external program with the foobar syntax.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Run Commands (foo_runcmd)|Run Commands (foo_runcmd)]] Search and execute menu commands.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Scheduler (foo_scheduler)|Scheduler (foo_scheduler)]] Plugin for scheduling actions like play, stop, system shutdown/wake up and many more.&lt;br /&gt;
* [[Foobar2000:Components/Seek (foo_seek)|Seek (foo_seek)]] offers different ways of seeking inside one or more tracks: preview, rewind/fast-forward, loop, and repeat A–B.&lt;br /&gt;
* [[Foobar2000:Components/Seekbox (foo_seek_box)|Seekbox (foo_seek_box)]] Main menu item that pops up a box for seeking to a particular hh:mm:ss time in the current track. &lt;br /&gt;
* [[Foobar2000:Components 0.9/Send To Device (foo_sendtodevice)|Send To Device (foo_sendtodevice)]] Add &amp;quot;Send to Device&amp;quot; feature.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Shell Link Resolver (foo_lnk)|Shell Link Resolver (foo_lnk)]] Shell link resolver.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Timebomb (foo_timebomb)|Timebomb (foo_timebomb)]] Stop playback / exit program after a specified time.&lt;br /&gt;
* [[Foobar2000:Components/Unix archive support (foo_unpack_unix)|Unix archive support (foo_unpack_unix)]] Adds support for reading from Unix Tape Archives (.TAR), gzip files (.GZ), and bzip2 files (.BZ2).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Unpacker for 7-Zip archive (foo_unpack_7z) |Unpacker for 7-Zip archive (foo_unpack_7z)]]&lt;br /&gt;
* [[Foobar2000:Components 0.9/Unpacker for JMA archive (foo_unpack_jma)|Unpacker for JMA archive (foo_unpack_jma)]]&lt;br /&gt;
* [[Foobar2000:Components 0.9/Unpacker for LHA archive (foo_unpack_lha)|Unpacker for LHA archive (foo_unpack_lha)]]&lt;br /&gt;
* [[Foobar2000:Components/UPnP/DLNA Renderer, Server, Control Point (foo_upnp)|UPnP/DLNA Renderer, Server, Control Point (foo_upnp)]]&lt;br /&gt;
* [[Foobar2000:Components 0.9/Winamp API Emulator (foo_winamp_spam)|Winamp API Emulator (foo_winamp_spam)]] Designed to create a fake Winamp 1.x window which will act as a wrapper between applications written to use the Winamp API and foobar2000.&lt;br /&gt;
&lt;br /&gt;
===Lyrics===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Gasazip Lyrics (foo_gasazip)|Gasazip Lyrics (foo_gasazip)]] Search for lyrics and displays it in external window.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Lyrics Show 2(foo_uie_lyrics2)|Lyrics Show 2 (foo_uie_lyrics2)]] Downloads and displays lyrics, with LRC/timestamp support.&lt;br /&gt;
*Lyrics Show 3 (foo_uie_lyrics3) An update of foo_uie_lyrics2 ([http://www.hydrogenaudio.org/forums/index.php?showtopic=90338 More Info])&lt;br /&gt;
* [[Foobar2000:Components 0.9/LyricsDB (foo_lyricsdb)|LyricsDB (foo_lyricsdb)]] Search lyrics basing on song&#039;s artist title and sometimes album.&lt;br /&gt;
* [[Foobar2000:Components 0.9/foo_lyricsgrabber2|Lyrics Grabber 2 (foo_lyricsgrabber2)]] Downloads lyrics and stores them in tags.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Mini Lyrics (foo_ui_minilyrics)|Mini Lyrics (foo_ui_minilyrics)]] Lyrics viewer for synchronizing and displaying lyrics of the currently playing song.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Sakura Script Lyrics (foo_sstp_lyrics)|Sakura Script Lyrics (foo_sstp_lyrics)]] Plays a SAKURA script lyrics to a SSP client.&lt;br /&gt;
&lt;br /&gt;
===Notifier===&lt;br /&gt;
* [[Foobar2000:Components 0.9/AMIP Wrapper (foo_amipwrapper)|AMIP Wrapper (foo_amipwrapper)]] Complete now-playing plug-in for mIRC, PIRCH, Klient, Bersirc, other IRC and Mail clients, supporting full player control from mIRC, playlist search, clipboard integration, HTTP, dynamic image signatures, etc.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Listening To (foo_listeningto)|Listening To (foo_listeningto)]] Sends NowPlaying information to Miranda IM.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Miranda IM Notifier (foo_mim_notify)|Miranda IM Notifier (foo_mim_notify)]] Sends configurable information about the current playing song to Miranda-IM and shows popup windows with this info.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MSN avatar changer (foo_uie_albumart_msn)|MSN avatar changer (foo_uie_albumart_msn)]] Set currently playing song&#039;s album art as avatar.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MSN Now Playing (alt) (foo_msnalt)|MSN Now Playing (alt) (foo_msnalt)]] Show the current song as &amp;quot;Now Playing&amp;quot; in MSN and Windows Live messenger.&lt;br /&gt;
* [[Foobar2000:Components 0.9/On-Screen Display (foo_osd)|On-Screen Display (foo_osd)]] On screen display of track information and volume bar.&lt;br /&gt;
* [[Foobar2000:Components 0.9/On-Screen Display GDI (foo_osd_gdiplus)|On-Screen Display GDI (foo_osd_gdiplus)]] Same as foo_osd but uses GDI+ for osd drawing.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Pretty Popup (foo_prettypop)|Pretty Popup (foo_prettypop)]] Display a moderately sized popup of song information when a new song plays.&lt;br /&gt;
* [[Foobar2000:Components/Titlebar (foo_managed_wrapper)|Titlebar (foo_managed_wrapper)]] Creates a personal title bar that shows the currently playing song on the top of the screen. Supports custom-made skins.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Windows 7 Shell Integration (foo_w7shell)|Windows 7 Shell Integration (foo_w7shell)]] Integrates certain features into the Windows 7 Taskbar; seekbar, control buttons, etc.&lt;br /&gt;
* [[Foobar2000:Components_0.9/WLM_Notifier_(foo_wlm)|Windows Live Notifier (foo_wlm)]] Shows current song as &amp;quot;Now Playing&amp;quot; in in MSN Messenger and Windows Live messenger (WLM). Supports unicode.&lt;br /&gt;
&lt;br /&gt;
===Online database===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Audioscrobbler (foo_audioscrobbler)|Audioscrobbler (foo_audioscrobbler)]] Audioscrobbler will send the name of every song you play on your computer to Last.fm. This effortlessly populates your profile to play radio you like and make personalized recommendations.&lt;br /&gt;
&lt;br /&gt;
===Online radio===&lt;br /&gt;
* [[Foobar2000:Components/Podcatcher (foo_podcatcher)|Podcatcher (foo_podcatcher)]] A podcatcher component for subscribing to, downloading, and playing RSS and Atom podcast feeds in foobar2000.&lt;br /&gt;
* [[Foobar2000:Components/Subsonic (foo_subsonic)|Subsonic (foo_subsonic)]] A component to connect foobar to subsonic servers or subsonic compatible API.&lt;br /&gt;
* [[Foobar2000:Components/Vorbis Streamer (foo_vorbisstream)|Vorbis Streamer (foo_vorbisstream)]] Streams Vorbis and associated metadata to Icecast2 and Shoutcast servers.&lt;br /&gt;
* [[Foobar2000:Components 0.9/XM Radio Online Player (foo_xm)|XM Radio Online Player (foo_xm)]] Allow you to listen to XM Radio channels over the Internet by using XM Radio Online.&lt;br /&gt;
&lt;br /&gt;
===Playlist tools===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Audioscrobble Charts (foo_scrobblecharts)|Audioscrobble Charts (foo_scrobblecharts)]] Generate a playlist from an artist&#039;s Last.fm chart. It also allows you to sort a selection in the playlist by the artist&#039;s charts.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Bin Pack (foo_binpack)|Bin Pack (foo_binpack)]] Creates playlists from a list with a maximum length.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Command Playlist (foo_cmd_playlist)|Command Playlist (foo_cmd_playlist)]] Add /playlist-activate:&amp;quot;Name&amp;quot; to the foobar command line to activate the named playlist.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Cuesheet Creator (foo_cuesheet_creator)|Cuesheet Creator (foo_cuesheet_creator)]] Cuesheet creator.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Database Search (foo_dbsearch)|Database Search (foo_dbsearch)]] Database search.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Default Video Player (foo_default_videoplayer)|Default Video Player (foo_default_videoplayer)]] Allows you to play your video clips from foobar playlist with default external player.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Delete Current (foo_deletecurrent)|Delete Current (foo_deletecurrent)]] Adds a menu item giving the possibility to delete from computer the current playing track.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Highlight Playing (foo_highlightplaying)|Highlight Playing (foo_highlightplaying)]] Highlights actual now playing item even when the playlist has been broken.&lt;br /&gt;
* [[Foobar2000:Components 0.9/History (foo_history)|History (foo_history)]] Very basic song history.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Inactive Tracks (foo_skip)|Inactive Tracks (foo_skip)]] Skips tracks that are marked via a tag as inactive.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MeowDB (foo_meowdb)|MeowDB (foo_meowdb)]] Takes the Media Library and outputs the results to a form and uploads it to your server using the cURL library.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Navigator (foo_navigator)|Navigator (foo_navigator)]] Advanced history component.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Now Playing Simple (foo_np_simple)|Now Playing Simple (foo_np_simple)]] Simple now playing plugin to output formatted string to plain text file.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playback Queue Viewer (foo_pqview)|Playback Queue Viewer (foo_pqview)]] Playback queue viewer.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Bind (foo_playlist_bind)|Playlist Bind (foo_playlist_bind)]] Synchronize playlist with contents of specific directory.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Clear (foo_playlistclear)|Playlist Clear (foo_playlistclear)]] All playlists are cleared at startup.&lt;br /&gt;
* [[Foobar2000:Components/Playlist History (foo playlisthistory)|Playlist History (foo playlisthistory)]] Enables playlist history in foobar2000, similar to page history in browsers.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Manager (foo_playlist_manager)|Playlist Manager (foo_playlist_manager)]] Playlist manager.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Name Enhenced (foo_playlist_name_enhanced)|Playlist Name Enhenced (foo_playlist_name_enhanced)]] Appends automatically playlist info (&amp;quot;items / length&amp;quot;) to all playlist names.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Tools (foo_utils)|Playlist Tools (foo_utils)]] Provides various general commands.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playlist Tools for Matroska (foo_utils_mka)|Playlist Tools for Matroska (foo_utils_mka)]] Provides various general commands.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Queue Manager (foo_queuemanager)|Queue Manager (foo_queuemanager)]] It provides a window that shows the queue&#039;s contents and allows you to delete parts of them or clear the whole queue. &#039;&#039;Non-ColumnUI obsolete version, try panel version instead.&#039;&#039;&lt;br /&gt;
* [[Foobar2000:Components 0.9/Randomized Playlist Entry (foo_random)|Randomized Playlist Entry (foo_random)]] Randomized playlist entry.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Rating (foo_rating)|Rating (foo_rating)]] Display an icon in the systray with a tooltip popup from which you can choose a rating between 1 and 5 for the currently playing file.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Remove Played (foo_removeplayed)|Remove Played (foo_removeplayed)]] It removes tracks from the playlist once they&#039;ve been played.&lt;br /&gt;
* [[Foobar2000:Components/Soft Playlists (foo_softplaylists)|Soft Playlists (foo_softplaylists)]] Can create different Last.fm related playlists, love tracks on Last.fm and save and load XSPF playlists (make playlists without hard paths).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Track Finder (foo_trackfinder)|Track Finder (foo_trackfinder)]] Displays a context menu that lets you quickly find songs based on their album title or artists name.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Track Position (foo_trackpos)|Track Position (foo_trackpos)]] Provides a new context menu item &amp;quot;place after current playing&amp;quot;, that allows you to place any tracks after the current playing one in the playing playlist.&lt;br /&gt;
* [[Foobar2000:Components 0.9/XSPF (foo_xspf)|XSPF (foo_xspf)]] Adds XSPF support. XSPF is an open, XML based playlist format.&lt;br /&gt;
&lt;br /&gt;
===Playback Statistics===&lt;br /&gt;
* [[Foobar2000:Components_1.0/foo_enhanced_playcount|Enhanced Playback Statistics (foo_enhanced_playcount)]] Stores timestamp of every song play, and also retrieves scrobbles from last.fm.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Playback Statistics Custom (foo_playback_custom)|Playback Statistics Custom (foo_playback_custom)]] Stores playback statistics in tags like foo_playcount_mod, with claimed faster response, and uses foo_custominfo db if file is unavailable for writing.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Play Count Mod (foo_playcount_mod)|Play Count Mod (foo_playcount_mod)]] Unofficial playcount modded to supress the update tag popups.&lt;br /&gt;
&lt;br /&gt;
===Remote control===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Advanced Controls (foo_advancedcontrols)|Advanced Controls (foo_advancedcontrols)]]  Control all the playback functions from icons in the Taskbar Notification Area (play, pause, next, previous, open)&lt;br /&gt;
* [[Foobar2000:Components 0.9/Bluetooth Control (foo_bluetooth_ctrl)|Bluetooth Control (foo_bluetooth_ctrl)]] Control your favourite music player using your favourite Symbian-based bluetooth enabled phone.&lt;br /&gt;
* [[Foobar2000:Components 0.9/COM Automation Server (foo_comserver2)|COM Automation Server (foo_comserver2)]] Allows controlling foobar2000 through COM Automation&lt;br /&gt;
* [[Foobar2000:Components 0.9/Control Server (foo_controlserver)|Control Server (foo_controlserver)]] Acts as a server to control Foobar2000. Connect with a telnet client and control it using ASCII commands.&lt;br /&gt;
* [[Foobar2000:Components 0.9/DDE Control (foo_ddecontrol)|DDE Control (foo_ddecontrol)]] Control foobar remotelly with DDE interprocess communication (interface in japanese only).&lt;br /&gt;
* [[Foobar2000:Components 0.9/HTTP Writer (foo_write_http)|HTTP Writer (foo_write_http)]] It&#039;s TCP/IP server that listens on a specified port for incoming requests such as play, stop, etc.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Joystick Control (foo_joystick_control)|Joystick Control (foo_joystick_control)]] Control foobar2000 from a joystick/gamepad.&lt;br /&gt;
* [[Foobar2000:Components 0.9/MIDI Transport(foo_miditransport)|MIDI Transport (foo_miditransport)]] Control Foobar2k from external MIDI controllers (CC and MMC transport).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Minibar2k (foo_Minibar2k)|Minibar2k (foo_Minibar2k)]] Control Foobar2k from your PDA (PocketPC based).&lt;br /&gt;
* [[Foobar2000:Components 0.9/Remote Control (foo_remotecontrol)|Remote Control (foo_remotecontrol)]] Adds support to Melloware Intelliremote software which claims to work with Creative remote control (Soundblaster Live!, Audigy, Extigy, Audigy ZS and Soundblaster X-Fi.)&lt;br /&gt;
* [[Foobar2000:Components 0.9/RM-1800 (foo_mr1800)|RM-1800 (foo_mr1800)]] Adds support of Creative X-Fi&#039;s remote (RM-1800).&lt;br /&gt;
* [[Foobar2000:Components 0.9/RM-X Media Edition (foo_rmx)|RM-X Media Edition (foo_rmx)]] Yet another plugin for remote control. SHAREWARE.&lt;br /&gt;
* [[Foobar2000:Components 0.9/WinLIRC Client (foo_lirc)|WinLIRC Client (foo_lirc)]] Control Foobar from a remote control.&lt;br /&gt;
&lt;br /&gt;
===Tagging===&lt;br /&gt;
* [[Foobar2000:Components 0.9/Chacon (foo_chacon)|Chacon (foo_chacon)]] Chacon is a simple tool for fixing tags by converting them between different character sets.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Custom Info (foo_custominfo)|Custom Info (foo_custominfo)]] Allows you to set info fields for files without modifying them. &lt;br /&gt;
* [[Foobar2000:Components 0.9/Discogs (foo_discogs)|Discogs (foo_discogs)]] Retrieve info and album art from Discogs.com database.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Freedb Tagger (foo_freedb2)|Freedb Tagger (foo_freedb2)]] Freedb.org tagger. Now included with official foobar2000 installers.&lt;br /&gt;
* [[Foobar2000:Components 0.9/Live Show Tagger (foo_tradersfriend)|Live Show Tagger (foo_tradersfriend)]] Live show tagger.&lt;br /&gt;
* [[Foobar2000:Components 1.0/m-TAGS component (foo_tags)|m-TAGS component (foo_tags)]] Support for m-TAGS metadata separation (tags are kept in separate files)&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://www.foobar2000.org/components Official third-party components site]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=42730&amp;amp;st=0 List of components] from earlier versions not yet ported to 0.9.x.&lt;br /&gt;
&lt;br /&gt;
* [[foobar2000:foobar2000|Go back to Main Page]]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27663</id>
		<title>Foobar2000:Components/Enhanced Playback Statistics (foo enhanced playcount)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27663"/>
		<updated>2018-04-12T07:07:05Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: /* Links */ spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) =&lt;br /&gt;
This component records the timestamp of every single play that foobar makes. If a username is supplied, and last.fm support is enabled, it can also retrieve the timestamp of every scrobble of a song as well.&lt;br /&gt;
&lt;br /&gt;
While foo_enhanced_playcount can be used in any theme, to get maximum use out of it you&#039;ll need to use a panel that supports javascript, like foo_jscript_panel, or foo_wsh_panel.&lt;br /&gt;
&lt;br /&gt;
== New fields provided ==&lt;br /&gt;
* &#039;&#039;&#039;%played_times%&#039;&#039;&#039; - Date formatted list: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893431]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_raw%&#039;&#039;&#039; - raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000] - There&#039;s probably no reason to ever use this. &lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times%&#039;&#039;&#039; - Date formatted list of scrobbles: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893000]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_play_count%&#039;&#039;&#039; - Count of last.fm plays, a la %play_count%: 5&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_added%&#039;&#039;&#039; - Single date: &amp;quot;2012-08-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_first_played%&#039;&#039;&#039; - Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_last_played%&#039;&#039;&#039; - Single date: &amp;quot;2018-04-04 15:58:37&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
== Code Samples ==&lt;br /&gt;
&lt;br /&gt;
To consume the Array&#039;s of timestamps, you&#039;ll need to parse the response:&lt;br /&gt;
&lt;br /&gt;
    var raw = fb.TitleFormat(&#039;[%played_times_js%]&#039;).Eval();&lt;br /&gt;
    var playedTimes = [];&lt;br /&gt;
    try {&lt;br /&gt;
    	playedTimes = JSON.parse(raw);	// this is required because the value is a string&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
    	fb.trace(&#039;&amp;lt;&amp;lt;&amp;lt; ERROR parsing JSON &amp;gt;&amp;gt;&amp;gt;&#039;);  // you probably don&#039;t need this try/catch, but it was helpful in my debugging&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0; i &amp;lt; playedTimes.length; i++) {&lt;br /&gt;
    	var p = new Date(playedTimes[i]);&lt;br /&gt;
    	// do something with this value&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
More code samples [https://hydrogenaud.io/index.php/topic,115227.msg950552.html#msg950552 in the official thread].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html Official Discussion Thread]&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html#msg950576 Changelog]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27662</id>
		<title>Foobar2000:Components/Enhanced Playback Statistics (foo enhanced playcount)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Enhanced_Playback_Statistics_(foo_enhanced_playcount)&amp;diff=27662"/>
		<updated>2018-04-12T07:06:34Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: Initial add of wiki page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= foo_enhanced_playcount (Record time of every play, and retrieve Last.fm scrobbles) =&lt;br /&gt;
This component records the timestamp of every single play that foobar makes. If a username is supplied, and last.fm support is enabled, it can also retrieve the timestamp of every scrobble of a song as well.&lt;br /&gt;
&lt;br /&gt;
While foo_enhanced_playcount can be used in any theme, to get maximum use out of it you&#039;ll need to use a panel that supports javascript, like foo_jscript_panel, or foo_wsh_panel.&lt;br /&gt;
&lt;br /&gt;
== New fields provided ==&lt;br /&gt;
* &#039;&#039;&#039;%played_times%&#039;&#039;&#039; - Date formatted list: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893431]&lt;br /&gt;
* &#039;&#039;&#039;%played_times_raw%&#039;&#039;&#039; - raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000] - There&#039;s probably no reason to ever use this. &lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times%&#039;&#039;&#039; - Date formatted list of scrobbles: [&amp;quot;2012-08-04 15:58:37&amp;quot;, &amp;quot;2012-12-10 14:40:46&amp;quot;, &amp;quot;2018-01-02 23:38:13&amp;quot;]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_played_times_js%&#039;&#039;&#039; - JS timestamp list: [1344117517000, 1355172047000, 1514957893000]&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_play_count%&#039;&#039;&#039; - Count of last.fm plays, a la %play_count%: 5&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_added%&#039;&#039;&#039; - Single date: &amp;quot;2012-08-04 15:58:37&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_first_played%&#039;&#039;&#039; - Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically&lt;br /&gt;
* &#039;&#039;&#039;%lastfm_last_played%&#039;&#039;&#039; - Single date: &amp;quot;2018-04-04 15:58:37&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
== Code Samples ==&lt;br /&gt;
&lt;br /&gt;
To consume the Array&#039;s of timestamps, you&#039;ll need to parse the response:&lt;br /&gt;
&lt;br /&gt;
    var raw = fb.TitleFormat(&#039;[%played_times_js%]&#039;).Eval();&lt;br /&gt;
    var playedTimes = [];&lt;br /&gt;
    try {&lt;br /&gt;
    	playedTimes = JSON.parse(raw);	// this is required because the value is a string&lt;br /&gt;
    } catch (e) {&lt;br /&gt;
    	fb.trace(&#039;&amp;lt;&amp;lt;&amp;lt; ERROR parsing JSON &amp;gt;&amp;gt;&amp;gt;&#039;);  // you probably don&#039;t need this try/catch, but it was helpful in my debugging&lt;br /&gt;
    }&lt;br /&gt;
    for (i=0; i &amp;lt; playedTimes.length; i++) {&lt;br /&gt;
    	var p = new Date(playedTimes[i]);&lt;br /&gt;
    	// do something with this value&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
More code samples [https://hydrogenaud.io/index.php/topic,115227.msg950552.html#msg950552 in the official thread].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html Official Discussion Thread]&lt;br /&gt;
[https://hydrogenaud.io/index.php/topic,115227.msg950576.html#msg950576 Changelog]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference&amp;diff=23259</id>
		<title>Foobar2000:Title Formatting Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference&amp;diff=23259"/>
		<updated>2012-08-30T14:57:25Z</updated>

		<summary type="html">&lt;p&gt;MordredKLB: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
This article contains information about built-in titleformatting functions and field references with special meaning. References to documentation about fields and function which can only be used in specific components or which are provided by specific components can be found at the end of this article.&lt;br /&gt;
&lt;br /&gt;
A field reference is a field name enclosed in percent signs, for example &#039;&#039;%artist%&#039;&#039;. A function call starts with a dollar sign, followed by the function name and the parameter list. A parameter list can either be empty - denoted as &#039;&#039;()&#039;&#039; - or contain one or more parameters separated by commata, for example &#039;&#039;$abbr(%artist%)&#039;&#039;. Note that there must be no whitespace between the dollar sign and the function name, or the function name and the opening parenthesis of the parameter list.&lt;br /&gt;
&lt;br /&gt;
Please see [[Foobar2000:Title Formatting Introduction|Title Formatting Introduction]] for a general overview of titleformat syntax and its basic rules. The article [[foobar2000:Titleformat Examples|Titleformat Examples]] offers user-submitted examples of code for specific purposes; feel free to add your own if you think it can be of use to others.&lt;br /&gt;
&lt;br /&gt;
For details of the query syntax, which uses some of these fields to find files for playlists, etc., see: [[Foobar2000:Query_syntax|Query Syntax]].&lt;br /&gt;
&lt;br /&gt;
= Field remappings =&lt;br /&gt;
&lt;br /&gt;
Some of the fields accessible through &#039;&#039;%name%&#039;&#039; are remapped to other values to make writing titleformat scripts more convenient.&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
&lt;br /&gt;
=== %album artist% ===&lt;br /&gt;
Name of the artist of the album specified track belongs to. Checks following metadata fields, in this order: &amp;quot;album artist&amp;quot;, &amp;quot;artist&amp;quot;, &amp;quot;composer&amp;quot;, &amp;quot;performer&amp;quot;. The difference between this and &#039;&#039;%artist%&#039;&#039; is that &#039;&#039;%album artist%&#039;&#039; is intended for use where consistent value across entire album is needed even when per-track artists values vary.&lt;br /&gt;
&lt;br /&gt;
=== %album% ===&lt;br /&gt;
Name of the album specified track belongs to. Checks following metadata fields, in this order: &amp;quot;album&amp;quot;, &amp;quot;venue&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== %artist% ===&lt;br /&gt;
Name of the artist of the track. Checks following metadata fields, in this order: &amp;quot;artist&amp;quot;, &amp;quot;album artist&amp;quot;, &amp;quot;composer&amp;quot;, &amp;quot;performer&amp;quot;. For a SHOUTcast stream which contains metadata, it is the StreamTitle up to the first &amp;quot;-&amp;quot; character.&lt;br /&gt;
&lt;br /&gt;
=== %discnumber% ===&lt;br /&gt;
Index of disc specified track belongs to, within the album. Available only when &amp;quot;discnumber&amp;quot;/&amp;quot;disc&amp;quot; field is present in track’s metadata.&lt;br /&gt;
&lt;br /&gt;
=== %track artist% ===&lt;br /&gt;
Name of the artist of the track; present only if &#039;&#039;%album artist%&#039;&#039; is different than &#039;&#039;%artist%&#039;&#039; for specific track. Intended for use together with &#039;&#039;%album artist%&#039;&#039;, to indicate track-specific artist info, e.g. &amp;quot;%album artist% - %title%[ &#039;//&#039; %track artist%]&amp;quot;. In this case, the last part will be displayed only when track-specific artist info is present.&lt;br /&gt;
&lt;br /&gt;
=== %title% ===&lt;br /&gt;
Title of the track. If &amp;quot;title&amp;quot; metadata field is missing, file name is used instead. For a SHOUTcast stream which contains metadata, it is the StreamTitle after the first &amp;quot;-&amp;quot; character.&lt;br /&gt;
&lt;br /&gt;
=== %tracknumber% ===&lt;br /&gt;
Two-digit index of specified track within the album. Available only when &amp;quot;tracknumber&amp;quot; field is present in track’s metadata.&lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
&lt;br /&gt;
=== %bitrate% ===&lt;br /&gt;
Bitrate of the track; includes dynamic VBR bitrate display for currently played track.&lt;br /&gt;
&lt;br /&gt;
=== %channels% ===&lt;br /&gt;
Number of channels in the track (mono/stereo/etc). Returns the number of channels in text form; returns &amp;quot;mono&amp;quot; and &amp;quot;stereo&amp;quot; instead of &amp;quot;1&amp;quot; and &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== %filesize% ===&lt;br /&gt;
Defined as &#039;&#039;%_filesize%&#039;&#039;. Returns the filesize in bytes.&lt;br /&gt;
&lt;br /&gt;
=== %filesize_natural% ===&lt;br /&gt;
Size of the file, automatically formatted in appropriate units such as megabytes or kilobytes. &lt;br /&gt;
&lt;br /&gt;
=== %samplerate% ===&lt;br /&gt;
Sample rate of the track, in Hz.&lt;br /&gt;
&lt;br /&gt;
=== %codec% ===&lt;br /&gt;
Name of codec used to encode the track. If exact codec name is not available, file extension is used.&lt;br /&gt;
&lt;br /&gt;
== Special fields ==&lt;br /&gt;
&lt;br /&gt;
= Control flow =&lt;br /&gt;
&lt;br /&gt;
The functions in this section can be used to conditionally execute statements.&lt;br /&gt;
&lt;br /&gt;
=== [...] (conditional section) ===&lt;br /&gt;
&lt;br /&gt;
Evaluates the expression between &#039;&#039;[&#039;&#039; and &#039;&#039;]&#039;&#039;. If it has the truth value &#039;&#039;true&#039;&#039;, its string value and the truth value &#039;&#039;true&#039;&#039; are returned. Otherwise an empty string and &#039;&#039;false&#039;&#039; are returned.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;[%artist%]&#039;&#039; returns the value of the artist tag, if it exists. Otherwise it returns nothing, when &#039;&#039;artist&#039;&#039; would return &amp;quot;?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== $if(cond,then) ===&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;cond&#039;&#039; evaluates to &#039;&#039;true&#039;&#039;, the &#039;&#039;then&#039;&#039; part is evaluated and its value returned. Otherwise, &#039;&#039;false&#039;&#039; is returned.&lt;br /&gt;
&lt;br /&gt;
=== $if(cond,then,else) ===&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;cond&#039;&#039; evaluates to &#039;&#039;true&#039;&#039;, the &#039;&#039;then&#039;&#039; part is evaluated and its value returned. Otherwise, the &#039;&#039;else&#039;&#039; part is evaluated and its value returned.&lt;br /&gt;
&lt;br /&gt;
=== $if2(a,else) ===&lt;br /&gt;
&lt;br /&gt;
Like &#039;&#039;$if(a,a,else)&#039;&#039; except that &#039;&#039;a&#039;&#039; is only evaluated once.&lt;br /&gt;
&lt;br /&gt;
=== $if3(a1,a2,...,aN,else) ===&lt;br /&gt;
&lt;br /&gt;
Evaluates arguments &#039;&#039;a1&#039;&#039; ... &#039;&#039;aN&#039;&#039;, until one is found that evaluates to &#039;&#039;true&#039;&#039;. If that happens, its value is returned. Otherwise the &#039;&#039;else&#039;&#039; part is evaluated and its value returned.&lt;br /&gt;
&lt;br /&gt;
=== $ifequal(n1,n2,then,else) ===&lt;br /&gt;
&lt;br /&gt;
Compares the integer numbers &#039;&#039;n1&#039;&#039; and &#039;&#039;n2&#039;&#039;, if &#039;&#039;n1&#039;&#039; is equal to &#039;&#039;n2&#039;&#039;, the &#039;&#039;then&#039;&#039; part is evaluated and its value returned. Otherwise the &#039;&#039;else&#039;&#039; part is evaluated and its value returned.&lt;br /&gt;
&lt;br /&gt;
=== $ifgreater(n1,n2,then,else) ===&lt;br /&gt;
&lt;br /&gt;
Compares the integer numbers &#039;&#039;n1&#039;&#039; and &#039;&#039;n2&#039;&#039;, if &#039;&#039;n1&#039;&#039; is greater than &#039;&#039;n2&#039;&#039;, the &#039;&#039;then&#039;&#039; part is evaluated and its value returned. Otherwise the &#039;&#039;else&#039;&#039; part is evaluated and its value returned.&lt;br /&gt;
&lt;br /&gt;
=== $iflonger(s1,s2,then,else) ===&lt;br /&gt;
&lt;br /&gt;
Compares the length of the strings &#039;&#039;s1&#039;&#039; and &#039;&#039;s2&#039;&#039;, if &#039;&#039;s1&#039;&#039; is longer than &#039;&#039;s2&#039;&#039;, the &#039;&#039;then&#039;&#039; part is evaluated and its value returned. Otherwise the &#039;&#039;else&#039;&#039; part is evaluated and its value returned.&lt;br /&gt;
&lt;br /&gt;
=== $select(n,a1,...,aN) ===&lt;br /&gt;
&lt;br /&gt;
If the value of &#039;&#039;n&#039;&#039; is between 1 and N, &#039;&#039;an&#039;&#039; is evaluated and its value returned. Otherwise &#039;&#039;false&#039;&#039; is returned.&lt;br /&gt;
&lt;br /&gt;
= Arithmetic functions =&lt;br /&gt;
&lt;br /&gt;
The functions in this section can be used to perform arithmetic on integer numbers. A string will be automatically converted to a number and vice versa. The conversion to a number uses the longest prefix of the string that can be interpreted as number. Leading whitespace is ignored. Decimal points are not supported. Examples:&lt;br /&gt;
* &amp;quot;c3po&amp;quot; → 0&lt;br /&gt;
* &amp;quot;4.8&amp;quot; → 4&lt;br /&gt;
* &amp;quot;-12&amp;quot; → -12&lt;br /&gt;
* &amp;quot;- 12&amp;quot; → 0&lt;br /&gt;
&lt;br /&gt;
=== $add(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Adds &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$add(a,b,...)&#039;&#039; is the same as &#039;&#039;$add($add(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $div(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Divides &#039;&#039;a&#039;&#039; by &#039;&#039;b&#039;&#039; and rounds down to an integer. If &#039;&#039;b&#039;&#039; evaluates to zero, it returns &#039;&#039;a&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$div(a,b,...)&#039;&#039; is the same as &#039;&#039;$div($div(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $greater(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Returns true, if &#039;&#039;a&#039;&#039; is greater than &#039;&#039;b&#039;&#039;, otherwise false.&lt;br /&gt;
&lt;br /&gt;
=== $max(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Returns the maximum of &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$max(a,b,...)&#039;&#039; is the same as &#039;&#039;$max($max(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $min(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Returns the minimum of &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$min(a,b,...)&#039;&#039; is the same as &#039;&#039;$min($min(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $mod(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Computes the remainder of dividing &#039;&#039;a&#039;&#039; through &#039;&#039;b&#039;&#039;. The result has the same sign as &#039;&#039;a&#039;&#039;. If &#039;&#039;b&#039;&#039; evaluates to zero, the result is &#039;&#039;a&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$mod(a,b,...)&#039;&#039; is the same as &#039;&#039;$mod($mod(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $mul(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Multiplies &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$mul(a,b,...)&#039;&#039; is the same as &#039;&#039;$mul($mul(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $muldiv(a,b,c) ===&lt;br /&gt;
&lt;br /&gt;
Multiplies &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039;, then divides by &#039;&#039;c&#039;&#039;. The result is rounded to the nearest integer.&lt;br /&gt;
&lt;br /&gt;
=== $rand() ===&lt;br /&gt;
&lt;br /&gt;
Generates a random number in the range from 0 to 2&amp;lt;sup&amp;gt;32&amp;lt;/sup&amp;gt;-1. Available only in sort-related contexts, such as the &#039;&#039;Edit → Sort → Sort by ...&#039;&#039; menu command.&lt;br /&gt;
&lt;br /&gt;
=== $sub(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Subtracts &#039;&#039;b&#039;&#039; from &#039;&#039;a&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can be used with an arbitrary number of arguments. &#039;&#039;$sub(a,b,...)&#039;&#039; is the same as &#039;&#039;$sub($sub(a,b),...)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Boolean functions =&lt;br /&gt;
&lt;br /&gt;
The functions in this section can be used to work with truth values (&#039;&#039;true&#039;&#039; and &#039;&#039;false&#039;&#039;), which have no explicit representation in titleformat scripts. They do not return a string or number value. You can use them for more complex conditions with &#039;&#039;$if&#039;&#039; and related functions.&lt;br /&gt;
&lt;br /&gt;
=== $and(...) ===&lt;br /&gt;
&lt;br /&gt;
Logical And of an arbitrary number of arguments. Returns &#039;&#039;true&#039;&#039;, if and only if all arguments evaluate to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Special case: &#039;&#039;$and(x,y)&#039;&#039; is &#039;&#039;true&#039;&#039;, if both &#039;&#039;x&#039;&#039; and &#039;&#039;y&#039;&#039; are &#039;&#039;true&#039;&#039;. Otherwise it is &#039;&#039;false&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $or(...) ===&lt;br /&gt;
&lt;br /&gt;
Logical Or of an arbitrary number of arguments. Returns &#039;&#039;true&#039;&#039;, if at least one argument evaluates to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Special case: &#039;&#039;$or(x,y)&#039;&#039; is &#039;&#039;true&#039;&#039;, if &#039;&#039;x&#039;&#039; or &#039;&#039;y&#039;&#039; is &#039;&#039;true&#039;&#039;, or if both are &#039;&#039;true&#039;&#039;. Otherwise it is &#039;&#039;false&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $not(x) ===&lt;br /&gt;
&lt;br /&gt;
Logical Not. Returns &#039;&#039;false&#039;&#039;, if &#039;&#039;x&#039;&#039; is &#039;&#039;true&#039;&#039;, otherwise it returns &#039;&#039;true&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $xor(...) ===&lt;br /&gt;
&lt;br /&gt;
Logical Exclusive-or of an arbitrary number of arguments. Returns &#039;&#039;true&#039;&#039;, if an odd number of arguments evaluate to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Special case: &#039;&#039;$xor(x,y)&#039;&#039; is &#039;&#039;true&#039;&#039;, if one of &#039;&#039;x&#039;&#039; and &#039;&#039;y&#039;&#039; is &#039;&#039;true&#039;&#039;, but not both. Otherwise it is &#039;&#039;false&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Color functions =&lt;br /&gt;
&lt;br /&gt;
==For the Default User Interface==&lt;br /&gt;
Starting in version 1.0, the Default UI playlist view doesn&#039;t support color functions. In that location, text color can only be adjusted via angle-bracket syntax: Use &amp;lt; and &amp;gt; characters to make specific text &amp;lt;dimmed&amp;gt; &#039;&#039;vs.&#039;&#039; the default color or &amp;gt;highlight&amp;gt;ed with the highlight color, with up to three levels in each case, &#039;&#039;e.g.&#039;&#039;: &amp;lt;dimmed&amp;gt;, &amp;gt;highlight&amp;lt;, &amp;gt;&amp;gt;more highlight&amp;lt;&amp;lt;, &amp;lt;&amp;lt;&amp;lt;very dim&amp;gt;&amp;gt;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==For Columns UI==&lt;br /&gt;
&lt;br /&gt;
The playlist in the Columns UI still supports the following functions:&lt;br /&gt;
&lt;br /&gt;
=== $blend(color1,color2,part,total) ===&lt;br /&gt;
&lt;br /&gt;
Returns a color that is a blend between &#039;&#039;color1&#039;&#039; and &#039;&#039;color2&#039;&#039;. If &#039;&#039;part&#039;&#039; is smaller than or equal to zero, &#039;&#039;color1&#039;&#039; is returned. If &#039;&#039;part&#039;&#039; is greater than or equal to &#039;&#039;total&#039;&#039;, &#039;&#039;color2&#039;&#039; is returned. Otherwise a blended color is returned that is &#039;&#039;part&#039;&#039; parts &#039;&#039;color1&#039;&#039; and &#039;&#039;total&#039;&#039;-&#039;&#039;part&#039;&#039; parts &#039;&#039;color2&#039;&#039;. The blending is performed in the RGB color space.&lt;br /&gt;
&lt;br /&gt;
=== $hsl() ===&lt;br /&gt;
&lt;br /&gt;
Resets the text color to the default color.&lt;br /&gt;
&lt;br /&gt;
=== $hsl(h,s,l) ===&lt;br /&gt;
&lt;br /&gt;
Sets the color for text in the HSL color space. &#039;&#039;h&#039;&#039;, &#039;&#039;s&#039;&#039; and &#039;&#039;l&#039;&#039; are the hue, saturation, and lightness of the color for unselected text. The color for selected text is set to the inverse color.&lt;br /&gt;
The ranges of &#039;&#039;h&#039;&#039;, &#039;&#039;s&#039;&#039;, and &#039;&#039;l&#039;&#039; are from 0 to 240; the function is designed to interpret those values in the same way as the standard Windows color dialog.&lt;br /&gt;
&lt;br /&gt;
=== $hsl(h1,s1,l1,h2,s2,l2) ===&lt;br /&gt;
&lt;br /&gt;
Sets the color for text in the HSL color space. &#039;&#039;h1&#039;&#039;, &#039;&#039;s1&#039;&#039; and &#039;&#039;l1&#039;&#039; are the hue, saturation, and lightness of the color for unselected text. &#039;&#039;h2&#039;&#039;, &#039;&#039;s2&#039;&#039; and &#039;&#039;l2&#039;&#039; are the hue, saturation, and lightness of the color for selected text.&lt;br /&gt;
&lt;br /&gt;
=== $rgb() ===&lt;br /&gt;
&lt;br /&gt;
Resets the text color to the default color.&lt;br /&gt;
&lt;br /&gt;
=== $rgb(r,g,b) ===&lt;br /&gt;
&lt;br /&gt;
Sets the color for text. &#039;&#039;r&#039;&#039;, &#039;&#039;g&#039;&#039; and &#039;&#039;b&#039;&#039; are the red, green and blue component of the color for unselected text. The color for selected text is set to the inverse color.&lt;br /&gt;
&lt;br /&gt;
=== $rgb(r1,g1,b1,r2,g2,b2) ===&lt;br /&gt;
&lt;br /&gt;
Sets the color for text. &#039;&#039;r1&#039;&#039;, &#039;&#039;g1&#039;&#039; and &#039;&#039;b1&#039;&#039; are the red, green and blue component of the color for unselected text. &#039;&#039;r2&#039;&#039;, &#039;&#039;g2&#039;&#039; and &#039;&#039;b2&#039;&#039; are the red, green and blue component of the color for selected text.&lt;br /&gt;
&lt;br /&gt;
=== $transition(string,color1,color2) ===&lt;br /&gt;
&lt;br /&gt;
Inserts color codes into &#039;&#039;string&#039;&#039;, so that the first character has &#039;&#039;color1&#039;&#039;, the last character has &#039;&#039;color2&#039;&#039;, and intermediate characters have blended colors. The blending is performed in the RGB color space. Note that color codes are additional characters that will also be counted by string manipulation functions. For example, if you need to truncate a string, you should do this before applying &#039;&#039;$transition&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Now playing info =&lt;br /&gt;
The following functions and fields are usable for scripts used with the currently playing item, for example the status bar, the main window title and the copy command script.&lt;br /&gt;
&lt;br /&gt;
== Special fields ==&lt;br /&gt;
&lt;br /&gt;
=== %playback_time% ===&lt;br /&gt;
Returns the elapsed time formatted as [HH:]MM:SS.&lt;br /&gt;
&lt;br /&gt;
=== %playback_time_seconds% ===&lt;br /&gt;
Returns elapsed time in seconds.&lt;br /&gt;
Old version: &amp;lt;code&amp;gt;%_time_elapsed%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== %playback_time_remaining% ===&lt;br /&gt;
Returns remaining time until track ends, formatted as [HH:]MM:SS.&lt;br /&gt;
Old version: &amp;lt;code&amp;gt;%_time_remaining%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== %playback_time_remaining_seconds% ===&lt;br /&gt;
Returns remaining time in seconds.&lt;br /&gt;
Old version: &amp;lt;code&amp;gt;%_time_remaining_seconds%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== %length% ===&lt;br /&gt;
Returns the length of the track formatted as hours, minutes, and seconds.&lt;br /&gt;
Old version: &amp;lt;code&amp;gt;%_time_total%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== %length_ex% ===&lt;br /&gt;
Returns the length of the track formatted as hours, minutes, seconds, and milliseconds.&lt;br /&gt;
&lt;br /&gt;
=== %length_seconds% ===&lt;br /&gt;
Returns the length of the track in seconds.&lt;br /&gt;
Old version: &amp;lt;code&amp;gt;%_time_total_seconds%&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== %length_seconds_fp% ===&lt;br /&gt;
Returns the length of the track in seconds as floating point number.&lt;br /&gt;
&lt;br /&gt;
=== %length_samples% ===&lt;br /&gt;
Returns the length of the track in samples.&lt;br /&gt;
&lt;br /&gt;
= Playlist info =&lt;br /&gt;
The following functions and fields are usable for playlist display formatting (eg. per-column title formatting patterns).&lt;br /&gt;
&lt;br /&gt;
== Special fields ==&lt;br /&gt;
&lt;br /&gt;
=== %isplaying% ===&lt;br /&gt;
&lt;br /&gt;
Returns &amp;quot;1&amp;quot; if file is currently playing and empty string otherwise.&lt;br /&gt;
&lt;br /&gt;
=== %ispaused% ===&lt;br /&gt;
&lt;br /&gt;
Returns &amp;quot;1&amp;quot; if playback is paused, empty string otherwise.&lt;br /&gt;
&lt;br /&gt;
=== %list_index% ===&lt;br /&gt;
&lt;br /&gt;
Returns a zero-padded playlist index of specified item. The first item is at index 1.&lt;br /&gt;
&lt;br /&gt;
=== %list_total% ===&lt;br /&gt;
&lt;br /&gt;
Returns number of items in the playlist.&lt;br /&gt;
&lt;br /&gt;
=== %queue_index% ===&lt;br /&gt;
&lt;br /&gt;
Index of the specified item in the playback queue; available in playlist only. If the item has been queued multiple times, %queue_index% evaluates to the first index.&lt;br /&gt;
&lt;br /&gt;
=== %queue_indexes% ===&lt;br /&gt;
&lt;br /&gt;
List of indexes of the specified item in the playback queue; available in playlist only. Same as %queue_index% unless the item has been queued more than once.&lt;br /&gt;
&lt;br /&gt;
=== %queue_total% ===&lt;br /&gt;
&lt;br /&gt;
Total amount of tracks in playback queue. Available only for queued tracks, for technical reasons. &lt;br /&gt;
&lt;br /&gt;
= String functions =&lt;br /&gt;
&lt;br /&gt;
The functions in this section can be used to manipulate character strings.&lt;br /&gt;
&lt;br /&gt;
=== $abbr(x) ===&lt;br /&gt;
&lt;br /&gt;
Returns abbreviation of &#039;&#039;x&#039;&#039;. Words which begin with an alphanumeric character are shortened to the first character. Spaces and parentheses are stripped. Example:&lt;br /&gt;
* $abbr(&#039;This is a Long Title (12-inch version) [needs tags]&#039;) → TiaLT1v[needst&lt;br /&gt;
&lt;br /&gt;
=== $abbr(x,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns abbreviation of &#039;&#039;x&#039;&#039;, if &#039;&#039;x&#039;&#039; is longer than &#039;&#039;len&#039;&#039; characters, otherwise returns &#039;&#039;x&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $ansi(x) ===&lt;br /&gt;
&lt;br /&gt;
Converts &#039;&#039;x&#039;&#039; to system codepage and back. Any characters that are not present in the system codepage will be removed / replaced. Useful for mass-renaming files to ensure compatibility with non-unicode-capable software.&lt;br /&gt;
&lt;br /&gt;
=== $ascii(x) ===&lt;br /&gt;
&lt;br /&gt;
Converts &#039;&#039;x&#039;&#039; to ASCII. Any characters that are not present in ASCII will be removed / replaced.&lt;br /&gt;
&lt;br /&gt;
=== $caps(x) ===&lt;br /&gt;
&lt;br /&gt;
Converts first letter in every word of x to uppercase, and all other letters to lowercase.&lt;br /&gt;
&lt;br /&gt;
=== $caps2(x) ===&lt;br /&gt;
&lt;br /&gt;
Converts first letter in every word of x to uppercase, and leaves all other letters as they are.&lt;br /&gt;
&lt;br /&gt;
=== $char(x) ===&lt;br /&gt;
&lt;br /&gt;
Inserts Unicode character with code &#039;&#039;x&#039;&#039;. You can search for characters and find the matching decimal number on this [http://www.fileformat.info/info/unicode/char/search.htm site].&lt;br /&gt;
&lt;br /&gt;
=== $crc32(a) ===&lt;br /&gt;
&lt;br /&gt;
Computes the CRC32 of the string &#039;&#039;a&#039;&#039; as a number. Intended for use in coloring scripts.&lt;br /&gt;
&lt;br /&gt;
Example: $rgb($mod($crc32(%album%),256),128,128)&lt;br /&gt;
&lt;br /&gt;
=== $crlf() ===&lt;br /&gt;
&lt;br /&gt;
Inserts end-of-line marker (carriage return, line feed). Can be used to generate multiple lines in the output, for example for the tooltip of the system  notification area (&amp;quot;systray&amp;quot;) icon.&lt;br /&gt;
&lt;br /&gt;
=== $cut(a,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns first &#039;&#039;len&#039;&#039; characters from the left of the string &#039;&#039;a&#039;&#039;. This function is the same as $left(a,len). Negative numbers produce the entire string. Examples:&lt;br /&gt;
* $cut(&#039;abc123&#039;,3) → abc&lt;br /&gt;
* $cut(&#039;abc123&#039;,0) → (nothing)&lt;br /&gt;
* $cut(&#039;abc123&#039;,-1) → abc123&lt;br /&gt;
&lt;br /&gt;
=== $directory(x) ===&lt;br /&gt;
&lt;br /&gt;
Extracts directory name from the file path &#039;&#039;x&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $directory(x,n) ===&lt;br /&gt;
&lt;br /&gt;
Extracts directory name from the file path &#039;&#039;x&#039;&#039;; goes up by &#039;&#039;n&#039;&#039; levels.&lt;br /&gt;
&lt;br /&gt;
=== $directory_path(x) ===&lt;br /&gt;
&lt;br /&gt;
Extracts directory path from the file path &#039;&#039;x&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $ext(x) ===&lt;br /&gt;
&lt;br /&gt;
Extracts file extension from &#039;&#039;x&#039;&#039; which must be a file name or path.&lt;br /&gt;
&lt;br /&gt;
=== $filename(x) ===&lt;br /&gt;
&lt;br /&gt;
Extracts file name from full path.&lt;br /&gt;
&lt;br /&gt;
=== $fix_eol(x) ===&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;x&#039;&#039; contains an end-of-line marker (CR-LF), the end-of-line marker and all text to the right of it is replaced by &amp;quot; (...)&amp;quot;. Otherwise &#039;&#039;x&#039;&#039; is returned unaltered.&lt;br /&gt;
&lt;br /&gt;
=== $fix_eol(x,indicator) ===&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;x&#039;&#039; contains an end-of-line marker (CR-LF), the end-of-line marker and all text to the right of it is replaced by &#039;&#039;indicator&#039;&#039;. Otherwise &#039;&#039;x&#039;&#039; is returned unaltered.&lt;br /&gt;
&lt;br /&gt;
=== $hex(n) ===&lt;br /&gt;
&lt;br /&gt;
Formats the integer number &#039;&#039;n&#039;&#039; in hexadecimal notation.&lt;br /&gt;
&lt;br /&gt;
=== $hex(n,len) ===&lt;br /&gt;
&lt;br /&gt;
Formats the integer number &#039;&#039;n&#039;&#039; in hexadecimal notation with &#039;&#039;len&#039;&#039; digits. Pads with zeros from the left if necessary.&lt;br /&gt;
&lt;br /&gt;
=== $insert(a,b,n) ===&lt;br /&gt;
&lt;br /&gt;
Inserts &#039;&#039;b&#039;&#039; into &#039;&#039;a&#039;&#039; after &#039;&#039;n&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $left(a,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns first &#039;&#039;len&#039;&#039; characters from the left of the string &#039;&#039;a&#039;&#039;. This function is the same as $cut(a,len). Negative numbers produce the entire string. Examples:&lt;br /&gt;
* $left(&#039;abc123&#039;,3) → abc&lt;br /&gt;
* $left(&#039;abc123&#039;,0) → (nothing)&lt;br /&gt;
* $left(&#039;abc123&#039;,-1) → abc123&lt;br /&gt;
&lt;br /&gt;
=== $len(a) ===&lt;br /&gt;
&lt;br /&gt;
Returns length of string &#039;&#039;a&#039;&#039; in characters.&lt;br /&gt;
&lt;br /&gt;
=== $len2(a) ===&lt;br /&gt;
&lt;br /&gt;
Returns length of string x in characters, respecting double-width character rules (double-width characters will be counted as two).&lt;br /&gt;
&lt;br /&gt;
=== $longer(a,b) ===&lt;br /&gt;
&lt;br /&gt;
Returns &#039;&#039;true&#039;&#039;, if string &#039;&#039;a&#039;&#039; is longer than string &#039;&#039;b&#039;&#039;, false otherwise.&lt;br /&gt;
&lt;br /&gt;
=== $lower(a) ===&lt;br /&gt;
&lt;br /&gt;
Converts &#039;&#039;a&#039;&#039; to lowercase.&lt;br /&gt;
&lt;br /&gt;
=== $longest(a,...) ===&lt;br /&gt;
&lt;br /&gt;
Returns the longest of its arguments. Can be used with an arbitrary number of strings.&lt;br /&gt;
&lt;br /&gt;
=== $num(n,len) ===&lt;br /&gt;
&lt;br /&gt;
Formats the integer number &#039;&#039;n&#039;&#039; in decimal notation with &#039;&#039;len&#039;&#039; characters. Pads with zeros from the left if necessary. &#039;&#039;len&#039;&#039; includes the dash when the number is negative. If &#039;&#039;n&#039;&#039; is not numeric, it is treated as zero. Examples:&lt;br /&gt;
&lt;br /&gt;
* $num(123,5) → 00123&lt;br /&gt;
* $num(-123,5) → -0123&lt;br /&gt;
* $num(4.8,5) → 00004&lt;br /&gt;
* $num(A1,5) → 00000&lt;br /&gt;
&lt;br /&gt;
=== $pad(x,len) ===&lt;br /&gt;
&lt;br /&gt;
Pads &#039;&#039;x&#039;&#039; from the left with spaces to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $pad_right(x,y) ===&lt;br /&gt;
&lt;br /&gt;
Pads &#039;&#039;x&#039;&#039; from the right with spaces to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $pad(x,len,char) ===&lt;br /&gt;
&lt;br /&gt;
Pads &#039;&#039;x&#039;&#039; from the left with &#039;&#039;char&#039;&#039; to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $pad_right(x,len,char) ===&lt;br /&gt;
&lt;br /&gt;
Pads &#039;&#039;x&#039;&#039; from the right with &#039;&#039;char&#039;&#039; to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $padcut(x,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns first &#039;&#039;len&#039;&#039; characters from the left of &#039;&#039;x&#039;&#039;, if &#039;&#039;x&#039;&#039; is longer than &#039;&#039;len&#039;&#039; characters. Otherwise pads &#039;&#039;x&#039;&#039; from the left with spaces to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $padcut_right(x,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns first &#039;&#039;len&#039;&#039; characters from the left of &#039;&#039;x&#039;&#039;, if &#039;&#039;x&#039;&#039; is longer than &#039;&#039;len&#039;&#039; characters. Otherwise pads &#039;&#039;x&#039;&#039; from the right with spaces to &#039;&#039;len&#039;&#039; characters.&lt;br /&gt;
&lt;br /&gt;
=== $progress(pos,range,len,a,b) ===&lt;br /&gt;
&lt;br /&gt;
Creates a progress bar: &#039;&#039;pos&#039;&#039; contains position, &#039;&#039;range&#039;&#039; contains range, &#039;&#039;len&#039;&#039; progress bar length in characters, &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039; are characters to build progress bar with.&lt;br /&gt;
&lt;br /&gt;
Example:&#039;&#039;$progress(%_time_elapsed_seconds%, %_time_total_seconds%, 20,&#039;#&#039;,&#039;=&#039;)&#039;&#039; produces &amp;quot;====#===============&amp;quot;, the # character is moving with playback position.&lt;br /&gt;
&lt;br /&gt;
=== $progress2(pos,range,len,a,b) ===&lt;br /&gt;
&lt;br /&gt;
Creates a progress bar: &#039;&#039;pos&#039;&#039; contains position, &#039;&#039;range&#039;&#039; contains range, &#039;&#039;len&#039;&#039; progress bar length in characters, &#039;&#039;a&#039;&#039; and &#039;&#039;b&#039;&#039; are characters to build progress bar with. Produces different appearance than &#039;&#039;$progress&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $repeat(a,n) ===&lt;br /&gt;
&lt;br /&gt;
Returns &#039;&#039;n&#039;&#039; copies of &#039;&#039;a&#039;&#039;. Note that &#039;&#039;a&#039;&#039; is evaluated once before its value is used, so &#039;&#039;$repeat&#039;&#039; cannot be used for loops.&lt;br /&gt;
&lt;br /&gt;
=== $replace(a,b,c) ===&lt;br /&gt;
&lt;br /&gt;
Replaces all occurrences of string &#039;&#039;b&#039;&#039; in string &#039;&#039;a&#039;&#039; with string &#039;&#039;c&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Can also be used with an arbitrary number of arguments. Note that &#039;&#039;$replace(a,b1,c1,b2,c2)&#039;&#039; is generally not the same as &#039;&#039;$replace($replace(a,b1,c1),b2,c2)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$replace(ab,a,b,b,c)&#039;&#039; → &amp;quot;bc&amp;quot;, &#039;&#039;$replace($replace(ab,a,b),b,c)&#039;&#039; → &amp;quot;cc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $right(a,len) ===&lt;br /&gt;
&lt;br /&gt;
Returns the first &#039;&#039;len&#039;&#039; characters from the right of &#039;&#039;a&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $roman(n) ===&lt;br /&gt;
&lt;br /&gt;
Formats the integer number &#039;&#039;n&#039;&#039; in roman notation.&lt;br /&gt;
&lt;br /&gt;
=== $rot13() ===&lt;br /&gt;
&lt;br /&gt;
Performs [http://en.wikipedia.org/wiki/ROT13 ROT13] transformation to given string.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$rot13(&#039;foobar2000&#039;)&#039;&#039; → &amp;quot;sbbone2000&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== $shortest ===&lt;br /&gt;
&lt;br /&gt;
Returns the shortest of its arguments. Can be used with an arbitrary number of strings.&lt;br /&gt;
&lt;br /&gt;
=== $strchr(s,c) ===&lt;br /&gt;
&lt;br /&gt;
Finds first occurence of character &#039;&#039;c&#039;&#039; in string &#039;&#039;s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$strchr(abca,a)&#039;&#039; → 1&lt;br /&gt;
&lt;br /&gt;
=== $strrchr(s,c) ===&lt;br /&gt;
&lt;br /&gt;
Finds last occurence of character &#039;&#039;c&#039;&#039; in string &#039;&#039;s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$strrchr(abca,a)&#039;&#039; → 4&lt;br /&gt;
&lt;br /&gt;
=== $strstr(s1,s2) ===&lt;br /&gt;
&lt;br /&gt;
Finds first occurence of string &#039;&#039;s2&#039;&#039; in string &#039;&#039;s1&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $strcmp(s1,s2) ===&lt;br /&gt;
&lt;br /&gt;
Performs a case-sensitive comparison of the strings &#039;&#039;s1&#039;&#039; and &#039;&#039;s2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $stricmp(s1,s2) ===&lt;br /&gt;
&lt;br /&gt;
Performs a case-insensitive comparison of the strings &#039;&#039;s1&#039;&#039; and &#039;&#039;s2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $substr(s,m,n) ===&lt;br /&gt;
&lt;br /&gt;
Returns substring of string &#039;&#039;s&#039;&#039;, starting from &#039;&#039;m&#039;&#039;-th character and ending at &#039;&#039;n&#039;&#039;-th character.&lt;br /&gt;
&lt;br /&gt;
=== $stripprefix(x) ===&lt;br /&gt;
&lt;br /&gt;
Removes &#039;&#039;A&#039;&#039; and &#039;&#039;The&#039;&#039; prefixes from x. &lt;br /&gt;
&lt;br /&gt;
=== $stripprefix(x,prefix1,prefix2,...) ===&lt;br /&gt;
&lt;br /&gt;
Removes the specified prefixes from x. &lt;br /&gt;
&lt;br /&gt;
=== $swapprefix(x) ===&lt;br /&gt;
&lt;br /&gt;
Moves &#039;&#039;A&#039;&#039; and &#039;&#039;The&#039;&#039; prefixes to the end of x. &lt;br /&gt;
&lt;br /&gt;
=== $swapprefix(x,prefix1,prefix2,...) ===&lt;br /&gt;
&lt;br /&gt;
Moves the specified prefixes to the end of x. &lt;br /&gt;
&lt;br /&gt;
=== $trim(s) ===&lt;br /&gt;
&lt;br /&gt;
Removes leading and trailing spaces from string &#039;&#039;s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== $tab() ===&lt;br /&gt;
&lt;br /&gt;
Inserts one tabulator character.&lt;br /&gt;
&lt;br /&gt;
=== $tab(n) ===&lt;br /&gt;
&lt;br /&gt;
Inserts &#039;&#039;n&#039;&#039; tabulator characters.&lt;br /&gt;
&lt;br /&gt;
=== $upper(s) ===&lt;br /&gt;
&lt;br /&gt;
Converts string &#039;&#039;s&#039;&#039; to uppercase.&lt;br /&gt;
&lt;br /&gt;
= Track info =&lt;br /&gt;
&lt;br /&gt;
The functions and fields in this section can be used to access information about tracks.&lt;br /&gt;
&lt;br /&gt;
== Metadata ==&lt;br /&gt;
&lt;br /&gt;
=== $meta(name) ===&lt;br /&gt;
Returns value of tag called &#039;&#039;name&#039;&#039;. If multiple values of that tag exist, they are concatenated with &amp;quot;, &amp;quot; as separator.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta(artist)&#039;&#039; → &amp;quot;He, She, It&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $meta(name,n) ===&lt;br /&gt;
Returns value of &#039;&#039;n&#039;&#039;-th (0,1,2 and so on) tag called &#039;&#039;name&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta(artist,1)&#039;&#039; → &amp;quot;She&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $meta_sep(name,sep) ===&lt;br /&gt;
Returns value of tag called &#039;&#039;name&#039;&#039;. If multiple values of that tag exist, they are concatenated with &#039;&#039;sep&#039;&#039; as separator.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta_sep(artist,&#039; + &#039;)&#039;&#039; → &amp;quot;He + She + It&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $meta_sep(name,sep,lastsep) ===&lt;br /&gt;
Returns value of tag called &#039;&#039;name&#039;&#039;. If multiple values of that tag exist, they are concatenated with &#039;&#039;sep&#039;&#039; as separator between all but the last two values which are concatenated with &#039;&#039;lastsep&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta_sep(artist,&#039;, &#039;,&#039;, and &#039;)&#039;&#039; → &amp;quot;He, She, and It&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $meta_test(...) === &lt;br /&gt;
Returns &#039;&#039;1&#039;&#039;, if all given tags exist, &#039;&#039;undefined&#039;&#039; otherwise.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta_test(artist,title)&#039;&#039; → true&lt;br /&gt;
&lt;br /&gt;
=== $meta_num(name) ===&lt;br /&gt;
Returns the number of values for the tag called &#039;&#039;name&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$meta_num(artist)&#039;&#039; → 3&lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
&lt;br /&gt;
=== $info(name) ===&lt;br /&gt;
Returns value of technical information field called &#039;&#039;name&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For convenience, the &#039;&#039;&#039;%__name%&#039;&#039;&#039; alias is also available.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$info(channels)&#039;&#039; → 2&lt;br /&gt;
&lt;br /&gt;
Here is an &#039;&#039;&#039;informative&#039;&#039;&#039; list of recognized fields. Some of these depend on the media file type being queried.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! field name&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;background-color:#CCF&amp;quot;|&#039;&#039;&#039;General&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|codec&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Codec&#039;&#039;&#039; (&#039;&#039;e.g.&#039;&#039; MP3)&lt;br /&gt;
|-&lt;br /&gt;
|codec_profile&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Codec Profile&#039;&#039;&#039; (&#039;&#039;e.g.&#039;&#039; CBR)&lt;br /&gt;
|-&lt;br /&gt;
|samplerate&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Sample Rate&#039;&#039;&#039;, in hertz (&#039;&#039;e.g.&#039;&#039; 44100)&lt;br /&gt;
|-&lt;br /&gt;
|bitrate&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Bitrate&#039;&#039;&#039;, in kilobits per second (&#039;&#039;e.g.&#039;&#039; 320)&lt;br /&gt;
|-&lt;br /&gt;
|tool&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Tool&#039;&#039;&#039; used to produce the file, possibly guessed (&#039;&#039;e.g.&#039;&#039; LAME3.97)&lt;br /&gt;
|-&lt;br /&gt;
|encoding&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Encoding&#039;&#039;&#039; lossiness (&#039;&#039;e.g.&#039;&#039; lossy)&lt;br /&gt;
|-&lt;br /&gt;
|channels&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Channels&#039;&#039;&#039; count (&#039;&#039;e.g.&#039;&#039; 2 &amp;lt;nowiki&amp;gt;[for stereo]&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|channel_mode&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Channel Mode&#039;&#039;&#039;, description of channels (&#039;&#039;e.g.&#039;&#039; 3 front, 2 rear surround channels + LFE)&lt;br /&gt;
|-&lt;br /&gt;
|bitspersample&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Bits Per Sample&#039;&#039;&#039; (&#039;&#039;e.g.&#039;&#039; 16)&lt;br /&gt;
|-&lt;br /&gt;
|tagtype&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Tag Type&#039;&#039;&#039;, comma-separated list of tag formats (&#039;&#039;e.g.&#039;&#039; id3v2|apev2)&lt;br /&gt;
|-&lt;br /&gt;
|cue_embedded&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Embedded Cuesheet&#039;&#039;&#039; presence (&#039;&#039;e.g.&#039;&#039; no &amp;lt;nowiki&amp;gt;[may be empty!]&amp;lt;/nowiki&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|md5&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Audio MD5&#039;&#039;&#039; hash, if container defines it (&#039;&#039;e.g.&#039;&#039; 1E24A910D91EF09A8CF403C9B6963961)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;background-color:#CCF&amp;quot;|&#039;&#039;&#039;Other&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|ENC_DELAY&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|LAME proprietary MP3 &#039;&#039;&#039;enc_delay&#039;&#039;&#039; value (&#039;&#039;e.g.&#039;&#039; 576)&lt;br /&gt;
|-&lt;br /&gt;
|ENC_PADDING&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|LAME proprietary MP3 &#039;&#039;&#039;enc_padding&#039;&#039;&#039; value (&#039;&#039;e.g.&#039;&#039; 1536)&lt;br /&gt;
|-&lt;br /&gt;
|MP3_ACCURATE_LENGTH&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;mp3_accurate_length&#039;&#039;&#039; supported (LAME proprietary header)? (&#039;&#039;e.g.&#039;&#039; yes)&lt;br /&gt;
|-&lt;br /&gt;
|MP3_STEREO_MODE&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|Stereo mode used in MP3 file (&#039;&#039;e.g.&#039;&#039; mono, stereo, joint stereo, etc.)&lt;br /&gt;
|-&lt;br /&gt;
|VERSION&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Version&#039;&#039;&#039; of tool (&#039;&#039;e.g.&#039;&#039; 3.99)&lt;br /&gt;
|-&lt;br /&gt;
|FLAGS&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot;|&#039;&#039;&#039;Flags&#039;&#039;&#039; of tool (&#039;&#039;e.g.&#039;&#039; 22)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== $channels() === &lt;br /&gt;
Returns number of channels in text format.&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$channels()&#039;&#039; → &amp;quot;stereo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== %replaygain_album_gain% ===&lt;br /&gt;
&lt;br /&gt;
Returns ReplayGain album gain value.&lt;br /&gt;
&lt;br /&gt;
=== %replaygain_album_peak% ===&lt;br /&gt;
&lt;br /&gt;
Returns ReplayGain album peak value.&lt;br /&gt;
&lt;br /&gt;
=== %replaygain_track_gain% ===&lt;br /&gt;
&lt;br /&gt;
Returns ReplayGain track gain value.&lt;br /&gt;
&lt;br /&gt;
=== %replaygain_track_peak% ===&lt;br /&gt;
&lt;br /&gt;
Returns ReplayGain track peak value.&lt;br /&gt;
&lt;br /&gt;
== Special fields ==&lt;br /&gt;
&lt;br /&gt;
==== %filename% ====&lt;br /&gt;
&lt;br /&gt;
Returns the filename without directory and extension.&lt;br /&gt;
&lt;br /&gt;
==== %filename_ext% ====&lt;br /&gt;
&lt;br /&gt;
Returns the filename with extension, but without the directory.&lt;br /&gt;
&lt;br /&gt;
==== %directoryname% ====&lt;br /&gt;
&lt;br /&gt;
Returns the name of the parent directory only, not the complete path.&lt;br /&gt;
&lt;br /&gt;
==== %last_modified% ====&lt;br /&gt;
&lt;br /&gt;
Returns the date and time the file was last modified. Eg: &#039;&#039;2005-12-22 00:04:10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== %path% ====&lt;br /&gt;
&lt;br /&gt;
Returns the path.&lt;br /&gt;
&lt;br /&gt;
==== %_path_raw% ====&lt;br /&gt;
&lt;br /&gt;
Returns the path as URL including the protocol scheme.&lt;br /&gt;
&lt;br /&gt;
==== %subsong% ====&lt;br /&gt;
&lt;br /&gt;
Returns the subsong index. The subsong index is used to distuingish multiple tracks in a single file, for example for cue sheets, tracker modules and various container formats.&lt;br /&gt;
&lt;br /&gt;
==== %_foobar2000_version% ====&lt;br /&gt;
Returns a string representing the version of foobar2000.&lt;br /&gt;
&lt;br /&gt;
= Time/Date Functions =&lt;br /&gt;
&lt;br /&gt;
These functions are used to manipulate time/date strings, notably (but not limited to), [[Foobar2000:Titleformat_Playback_Statistics|those gathered]] by the [[Foobar2000:Components/Playback Statistics v3.x (foo playcount)|Playback Statistics component]].&lt;br /&gt;
&lt;br /&gt;
=== $year(time) ===&lt;br /&gt;
&lt;br /&gt;
Retrieves the year part (formatted as four digits) from a time/date string.&lt;br /&gt;
&lt;br /&gt;
=== $month(time) ===&lt;br /&gt;
&lt;br /&gt;
Retrieves the month part (formatted as two digits) from a time/date string.&lt;br /&gt;
&lt;br /&gt;
=== $day_of_month(time) ===&lt;br /&gt;
&lt;br /&gt;
Retrieves the day of month part (formatted as two digits) from a time/date string.&lt;br /&gt;
&lt;br /&gt;
=== $date(time) ===&lt;br /&gt;
&lt;br /&gt;
Retrieves the date part (formatted as YYYY-MM-DD) from a time/date string.&lt;br /&gt;
&lt;br /&gt;
=== $time(time) ===&lt;br /&gt;
&lt;br /&gt;
Retrieves the time part (formatted as HH:MM:SS or HH:MM) from a date/time string.&lt;br /&gt;
&lt;br /&gt;
= Variable operations =&lt;br /&gt;
&lt;br /&gt;
Variables can be used to store strings and number. They cannot store truth values. They are best used to store intermediate results that you need multiple times. Variable names are not case-sensitive.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! code&lt;br /&gt;
! output&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;pre&amp;gt;$put(foo,bar)$char(10)&lt;br /&gt;
$get(foo)$char(10)&lt;br /&gt;
$get(Foo)$char(10)&lt;br /&gt;
$puts(foo,2000)$char(10)&lt;br /&gt;
$get(foo)$char(10)&amp;lt;/pre&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#EEF&amp;quot; |&amp;lt;pre&amp;gt;bar&lt;br /&gt;
bar&lt;br /&gt;
bar&lt;br /&gt;
&lt;br /&gt;
2000&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== $get(name) ===&lt;br /&gt;
&lt;br /&gt;
Returns the value that was last stored in the variable &#039;&#039;name&#039;&#039;, if the variable was not defined (yet), it returns nothing. The truth value returned by &#039;&#039;$get&#039;&#039; indicates if the variable &#039;&#039;name&#039;&#039; was defined&lt;br /&gt;
&lt;br /&gt;
=== $put(name,value) ===&lt;br /&gt;
&lt;br /&gt;
Stores &#039;&#039;value&#039;&#039; in the variable &#039;&#039;name&#039;&#039; and returns &#039;&#039;value&#039;&#039; unaltered&lt;br /&gt;
&lt;br /&gt;
=== $puts(name,value) ===&lt;br /&gt;
&lt;br /&gt;
Stores &#039;&#039;value&#039;&#039; in the variable &#039;&#039;name&#039;&#039; and returns nothing&lt;br /&gt;
&lt;br /&gt;
= Component-provided fields and functions on tracks =&lt;br /&gt;
&lt;br /&gt;
This section lists components that provide additional fields and functions that are useable in the context of any track.&lt;br /&gt;
&lt;br /&gt;
== Playback statistics ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.foobar2000.org/components/view/foo_playcount Playback statistics homepage]&lt;br /&gt;
* [[Foobar2000:Titleformat Playback Statistics|Playback statistics titleformat reference]]&lt;br /&gt;
&lt;br /&gt;
= Component-specific fields and functions =&lt;br /&gt;
&lt;br /&gt;
This section lists components that provide additional fields and functions that are only usable in the context of the particular component.&lt;br /&gt;
&lt;br /&gt;
== Album list ==&lt;br /&gt;
* [[Foobar2000:Titleformat_Album_List|Album List Title Formatting]]&lt;br /&gt;
* [[Foobar2000:Preferences:Album List|Preferences: Album List]]&lt;br /&gt;
== Playlist Organizer ==&lt;br /&gt;
* [http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components/Playlist_Organizer_(foo_plorg)#Nodes Playlist Organizer: Nodes Title Formatting]&lt;br /&gt;
&lt;br /&gt;
== Columns UI ==&lt;br /&gt;
&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI homepage]&lt;br /&gt;
* [http://yuo.be/wiki/columns_ui:config:global_variables Global variables reference]&lt;br /&gt;
* [http://yuo.be/wiki/columns_ui:config:colour_string Playlist colors reference]&lt;br /&gt;
* [http://yuo.be/wiki/columns_ui:config:playlist_switcher_titleformatting Playlist switcher reference]&lt;br /&gt;
&lt;br /&gt;
= Additional Reading =&lt;br /&gt;
&lt;br /&gt;
* [[Foobar2000:Titleformat_Introduction|Introduction to titleformat scripts]]&lt;br /&gt;
* &#039;&#039;&#039;titleformat_help.html&#039;&#039;&#039; in your Foobar2000 directory (ie C:\Program Files\foobar2000\titleformat_help.html) file:///C:/Program%20Files/foobar2000/titleformat_help.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:foobar2000 Guides|Titleformat Reference]]&lt;/div&gt;</summary>
		<author><name>MordredKLB</name></author>
	</entry>
</feed>