<?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=Brother+John</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=Brother+John"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Brother_John"/>
	<updated>2026-05-04T19:18:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference&amp;diff=23119</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=23119"/>
		<updated>2012-03-04T10:28:52Z</updated>

		<summary type="html">&lt;p&gt;Brother John: /* Arithmetic functions */&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;
|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>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22769</id>
		<title>Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22769"/>
		<updated>2011-05-22T12:39:30Z</updated>

		<summary type="html">&lt;p&gt;Brother John: /* Setting up Menus and Items */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
* [http://www.foobar2000.org/ foobar2000 v0.9.5.1+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ELPlaylist Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
ELPlaylist panel provides a single column playlist for [[Columns UI]]. Each track in the playlist occupies a line; within that line you can position elements freely. ELPlaylist also allows grouping items together (e.g. the tracks of an album) and nesting groups (e.g. for multi-disc albums).&lt;br /&gt;
&lt;br /&gt;
In order to use ELPlaylist you need to setup your Columns UI layout accordingly and add an ELPlaylist panel in &#039;&#039;Columns UI configuration / Layout&#039;&#039;. To change the playlist settings and scripts, right-click on any ELPlaylist panel and choose &#039;&#039;Settings&#039;&#039; from the context menu.&lt;br /&gt;
&lt;br /&gt;
ELPlaylist can utilize foobar2000’s the built-in artwork reader. Depending on your configuration it can be accessed in the Columns UI Preference section (Artwork) or directly at the display preference page (Album Art).&lt;br /&gt;
 &lt;br /&gt;
In order to fully utilize ELPlaylist features and settings you should be familiar with [[Foobar2000:Title Formatting Reference|Title Formatting]] (TF). For further reading refer to the [[Foobar2000:Title Formatting Reference|Title Format reference]].&lt;br /&gt;
&lt;br /&gt;
The readme file for this reference was translated from &#039;&#039;foo_uie_elplaylist.dll v0.6.4.2beta&#039;&#039;. Current stable version is &#039;&#039;v0.6.9.0b (2010/07/30)&#039;&#039;. Current beta version is &#039;&#039;v0.6.9.1.2b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The formatting fields and functions provided by ELPlaylist are very similar to the [[Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)|panel stack splitter]] component, because both are developed by the same author, &#039;&#039;&#039;ssenna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements: foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
SDK version foobar2000 :2008-07-20 cui: 6.3&lt;br /&gt;
&lt;br /&gt;
== Setting up Menus and Items ==&lt;br /&gt;
&lt;br /&gt;
In order to change ELPlaylist settings, right-click on any playlist item and choose &#039;&#039;Settings&#039;&#039;. The configuration dialog is divided into six main tabs.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Script&#039;&#039;&#039; tab contains the actual scripts that define the appearance of every playlist element, i.e. track rows, group headers and popups.&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-script.png]]&lt;br /&gt;
&lt;br /&gt;
Each element can be modified by using title format script and the special ELPlaylist functions and fields.You can also store multiple sets of scripts as &#039;&#039;Titleformat Script Presets&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Track list&#039;&#039;&#039; contains the TF script for individual track entries, i.e. rows, in the playlist.&lt;br /&gt;
* &#039;&#039;&#039;Group header&#039;&#039;&#039; contains the TF script for the group headers. &lt;br /&gt;
* &#039;&#039;&#039;Per Second&#039;&#039;&#039; contains a TF script for the currently playling track row. In contrast to the other scripts this one gets updated once every second. If you want to display now-playing animations, elapsed/remaining playback time etc. &#039;&#039;&#039;Per Second&#039;&#039;&#039; is the appropriate script.&amp;lt;br /&amp;gt;The &#039;&#039;&#039;Per Second&#039;&#039;&#039; script is executed &#039;&#039;in addition to the &#039;&#039;&#039;Track list&#039;&#039;&#039; script&#039;&#039;. &lt;br /&gt;
* &#039;&#039;&#039;Popup (Background)&#039;&#039;&#039; defines the background of the popup window that appears when your mouse hovers over a playlist entry. &lt;br /&gt;
* &#039;&#039;&#039;Popup (Track)&#039;&#039;&#039; defines the text of the popup window that appears when your mouse hovers over a playlist entry. Most of ELPlaylist’s custom fields/functions work, e.g. use &#039;&#039;%el_is_group%&#039;&#039; to determine if mouse hovers over a track row or a group header.&lt;br /&gt;
&lt;br /&gt;
Also, if the group header,% el_item_index% Please shift your position. &lt;br /&gt;
&lt;br /&gt;
Note: Popup after updates have been implemented in the version from the version that is not implemented, opens a dialog and set the default Popup Titleformat is no longer what it was reset, and is by design. In this state, and to save the settings, Popup will not appear on anything. Graphical Browser Popup features are quite helpful. &lt;br /&gt;
&lt;br /&gt;
In entering the default description is the assumption that there is a picture album. &lt;br /&gt;
* General-&amp;gt; title format preprocessor-&amp;gt; ART.PATH please set the path to the appropriate image. &lt;br /&gt;
* Example: &#039;&#039;C:\image\%album%.jpg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Style Tab ===&lt;br /&gt;
&lt;br /&gt;
This tab controls a number of global visual settings for the playlist.&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-style1.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Custom Background Colour&#039;&#039; defines background colours for different types of playlist entries.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Total&#039;&#039; is the background colour of the complete playlist. &lt;br /&gt;
* &#039;&#039;Odd item&#039;&#039; is the the background colour of odd rows.&lt;br /&gt;
* &#039;&#039;Even item&#039;&#039; is the the background colour of even rows.&lt;br /&gt;
* &#039;&#039;Selected item&#039;&#039; is the background colour of selected rows. &lt;br /&gt;
* &#039;&#039;Playing item&#039;&#039; is the background colour of the currently playing track.&lt;br /&gt;
* &#039;&#039;Selected and Playing item&#039;&#039; is the background color of playing and selected tracks rows.&lt;br /&gt;
&lt;br /&gt;
Odd and even item for the right padding and left padding can be drawn in the area. Odd and even can be calculated by the list index: on when the odd / determined in an even row number of the list. Off time is determined by order of the group.&lt;br /&gt;
&lt;br /&gt;
Change to display the character, script editing only. &lt;br /&gt;
* Default font: &#039;&#039;Please specify the default font.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-style2.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pseudo transparent&#039;&#039;: Enables pseudo-transparent background. It tends to be a CPU demanding to process. (If the slowdown is severe, one solution is to narrow the viewing area.) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Enable Visual Style&#039;&#039;: The background of the line and automatically draws VisualStyle. Primarily for Windows Vista. After drawing a custom background colour, title format script will be drawn prior to evaluation. Text color does not change automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Scrollbar&#039;&#039;:  Status of the scroll bar settings: default (auto show / hide switch) / hide (displayed) / show (always displayed), School and set the volume (0 is the system default). &lt;br /&gt;
&lt;br /&gt;
===  [Grouping Tab] ===&lt;br /&gt;
 &lt;br /&gt;
And customized for the group, you can customize the display of the list across multiple lines. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping1.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Group by&#039;&#039;: Grouping can be stored as a set of presets.&lt;br /&gt;
* &#039;&#039;Group format&#039;&#039;:  Grouping for each track describes Titleformat. TF as a group that tracks the same flight as a result. The group format is the same, leaving tracks on the playlist that is treated as a different group. &#039;&#039;&amp;quot;|&amp;quot;&#039;&#039; in a group format to split, you can set up the group hierarchy.&lt;br /&gt;
 Example: &#039;&#039;%album artist%|%album%&#039;&#039;&lt;br /&gt;
The group with the child group, there are constraints that can not be assigned a truck. ?RI?TEYOU and tracks such groups, is inserted DAMIGURUPUHEDDA. Are written in some detail at the end of this text. &lt;br /&gt;
* &#039;&#039;Sort format:&#039;&#039; Sort in the playlist for Titleformat described. Execution of the sort is done from the context menu. Sorting is not done automatically. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping2.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Row height&#039;&#039;: In a list and set the height of the base line. &lt;br /&gt;
* &#039;&#039;Row number of group header&#039;&#039;: &amp;quot;row height&amp;quot; and set the height of the header unit of the group. Titleformat is enabled. TF figures as a result of the process (0-16) should return. The height of the header for this group, always an integral multiple of row height (0-16 times). (Note: the group with a track, group row is evaluated.)&lt;br /&gt;
* &#039;&#039;Minimum row number of group&#039;&#039;: You can set the minimum number of lines in each group. This can be used to ensures that images are displayed completely even if the number of rows would be too low otherwise. This section is &#039;&#039;Titleformat&#039;&#039; enabled and as a result of the process must return a value of 0. After grouping, this value is less than the number of tracks in the group, empty rows are automatically inserted. &#039;&#039;Note:&#039;&#039; the group with a track, min item num will be evaluated. The line is empty, Track list Titleformat at &#039;&#039;$enabledraw()&#039;&#039; as long as you do not use the feature will be drawn off. If you want to draw the line as well as other effective, &#039;&#039;$enabledraw(1)&#039;&#039; and, drawing on the features please. Track list Titleformat the empty line will be evaluated using only the last track of the group. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping3.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Playlist filter:&#039;&#039; enable playlist filter is on, the name of the playlist from the playlist when?RI?WATTA the group by preset can be selected automatically. enable all playlists in the playlist of all the active preset. If you enable only on the playlist name matches the specified preset is enabled. If you disable on the playlist name matches the specified preset is disabled. Preset determines the priority order of the list. The name of the playlist specified, &amp;quot;;&amp;quot; that can be separated by more than one. TF or wild card is invalid. &lt;br /&gt;
* &#039;&#039;Associated titleformat script name:&#039;&#039;  This preset tileformat scrpit???KETAI and the name of a single set. &lt;br /&gt;
* &#039;&#039;Enable playlist filter:&#039;&#039; Playlist from the playlist filter name to enable you to group by preset automatically selected. &lt;br /&gt;
* &#039;&#039;Prioritize active preset:&#039;&#039; Find a preset valid time has now selected the first group by preset priority.&lt;br /&gt;
&lt;br /&gt;
===  [Field definition Tab] ===&lt;br /&gt;
 &lt;br /&gt;
Title format preprocessor: Enables the definition of Titleformat fields that can be used in every subsection: &#039;&#039;[Track list] [Group header] [Per Second] [Popup (Background)] [Popup (Track)] [row number of group header] [minimum row number of group&#039;&#039;]. Before evaluating, field and displacement. &lt;br /&gt;
 &lt;br /&gt;
Titleformat each set may be useful to refer to a common code. &lt;br /&gt;
Example: Album art path should be available to each section. This defined by:&lt;br /&gt;
 &#039;&#039;&#039;foo&#039;&#039;&#039; : &#039;&#039;C:\%album%.jpg&#039;&#039; &lt;br /&gt;
Now in each section the field &#039;&#039;%Foo%&#039;&#039; will be substituted by &#039;&#039;C:\%album%.jpg&#039;&#039;. If the path changes in it needs to be changed in the &#039;&#039;Field definition&#039;&#039; section, only.&lt;br /&gt;
&lt;br /&gt;
===  [Behaviour Tab] ===&lt;br /&gt;
&lt;br /&gt;
This section allows to change the behavior of various playlist features:&lt;br /&gt;
* &#039;&#039;Click action:&#039;&#039;  You can change your behavior when you click on the playlist. &lt;br /&gt;
* &#039;&#039;Mouse hover action:&#039;&#039; You can run when the mouse stops for a while. &lt;br /&gt;
* &#039;&#039;Enable hover:&#039;&#039; Mouse hover action for on / off can be. &lt;br /&gt;
* &#039;&#039;Delay:&#039;&#039;  Will stop the mouse from the mouse hover action to implement a delay. &lt;br /&gt;
* &#039;&#039;Display only the focused group:&#039;&#039; Show only a focus group. Other panel playlists (Graphical Browser or) is predicated on collaboration. &lt;br /&gt;
* &#039;&#039;Collapse all groups when playlist is changed:&#039;&#039; Close the group by default. &lt;br /&gt;
* &#039;&#039;Threshold of number of groups:&#039;&#039; Close the Group when more than this number the number of groups. &lt;br /&gt;
* &#039;&#039;Auto-collapse:&#039;&#039; Close the Group other than focus groups.  This option is on a group header in a single click to see the track line / switch that you hide. Click the Action Group in the open does not close automatically. If you want to follow the track playback, Playback / Cursor Follows Playback Please use a combination. &lt;br /&gt;
* &#039;&#039;Allow collapsing group with no group header:&#039;&#039; No group header (group row 0) in the group to close it. &lt;br /&gt;
* &#039;&#039;Disable focus change by single click at group header:&#039;&#039; Group headers and empty line in a single click when you stop to move the focus. &lt;br /&gt;
* &#039;&#039;Update every second:&#039;&#039;  The tracks play Enabling Per Second. More precisely, the second update of the drawing of the unit on / off only. &lt;br /&gt;
* &#039;&#039;Move items with drag and drop:&#039;&#039; Drag &amp;amp; Drop the selected tracks to go. If this option is turned off, press [Alt] while using  Drag &amp;amp; Drop to move items. &lt;br /&gt;
* &#039;&#039;Enable incremental search:&#039;&#039; According to key inputs, group format (&#039;&#039;%el_group_format%&#039;&#039;) and incremental search. Keyword search is logged in the status bar. Also, you did not enter a second valid key, your search terms are automatically reset. See also section [[shortcuts]]. IME in XP then I will support as possible to find it in Japanese.  Alphabet in Vista (ASCII) may only search. (Originally I worked with Vista.) If you want to search for Vista in non-ASCII, Ctrl-f search DAIAROGUBESU it is possible, please use there.&lt;br /&gt;
* &#039;&#039;Resize quality:&#039;&#039; Enlarge Image / You can set the quality down. If you just want a quality, HighQualityBicubic would be good if you have. &lt;br /&gt;
* &#039;&#039;Context menu:&#039;&#039; To set up the each item of the right-click menu and to display the item or not. &lt;br /&gt;
&lt;br /&gt;
=== [Misc Tab] ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== Popup ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up mouse hover action is executed.&lt;br /&gt;
 &lt;br /&gt;
* Max size: The maximum size of the popup. Titleformat small can. &lt;br /&gt;
* Popup opacity: Opacity of the popup. 0 will be completely transparent and you will not be displayed. &lt;br /&gt;
* Fade-in: TSUKEMASU a fade effect when viewed. I made quite appropriate. (Vista will fade in the default?)&lt;br /&gt;
* Enable colorkey: Set the color key. The transparent color is set. Same background color (default) if the background is transparent. However, it is anti-aliasing, transparency is not beautiful. &lt;br /&gt;
* Prevent going outside of display: To avoid as much as possible out of the pop-up display. Multi-Display is not supported.&lt;br /&gt;
* Max track num: Popup (Track) limit the number of trucks running.&lt;br /&gt;
 Popup the Titleformat script, &lt;br /&gt;
 Popup (Background) -&amp;gt; Popup (Track) -&amp;gt; Popup (Track) -&amp;gt;···&lt;br /&gt;
 Runs. &lt;br /&gt;
* Additional sort format: Sort of context menu to add the item to set the sort format. Group by preset and is independent. &lt;br /&gt;
&lt;br /&gt;
=== Keyboard Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
  &lt;br /&gt;
* Ctrl-c: Copy&lt;br /&gt;
* Ctrl-v: Paste&lt;br /&gt;
* Ctrl-x: Cut&lt;br /&gt;
* Ctrl-a: select all&lt;br /&gt;
* Ctrl-f: Find dialog (% el_group_format% of your search)&lt;br /&gt;
* Ctrl-g: Go to the following groups:&lt;br /&gt;
* Ctrl-b: Go to the previous group&lt;br /&gt;
* Delete: remove a track from the playlist&lt;br /&gt;
* Alt-[Up] / [Down]: Move the selected track ( &amp;quot;hide all items when playlist is changed&amp;quot; is that it is off)&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; foobar2000 body of General-&amp;gt; Keyboard Shortcuts settings will take precedence. &lt;br /&gt;
&lt;br /&gt;
[Alt] + Drag &amp;amp; Drop, you can move the selected tracks. &lt;br /&gt;
&lt;br /&gt;
==== Incremental search ====&lt;br /&gt;
 &lt;br /&gt;
Keystrokes are matched against group format (&#039;&#039;% el_group_format%&#039;&#039;) by incremental search. (Incremental search has to be enabled though) &lt;br /&gt;
&lt;br /&gt;
The following shortcuts are available. &lt;br /&gt;
* Ctrl-e: Reset the search (previous keystrokes)&lt;br /&gt;
* Ctrl-d: Find Next. (Ctrl-s if I could spare a···) &lt;br /&gt;
* Ctrl-r: Find&lt;br /&gt;
&lt;br /&gt;
=== Main Menu Options (View-&amp;gt;ELPlaylist) ===&lt;br /&gt;
&lt;br /&gt;
All panels will be affected by selecting a menu item here. &lt;br /&gt;
* Show now playing: Scroll to the track so that you are playing.&lt;br /&gt;
* Show focused item: Scroll to see the focus track.&lt;br /&gt;
* Expand all groups: Expand all groups.&lt;br /&gt;
* Collapse all groups: Close all of the groups.&lt;br /&gt;
* Refresh: redraw causes the explicit.&lt;br /&gt;
&lt;br /&gt;
=== Extended Command Reference ===&lt;br /&gt;
 &lt;br /&gt;
Please refer also to foobar&#039;s default [[Foobar2000:Title Formatting Reference|Title Format]] Reference&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
ELPlaylist provides custom fields that can be used just like normal title formatting fields. Not all custom fields are available to all scripts. See below for details.&lt;br /&gt;
&lt;br /&gt;
===%el_isplaying%===&lt;br /&gt;
Returns true if a track is currently playing.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_selected%===&lt;br /&gt;
Returns true for selected lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
click action of the Select group whether the selected group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_focused%===&lt;br /&gt;
Returns true for focused lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_width%===&lt;br /&gt;
Returns the width of the line’s viewing area.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_height%===&lt;br /&gt;
Returns the height of the line’s viewing area. Note that &#039;&#039;%el_height%&#039;&#039; may return different values for track lines and group headers.&lt;br /&gt;
&lt;br /&gt;
Track lines: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Group headers: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; &amp;amp;times; &#039;&#039;%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$setworldtransform()&#039;&#039; is affected.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_row_height%===&lt;br /&gt;
Returns the base line’s height. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_group_row%===&lt;br /&gt;
Returns the number of rows in the group header. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count%===&lt;br /&gt;
Returns the number of tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count2%===&lt;br /&gt;
Returns the number of empty tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of tracks processed in Popup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_direct_item_count%===&lt;br /&gt;
Returns the number of tracks within a group including all subgroups. Except in special cases, a group with a sub-group will be 0. If the group does not have a sub-group &#039;&#039;%el_direct_item_count&#039;&#039;% should be the same as &#039;&#039;%el_item_count%&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index%===&lt;br /&gt;
The index tracks the group (counting from 0) The line does not count up empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index2%===&lt;br /&gt;
The index tracks the group (counting from 0) Count up the line is empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_count%===&lt;br /&gt;
Number of groups (number of headers for all groups)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_index%===&lt;br /&gt;
Index group (index group headers in the list)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_count%===&lt;br /&gt;
Number of groups that belong to the same parent group&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_index%===&lt;br /&gt;
The index of the group as seen from a parent group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_depth%===&lt;br /&gt;
The depth of the current group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count%===&lt;br /&gt;
The number of subgroups Number of groups of children, grandchildren and the number of groups are not counted.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count2%===&lt;br /&gt;
Cumulative number of subgroups Be counted against the group after the grandchildren.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_format%===&lt;br /&gt;
The current group of the TF group format in the process and return the result.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_collapsed% (%el_is_hide_item%)===&lt;br /&gt;
Determines whether the group is collapsed. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_is_empty%===&lt;br /&gt;
Empty or no go. (Just opposite &#039;&#039;%el_is_valid%&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Well if you can not configure the sub-group structure, or whether groups can go into a dummy. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_valid%===&lt;br /&gt;
Valid (empty lines are not), or no go. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_noheader%===&lt;br /&gt;
Do not you have a group header (&#039;&#039;%El_group_row%&#039;&#039; to 0 if 1) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length%===&lt;br /&gt;
Total length of the track of the group &#039;&#039;[hh:]mm:ss&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length_seconds%===&lt;br /&gt;
Total length of the track of the group (s) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_backcolour%===&lt;br /&gt;
Returns the background color in &#039;&#039;r-g-b&#039;&#039; format. You can create an &#039;&#039;r-g-b-a&#039;&#039; value by simply adding the alpha value, e.g. &#039;&#039;%el_backcolour%-192&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_index%===&lt;br /&gt;
The current group by the preset index returns.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_name%===&lt;br /&gt;
Returns the current group by the preset name.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_group%===&lt;br /&gt;
Popup whether the group header.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_popup_width%, %el_popup_height%===&lt;br /&gt;
Size pop-up at that time. &#039;&#039;%el_width%&#039;&#039;, &#039;&#039;%el_height%&#039;&#039; note that the max size is returned. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_themed%===&lt;br /&gt;
Returns true if Visual Styles are enabled in ELPlaylist’s options.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Functions (Draw control) ==&lt;br /&gt;
&lt;br /&gt;
[Track list], [Group header], [Per Second], [Popup] valid.&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Font settings.&lt;br /&gt;
OPTIONS: bold italic underline strikeout&lt;br /&gt;
&lt;br /&gt;
Example: $font(Tahoma,10,bold italic)&lt;br /&gt;
&lt;br /&gt;
=== $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) ===&lt;br /&gt;
&lt;br /&gt;
Draws a string at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039;. The size of the text field is defined by width &#039;&#039;&#039;(W)&#039;&#039;&#039; and height &#039;&#039;&#039;(H)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; This function is a string and there is also a GDI version of the same functions available [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] and [[#$drawtextex(text,x,y,W,H,r-g-b,OPTIONS) | $drawtextex]]. This function might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
Align specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Align: &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align: &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* &#039;&#039;nowrap&#039;&#039;: disables text wrap&lt;br /&gt;
* &#039;&#039;noaa&#039;&#039;: ClearType and disable anti-aliasing.&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* &#039;&#039;hq&#039;&#039;: high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
* &#039;&#039;glow_aa&#039;&#039; glow option to use a special mode. (noaa, aa, hq exclusive)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;trimchar&#039;&#039; and &#039;&#039;trimword&#039;&#039;: Trimming  of the text to fit the display range&lt;br /&gt;
* &#039;&#039;elipchar&#039;&#039; and &#039;&#039;elipword&#039;&#039;: Shortens the text to fit the the display range. If set the end of the line will be replaced with &#039;&#039;&amp;quot;···&amp;quot;&#039;&#039;&lt;br /&gt;
* &#039;&#039;mempos getlastpos&#039;&#039;: to be able to get the coordinates of the drawing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; - specifying the glow effect (experimental stage):&lt;br /&gt;
* &#039;&#039;glow:expand:colour[:strength]&#039;&#039;: glow options&lt;br /&gt;
** &#039;&#039;Expand&#039;&#039; - [0-5]&lt;br /&gt;
** &#039;&#039;Colour&#039;&#039; - r-g-b&lt;br /&gt;
** &#039;&#039;Strength&#039;&#039; - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* &#039;&#039;X&#039;&#039; - glow in the horizontal offset&lt;br /&gt;
* &#039;&#039;Y&#039;&#039; - glow in the vertical offset&lt;br /&gt;
&lt;br /&gt;
Glow is a heavy process. (Especially the pseudo transparent)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,)&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,left vcenter,glow :2:255-255-255: 3)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow :2:32-168-268: 1 offset: 1:1)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,elipchar)&lt;br /&gt;
&lt;br /&gt;
=== $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Rectangular drawing function.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* Aa - enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawrect(0,50,50,50,255-128-64-128,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with gradient fill at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;r1-g1-b1-a1&#039;&#039;&#039; gradient start color&lt;br /&gt;
* &#039;&#039;&#039;r2-g2-b2-a2&#039;&#039;&#039; peak color gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;vertical&#039;&#039;: vertical gradient&lt;br /&gt;
* &#039;&#039;horizontal&#039;&#039;: horizontal gradient&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
* &#039;&#039;nonlinear&#039;&#039;: nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PEAK&#039;&#039;&#039;: 0-100&lt;br /&gt;
* Shifted the peak position of the gradient.&lt;br /&gt;
** 0 by default, to end at peak color.&lt;br /&gt;
** 50 When is the peak of color.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)&lt;br /&gt;
&lt;br /&gt;
=== $drawblurrect(x,y,w,h,colour,level) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with a blured outline at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Level&#039;&#039;&#039; [1-7]: blur level&lt;br /&gt;
&lt;br /&gt;
=== $drawfocusrect(x,y,w,h) ===&lt;br /&gt;
&lt;br /&gt;
Function to draw a dotted line shows the focus rectangle frame specified.&lt;br /&gt;
&lt;br /&gt;
=== $drawthemerect(x,y,w,h,control_name,partId,stateId) ===&lt;br /&gt;
&lt;br /&gt;
Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.&lt;br /&gt;
&lt;br /&gt;
control_name:&lt;br /&gt;
* Specify the name of the type of control you want to draw. One of the following:&lt;br /&gt;
* window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar&lt;br /&gt;
* edit combobox taskbar taskband startpanel explorerbar&lt;br /&gt;
&lt;br /&gt;
PartId:&lt;br /&gt;
* the parts you want to draw ID. Could we use the following number in the range for each control as a guide.&lt;br /&gt;
* In most cases, less than what I have defined.&lt;br /&gt;
* Window: 1-37&lt;br /&gt;
* Button rebar listview tooltip: 1-5&lt;br /&gt;
* Toolbar: 1-6&lt;br /&gt;
* Status treeview taskband: 1-3&lt;br /&gt;
* Header spin: 1-4&lt;br /&gt;
* Progress: 1-4&lt;br /&gt;
* Tab trackbar scrollbar :1-10&lt;br /&gt;
* Edit: 1-2&lt;br /&gt;
* Combobox: 1&lt;br /&gt;
* Taskbar: 1-8&lt;br /&gt;
* Startpanel: 1-11&lt;br /&gt;
* Explorerbar: 1-12&lt;br /&gt;
&lt;br /&gt;
StateId:&lt;br /&gt;
* the state and selected ID. If the component does not have to specify the state is 0.&lt;br /&gt;
* stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Vista Then, apply the style of Windows Explorer.&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,1) // default&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,2) // hot&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,3) // selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,4) // disable&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,5) // notfocused selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,6) // hot selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,1,listview,7,0) //group header line&lt;br /&gt;
&lt;br /&gt;
=== $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).&lt;br /&gt;
* In order to achieve a decent effect the condition w&amp;gt;4*w2 and h&amp;gt;4*h2 should be matched.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)&lt;br /&gt;
&lt;br /&gt;
=== $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws an ellipse at coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border Color&lt;br /&gt;
&lt;br /&gt;
=== $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Draw a triangle and vertex function.&lt;br /&gt;
* &#039;&#039;&#039;(x1,y1),(x2,y2),(x3,y3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; Border Color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawtriangle(10,5,20,10,10,15200-100-100,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039; specified by &#039;&#039;&#039;path&#039;&#039;&#039;. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.&amp;lt;!-- (w,h) in the original image size is omitted, and the cache.  (However, w, h if you are already cached in memory and then the image size to be directly cached)--&amp;gt;&lt;br /&gt;
&amp;lt;!--?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
&#039;&#039;Nodisplay&#039;&#039;, &#039;&#039;noexpansion&#039;&#039; and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
If there are images true, if false is returned.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;path&#039;&#039;&#039;:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide image, read only in memory&lt;br /&gt;
* &#039;&#039;noexpansion&#039;&#039;: image will not be expanded if smaller than the specified image size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;alignment&amp;gt;&lt;br /&gt;
* &#039;&#039;left right&#039;&#039;: horizontal alignment&lt;br /&gt;
* &#039;&#039;top bottom&#039;&#039;: vertical alignment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* &#039;&#039;wc&#039;&#039;: enables wildcard characters (*,?).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read mode&amp;gt;&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;: archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.&lt;br /&gt;
** Example: &#039;&#039;C:\aaa\image.zip|bbb/ccc.jpg&#039;&#039;&lt;br /&gt;
* &#039;&#039;icon&#039;&#039;: path is specified in the icon file (*.ico) to appear.&lt;br /&gt;
* &#039;&#039;artreader&#039;&#039;: Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.&lt;br /&gt;
** Audio &#039;&#039;artreader_front&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_back&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_disc&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_icon&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* (artreader_*** are currently not recommended optionss because these seem to be slow)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;n&#039;&#039;&#039;: rotateflip Index for:&lt;br /&gt;
* &#039;&#039;1&#039;&#039;: 90°&lt;br /&gt;
* &#039;&#039;2&#039;&#039;: 180°&lt;br /&gt;
* &#039;&#039;3&#039;&#039;: 270°&lt;br /&gt;
* &#039;&#039;4&#039;&#039;: flip horizontal&lt;br /&gt;
* &#039;&#039;5&#039;&#039;: 90° + flip horizontal&lt;br /&gt;
* &#039;&#039;6&#039;&#039;: Flipped vertically&lt;br /&gt;
* &#039;&#039;7&#039;&#039;: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* &#039;&#039;0-255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; (shadow effect)&lt;br /&gt;
* &#039;&#039;Glow:expand:colour&#039;&#039;&lt;br /&gt;
* &#039;&#039;Offset:x:y&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,left top)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.*,wc,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)&lt;br /&gt;
* $imageabs(10,10,50,50,%path%,artreader)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.&lt;br /&gt;
In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039; (imageabs):&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not maintain the aspect ratio&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide read only memory&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;&lt;br /&gt;
* &#039;&#039;Icon&#039;&#039;&lt;br /&gt;
* &#039;&#039;Horizontal Alignment&#039;&#039;&lt;br /&gt;
** left&lt;br /&gt;
** hcener&lt;br /&gt;
** right&lt;br /&gt;
* &#039;&#039;Vertical Alignment&#039;&#039;&lt;br /&gt;
** top&lt;br /&gt;
** vcenter&lt;br /&gt;
** bottom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; rotateflip Index for:&lt;br /&gt;
* 1: 90°&lt;br /&gt;
* 2: 180°&lt;br /&gt;
* 3: 270°&lt;br /&gt;
* 4: flip horizontal&lt;br /&gt;
* 5: 90° + flip horizontal&lt;br /&gt;
* 6: Flipped vertically&lt;br /&gt;
* 7: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)&lt;br /&gt;
* $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,)  ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )&lt;br /&gt;
* $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,)  ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions ==&lt;br /&gt;
&lt;br /&gt;
=== $getlastpos(elem) ===&lt;br /&gt;
&lt;br /&gt;
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, &#039;&#039;[[#$measurestring(text,x,y,W,H,OPTIONS) | $measurestring]]&#039;&#039; use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.&lt;br /&gt;
&lt;br /&gt;
Elem element to retrieve.&lt;br /&gt;
 X: left&lt;br /&gt;
 Y: top&lt;br /&gt;
 W: width&lt;br /&gt;
 H: height&lt;br /&gt;
 R: right&lt;br /&gt;
 B: bottom&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 $setworldtransform(2)&lt;br /&gt;
 $puts(img_path,C:\%album%.jpg)&lt;br /&gt;
 $imageabs(10,4,100,100,$get(img_path),top noexpansion,)&lt;br /&gt;
 $imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)&lt;br /&gt;
 $gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)&lt;br /&gt;
 $setworldtransform(0)&lt;br /&gt;
&lt;br /&gt;
=== $measurestring(text,x,y,W,H,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$drawstring&#039;&#039; to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get &#039;&#039;[[#$getlastpos(elem) | $getlastpos]]&#039;&#039;. &#039;&#039;&#039;OPTIONS&#039;&#039;&#039; is the same as $drawstring. If $drawstring uses the &#039;&#039;glow_aa&#039;&#039; or &#039;&#039;glow&#039;&#039; options, the &#039;&#039;$measurestring&#039;&#039; value returned may not be accurate.&lt;br /&gt;
&lt;br /&gt;
=== $getimagewidth(path),$getimageheight(path) ===&lt;br /&gt;
&lt;br /&gt;
The image path is specified in &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. &#039;&#039;nokeepaspect&#039;&#039; may be able to calculate the aspect ratio should be applied.&lt;br /&gt;
&lt;br /&gt;
=== $setcoordinate(mode) ===&lt;br /&gt;
&lt;br /&gt;
$setcoordinate(0,X,Y,W,H)&lt;br /&gt;
$setcoordinate(1,X,Y,R,B)&lt;br /&gt;
&lt;br /&gt;
Allows in a drawing function to transfer the argument &#039;&#039;x,y,w,h&#039;&#039; to &#039;&#039;x,y,right,bottom&#039;&#039;.&lt;br /&gt;
&#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled. The X, Y, W, H is specified, you can change the default position if the specified coordinates omitted in the drawing functions. &#039;&#039;$imageab&#039;&#039;, &#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled.&lt;br /&gt;
&lt;br /&gt;
Mode: Specifies the coordinate mode&lt;br /&gt;
&lt;br /&gt;
 0 default (x, y, w, h)&lt;br /&gt;
 1 (x, y, right, bottom)&lt;br /&gt;
&lt;br /&gt;
  (x, y )&amp;lt;------ w -------&amp;gt;&lt;br /&gt;
     |----------------|&lt;br /&gt;
     |                |&lt;br /&gt;
   h |                |&lt;br /&gt;
     |                |&lt;br /&gt;
     |________________|&lt;br /&gt;
                     (right, bottom)&lt;br /&gt;
&lt;br /&gt;
=== $setworldtransform(mode) ===&lt;br /&gt;
&lt;br /&gt;
Changing the coordinate system. We can draw a line in another coordinate system is not changed. Group should be useful when you do multiple tracks and draw MATAIDA whole. Enabled to view images. Popup prohibited. (TF see early examples.)&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0: default&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 The origin of each track (x, y) = (0,0), the top left of each track.&lt;br /&gt;
&lt;br /&gt;
 default&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: group common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Group and the origin of each track (x, y) = (0,0) Group and the upper left of the line.&lt;br /&gt;
* &#039;&#039;%el_height%=(%el_item_count2%+%el_group_row%)*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 common coordinate system group&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: item list of common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The origin of each track (x, y) = (0,0) and upper left of the group&#039;s first line of the track.&lt;br /&gt;
* &#039;&#039;%el_height%=%el_item_count2%*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 item list of common coordinate system&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
 (0,0)|----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
=== $enabledraw(mode) ===&lt;br /&gt;
&lt;br /&gt;
System function draw ($draw **** or $imageabs **) to control whether or not the drawing. Called back to the drawing of this function on / off. Mainly used to control the drawing of the empty line.&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
* &#039;&#039;0: disable the function of drawing&#039;&#039;&lt;br /&gt;
* &#039;&#039;1: Enable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &#039;&#039;$enabledraw(1)&#039;&#039;&lt;br /&gt;
* &#039;&#039;$enabledraw(%el_is_valid%)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour(index) ===&lt;br /&gt;
&lt;br /&gt;
The r-g-b color system in the form of returns.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index&#039;&#039;&#039;: [0-30] color index system&lt;br /&gt;
&lt;br /&gt;
=== $averagecolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Colour1 + colour2 +···) / N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $blendcolour(colour1,w1,colour2,w2,[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average weighted &#039;&#039;w1,w2[,···]&#039;&#039; color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $addcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Adds colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 + colour2 + ··· + colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $subcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Substracts colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 - colour2 - colour3···- colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $xorcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates XOR operatorion of a given color &#039;&#039;r-g-b&#039;&#039; sets. Returns only colour1 alpha channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;colour1 xor colour2 xor colour3···xor colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== General-purpose system functions ==&lt;br /&gt;
&lt;br /&gt;
The folowing functions are availble for the [Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] sections.&lt;br /&gt;
&lt;br /&gt;
=== $getgroupformat(group_index) ===&lt;br /&gt;
&lt;br /&gt;
group_index groups are specified in a group format and return the result as TF.&lt;br /&gt;
&lt;br /&gt;
group_index: to specify the group or what number (counting from 0).&lt;br /&gt;
´&lt;br /&gt;
&#039;&#039;%el_group_format% = $getgroupformat(%el_total_group_index%) relationship.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $findfile(path,[path2,path3,...]) ===&lt;br /&gt;
&lt;br /&gt;
Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, &amp;quot;false&amp;quot; returns). Path can be specified. The &#039;&#039;path&#039;&#039; allows wildcards.&lt;br /&gt;
&lt;br /&gt;
=== $el_scale(val,factor[,DIV]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates a share of a given value: &#039;&#039;val * factor/100&#039;&#039; or &#039;&#039;val * factor / DIV&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$el_scale(200,40)&#039;&#039; = 80&lt;br /&gt;
&lt;br /&gt;
* ??val and the overflow factor is too large.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDI drawing functions ==&lt;br /&gt;
&lt;br /&gt;
Using the Windows System Component [http://en.wikipedia.org/wiki/Graphics_Device_Interface GDI] to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).&lt;br /&gt;
&lt;br /&gt;
=== $drawtext(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI text drawing functions. Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
&lt;br /&gt;
=== $drawtextex(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI drawing functions text_2&lt;br /&gt;
Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
* Allow specified wrap wraparound (vcenter, bottom and exclusive)&lt;br /&gt;
* &#039;&#039;end_ellipsis&#039;&#039; If you clip text, replace the end of the text ...&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $gettextwidth(text,[FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $gettextheight([FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $fillrect(x,y,w,h,r-g-b,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Filled rectangle function&lt;br /&gt;
&lt;br /&gt;
=== $fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2) ===&lt;br /&gt;
&lt;br /&gt;
Function of the fill rectangle with rounded corners&lt;br /&gt;
&lt;br /&gt;
== Popup system functions ==&lt;br /&gt;
Valid for [Popup (Background)], [Popup (Track)].&lt;br /&gt;
&lt;br /&gt;
=== $popupsize(w,h) ===&lt;br /&gt;
&lt;br /&gt;
Pop-up function to reduce the size of the popup:&lt;br /&gt;
* W &amp;lt; max size (width)&lt;br /&gt;
* H &amp;lt; max size (height)&lt;br /&gt;
&lt;br /&gt;
=== $popuphide() ===&lt;br /&gt;
&lt;br /&gt;
Suppresses the pop up. At that point and call it once and decided not to pop up.&lt;br /&gt;
&lt;br /&gt;
=== $popuptracknum(num) ===&lt;br /&gt;
&lt;br /&gt;
The maximum number of tracks to reduce the num treatment. Popup (Background) only available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; drawstring with DrawText and drawtextex. Characters are drawn in different ways, good and bad points. And not even being able to function at all (probably) is not a bug. DrawText problem now is if I do not use.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside:&#039;&#039; I take the argument to the rgba color function in a format other than $ rgb (r, g, b) can be longer (should). DrawText The only argument in the text, $ rgb $ transition function and can specify the color using the function (should be).&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62133 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22647</id>
		<title>Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22647"/>
		<updated>2011-05-08T19:36:52Z</updated>

		<summary type="html">&lt;p&gt;Brother John: /* Setting up Menus and Items */ added some screenshots&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
* [http://www.foobar2000.org/ foobar2000 v0.9.5.1+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ELPlaylist Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
ELPlaylist panel provides a single column playlist for [[Columns UI]]. Each track in the playlist occupies a line; within that line you can position elements freely. ELPlaylist also allows grouping items together (e.g. the tracks of an album) and nesting groups (e.g. for multi-disc albums).&lt;br /&gt;
&lt;br /&gt;
In order to use ELPlaylist you need to setup your Columns UI layout accordingly and add an ELPlaylist panel in &#039;&#039;Columns UI configuration / Layout&#039;&#039;. To change the playlist settings and scripts, right-click on any ELPlaylist panel and choose &#039;&#039;Settings&#039;&#039; from the context menu.&lt;br /&gt;
&lt;br /&gt;
ELPlaylist can utilize foobar2000’s the built-in artwork reader. Depending on your configuration it can be accessed in the Columns UI Preference section (Artwork) or directly at the display preference page (Album Art).&lt;br /&gt;
 &lt;br /&gt;
In order to fully utilize ELPlaylist features and settings you should be familiar with [[Foobar2000:Title Formatting Reference|Title Formatting]] (TF). For further reading refer to the [[Foobar2000:Title Formatting Reference|Title Format reference]].&lt;br /&gt;
&lt;br /&gt;
The readme file for this reference was translated from &#039;&#039;foo_uie_elplaylist.dll v0.6.4.2beta&#039;&#039;. Current stable version is &#039;&#039;v0.6.9.0b (2010/07/30)&#039;&#039;. Current beta version is &#039;&#039;v0.6.9.1.2b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The formatting fields and functions provided by ELPlaylist are very similar to the [[Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)|panel stack splitter]] component, because both are developed by the same author, &#039;&#039;&#039;ssenna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements: foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
SDK version foobar2000 :2008-07-20 cui: 6.3&lt;br /&gt;
&lt;br /&gt;
== Setting up Menus and Items ==&lt;br /&gt;
&lt;br /&gt;
=== [Script Tab] ===&lt;br /&gt;
&lt;br /&gt;
In order to change &#039;&#039;&#039;ELPlaylist&#039;&#039;&#039; settings, right-click on any playlist item and choose the &#039;&#039;Settings&#039;&#039; dialog.&lt;br /&gt;
&lt;br /&gt;
The first tab &#039;&#039;Script&#039;&#039; is divided into 5 subsections:&lt;br /&gt;
&lt;br /&gt;
# Track list&lt;br /&gt;
# Group header&lt;br /&gt;
# Per second&lt;br /&gt;
# Popup backround &lt;br /&gt;
# Popup track&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-script.png]]&lt;br /&gt;
&lt;br /&gt;
Each section can be modified by using title format script and special ELPlaylist functions and fields. These section allow to customize editing every element of a playlist such as rows and group sections. Edits can be stored and organized in &#039;&#039;Titleformat Script Presets&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== [Track list] ====&lt;br /&gt;
 &lt;br /&gt;
To control the drawing of the track line Title Format. &lt;br /&gt;
&lt;br /&gt;
==== [Group header] ====&lt;br /&gt;
&lt;br /&gt;
To draw the header control group Title Format. &lt;br /&gt;
 &lt;br /&gt;
==== [Per Second] ====&lt;br /&gt;
 &lt;br /&gt;
To control the line drawn in the second track is updated play Title Format. This can be used to display now playing info.&lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Background)] ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up window to control the drawing of Title Format. Popup (Track) will be executed before. Most of the extended field use. &lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Track)] ====&lt;br /&gt;
 &lt;br /&gt;
Unit to control the drawing of the track pop-up window TF. Popup header when the group will be executed for each track in the group. Most of the extended field use. The origin of BOPPUAPPU, header or group, please send the track to determine &#039;&#039;%el_is_group%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Also, if the group header,% el_item_index% Please shift your position. &lt;br /&gt;
&lt;br /&gt;
Note: Popup after updates have been implemented in the version from the version that is not implemented, opens a dialog and set the default Popup Titleformat is no longer what it was reset, and is by design. In this state, and to save the settings, Popup will not appear on anything. Graphical Browser Popup features are quite helpful. &lt;br /&gt;
&lt;br /&gt;
In entering the default description is the assumption that there is a picture album. &lt;br /&gt;
* General-&amp;gt; title format preprocessor-&amp;gt; ART.PATH please set the path to the appropriate image. &lt;br /&gt;
* Example: &#039;&#039;C:\image\%album%.jpg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [Style Tab] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-style1.png]]&lt;br /&gt;
&lt;br /&gt;
This Tab allows to control a number of visual settings of the playlist. &lt;br /&gt;
* &#039;&#039;Custom background colour&#039;&#039;: Specify a custom background color. &lt;br /&gt;
** &#039;&#039;Total&#039;&#039;: Specifies the background color of the whole. &lt;br /&gt;
** &#039;&#039;Odd item&#039;&#039;: Specifies the background color and several odd. &lt;br /&gt;
** &#039;&#039;Even item&#039;&#039;: Specifies the background color for even-numbered lines. &lt;br /&gt;
** &#039;&#039;Selected item&#039;&#039;: Specifies the background color of selected rows. &lt;br /&gt;
** &#039;&#039;Playing item&#039;&#039;: Specifies the background color of the track playing. &lt;br /&gt;
** &#039;&#039;Selected playing item&#039;&#039;: Specifies the background color of selected tracks?KATSU play. &lt;br /&gt;
&lt;br /&gt;
Odd and even item for the right padding and left padding can be drawn in the area. Odd and even can be calculated by the list index: on when the odd / determined in an even row number of the list. Off time is determined by order of the group.&lt;br /&gt;
&lt;br /&gt;
Change to display the character, script editing only. &lt;br /&gt;
* Default font: &#039;&#039;Please specify the default font.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-style2.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pseudo transparent&#039;&#039;: Enables pseudo-transparent background. It tends to be a CPU demanding to process. (If the slowdown is severe, one solution is to narrow the viewing area.) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Enable Visual Style&#039;&#039;: The background of the line and automatically draws VisualStyle. Primarily for Windows Vista. After drawing a custom background colour, title format script will be drawn prior to evaluation. Text color does not change automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Scrollbar&#039;&#039;:  Status of the scroll bar settings: default (auto show / hide switch) / hide (displayed) / show (always displayed), School and set the volume (0 is the system default). &lt;br /&gt;
&lt;br /&gt;
===  [Grouping Tab] ===&lt;br /&gt;
 &lt;br /&gt;
And customized for the group, you can customize the display of the list across multiple lines. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping1.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Group by&#039;&#039;: Grouping can be stored as a set of presets.&lt;br /&gt;
* &#039;&#039;Group format&#039;&#039;:  Grouping for each track describes Titleformat. TF as a group that tracks the same flight as a result. The group format is the same, leaving tracks on the playlist that is treated as a different group. &#039;&#039;&amp;quot;|&amp;quot;&#039;&#039; in a group format to split, you can set up the group hierarchy.&lt;br /&gt;
 Example: &#039;&#039;%album artist%|%album%&#039;&#039;&lt;br /&gt;
The group with the child group, there are constraints that can not be assigned a truck. ?RI?TEYOU and tracks such groups, is inserted DAMIGURUPUHEDDA. Are written in some detail at the end of this text. &lt;br /&gt;
* &#039;&#039;Sort format:&#039;&#039; Sort in the playlist for Titleformat described. Execution of the sort is done from the context menu. Sorting is not done automatically. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping2.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Row height&#039;&#039;: In a list and set the height of the base line. &lt;br /&gt;
* &#039;&#039;Row number of group header&#039;&#039;: &amp;quot;row height&amp;quot; and set the height of the header unit of the group. Titleformat is enabled. TF figures as a result of the process (0-16) should return. The height of the header for this group, always an integral multiple of row height (0-16 times). (Note: the group with a track, group row is evaluated.)&lt;br /&gt;
* &#039;&#039;Minimum row number of group&#039;&#039;: You can set the minimum number of lines in each group. This can be used to ensures that images are displayed completely even if the number of rows would be too low otherwise. This section is &#039;&#039;Titleformat&#039;&#039; enabled and as a result of the process must return a value of 0. After grouping, this value is less than the number of tracks in the group, empty rows are automatically inserted. &#039;&#039;Note:&#039;&#039; the group with a track, min item num will be evaluated. The line is empty, Track list Titleformat at &#039;&#039;$enabledraw()&#039;&#039; as long as you do not use the feature will be drawn off. If you want to draw the line as well as other effective, &#039;&#039;$enabledraw(1)&#039;&#039; and, drawing on the features please. Track list Titleformat the empty line will be evaluated using only the last track of the group. &lt;br /&gt;
&lt;br /&gt;
[[Image:elplaylist-config-grouping3.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Playlist filter:&#039;&#039; enable playlist filter is on, the name of the playlist from the playlist when?RI?WATTA the group by preset can be selected automatically. enable all playlists in the playlist of all the active preset. If you enable only on the playlist name matches the specified preset is enabled. If you disable on the playlist name matches the specified preset is disabled. Preset determines the priority order of the list. The name of the playlist specified, &amp;quot;;&amp;quot; that can be separated by more than one. TF or wild card is invalid. &lt;br /&gt;
* &#039;&#039;Associated titleformat script name:&#039;&#039;  This preset tileformat scrpit???KETAI and the name of a single set. &lt;br /&gt;
* &#039;&#039;Enable playlist filter:&#039;&#039; Playlist from the playlist filter name to enable you to group by preset automatically selected. &lt;br /&gt;
* &#039;&#039;Prioritize active preset:&#039;&#039; Find a preset valid time has now selected the first group by preset priority.&lt;br /&gt;
&lt;br /&gt;
===  [Field definition Tab] ===&lt;br /&gt;
 &lt;br /&gt;
Title format preprocessor: Enables the definition of Titleformat fields that can be used in every subsection: &#039;&#039;[Track list] [Group header] [Per Second] [Popup (Background)] [Popup (Track)] [row number of group header] [minimum row number of group&#039;&#039;]. Before evaluating, field and displacement. &lt;br /&gt;
 &lt;br /&gt;
Titleformat each set may be useful to refer to a common code. &lt;br /&gt;
Example: Album art path should be available to each section. This defined by:&lt;br /&gt;
 &#039;&#039;&#039;foo&#039;&#039;&#039; : &#039;&#039;C:\%album%.jpg&#039;&#039; &lt;br /&gt;
Now in each section the field &#039;&#039;%Foo%&#039;&#039; will be substituted by &#039;&#039;C:\%album%.jpg&#039;&#039;. If the path changes in it needs to be changed in the &#039;&#039;Field definition&#039;&#039; section, only.&lt;br /&gt;
&lt;br /&gt;
===  [Behaviour Tab] ===&lt;br /&gt;
&lt;br /&gt;
This section allows to change the behavior of various playlist features:&lt;br /&gt;
* &#039;&#039;Click action:&#039;&#039;  You can change your behavior when you click on the playlist. &lt;br /&gt;
* &#039;&#039;Mouse hover action:&#039;&#039; You can run when the mouse stops for a while. &lt;br /&gt;
* &#039;&#039;Enable hover:&#039;&#039; Mouse hover action for on / off can be. &lt;br /&gt;
* &#039;&#039;Delay:&#039;&#039;  Will stop the mouse from the mouse hover action to implement a delay. &lt;br /&gt;
* &#039;&#039;Display only the focused group:&#039;&#039; Show only a focus group. Other panel playlists (Graphical Browser or) is predicated on collaboration. &lt;br /&gt;
* &#039;&#039;Collapse all groups when playlist is changed:&#039;&#039; Close the group by default. &lt;br /&gt;
* &#039;&#039;Threshold of number of groups:&#039;&#039; Close the Group when more than this number the number of groups. &lt;br /&gt;
* &#039;&#039;Auto-collapse:&#039;&#039; Close the Group other than focus groups.  This option is on a group header in a single click to see the track line / switch that you hide. Click the Action Group in the open does not close automatically. If you want to follow the track playback, Playback / Cursor Follows Playback Please use a combination. &lt;br /&gt;
* &#039;&#039;Allow collapsing group with no group header:&#039;&#039; No group header (group row 0) in the group to close it. &lt;br /&gt;
* &#039;&#039;Disable focus change by single click at group header:&#039;&#039; Group headers and empty line in a single click when you stop to move the focus. &lt;br /&gt;
* &#039;&#039;Update every second:&#039;&#039;  The tracks play Enabling Per Second. More precisely, the second update of the drawing of the unit on / off only. &lt;br /&gt;
* &#039;&#039;Move items with drag and drop:&#039;&#039; Drag &amp;amp; Drop the selected tracks to go. If this option is turned off, press [Alt] while using  Drag &amp;amp; Drop to move items. &lt;br /&gt;
* &#039;&#039;Enable incremental search:&#039;&#039; According to key inputs, group format (&#039;&#039;%el_group_format%&#039;&#039;) and incremental search. Keyword search is logged in the status bar. Also, you did not enter a second valid key, your search terms are automatically reset. See also section [[shortcuts]]. IME in XP then I will support as possible to find it in Japanese.  Alphabet in Vista (ASCII) may only search. (Originally I worked with Vista.) If you want to search for Vista in non-ASCII, Ctrl-f search DAIAROGUBESU it is possible, please use there.&lt;br /&gt;
* &#039;&#039;Resize quality:&#039;&#039; Enlarge Image / You can set the quality down. If you just want a quality, HighQualityBicubic would be good if you have. &lt;br /&gt;
* &#039;&#039;Context menu:&#039;&#039; To set up the each item of the right-click menu and to display the item or not. &lt;br /&gt;
&lt;br /&gt;
=== [Misc Tab] ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== Popup ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up mouse hover action is executed.&lt;br /&gt;
 &lt;br /&gt;
* Max size: The maximum size of the popup. Titleformat small can. &lt;br /&gt;
* Popup opacity: Opacity of the popup. 0 will be completely transparent and you will not be displayed. &lt;br /&gt;
* Fade-in: TSUKEMASU a fade effect when viewed. I made quite appropriate. (Vista will fade in the default?)&lt;br /&gt;
* Enable colorkey: Set the color key. The transparent color is set. Same background color (default) if the background is transparent. However, it is anti-aliasing, transparency is not beautiful. &lt;br /&gt;
* Prevent going outside of display: To avoid as much as possible out of the pop-up display. Multi-Display is not supported.&lt;br /&gt;
* Max track num: Popup (Track) limit the number of trucks running.&lt;br /&gt;
 Popup the Titleformat script, &lt;br /&gt;
 Popup (Background) -&amp;gt; Popup (Track) -&amp;gt; Popup (Track) -&amp;gt;···&lt;br /&gt;
 Runs. &lt;br /&gt;
* Additional sort format: Sort of context menu to add the item to set the sort format. Group by preset and is independent. &lt;br /&gt;
&lt;br /&gt;
=== Keyboard Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
  &lt;br /&gt;
* Ctrl-c: Copy&lt;br /&gt;
* Ctrl-v: Paste&lt;br /&gt;
* Ctrl-x: Cut&lt;br /&gt;
* Ctrl-a: select all&lt;br /&gt;
* Ctrl-f: Find dialog (% el_group_format% of your search)&lt;br /&gt;
* Ctrl-g: Go to the following groups:&lt;br /&gt;
* Ctrl-b: Go to the previous group&lt;br /&gt;
* Delete: remove a track from the playlist&lt;br /&gt;
* Alt-[Up] / [Down]: Move the selected track ( &amp;quot;hide all items when playlist is changed&amp;quot; is that it is off)&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; foobar2000 body of General-&amp;gt; Keyboard Shortcuts settings will take precedence. &lt;br /&gt;
&lt;br /&gt;
[Alt] + Drag &amp;amp; Drop, you can move the selected tracks. &lt;br /&gt;
&lt;br /&gt;
==== Incremental search ====&lt;br /&gt;
 &lt;br /&gt;
Keystrokes are matched against group format (&#039;&#039;% el_group_format%&#039;&#039;) by incremental search. (Incremental search has to be enabled though) &lt;br /&gt;
&lt;br /&gt;
The following shortcuts are available. &lt;br /&gt;
* Ctrl-e: Reset the search (previous keystrokes)&lt;br /&gt;
* Ctrl-d: Find Next. (Ctrl-s if I could spare a···) &lt;br /&gt;
* Ctrl-r: Find&lt;br /&gt;
&lt;br /&gt;
=== Main Menu Options (View-&amp;gt;ELPlaylist) ===&lt;br /&gt;
&lt;br /&gt;
All panels will be affected by selecting a menu item here. &lt;br /&gt;
* Show now playing: Scroll to the track so that you are playing.&lt;br /&gt;
* Show focused item: Scroll to see the focus track.&lt;br /&gt;
* Expand all groups: Expand all groups.&lt;br /&gt;
* Collapse all groups: Close all of the groups.&lt;br /&gt;
* Refresh: redraw causes the explicit.&lt;br /&gt;
&lt;br /&gt;
=== Extended Command Reference ===&lt;br /&gt;
 &lt;br /&gt;
Please refer also to foobar&#039;s default [[Foobar2000:Title Formatting Reference|Title Format]] Reference&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
ELPlaylist provides custom fields that can be used just like normal title formatting fields. Not all custom fields are available to all scripts. See below for details.&lt;br /&gt;
&lt;br /&gt;
===%el_isplaying%===&lt;br /&gt;
Returns true if a track is currently playing.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_selected%===&lt;br /&gt;
Returns true for selected lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
click action of the Select group whether the selected group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_focused%===&lt;br /&gt;
Returns true for focused lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_width%===&lt;br /&gt;
Returns the width of the line’s viewing area.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_height%===&lt;br /&gt;
Returns the height of the line’s viewing area. Note that &#039;&#039;%el_height%&#039;&#039; may return different values for track lines and group headers.&lt;br /&gt;
&lt;br /&gt;
Track lines: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Group headers: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; &amp;amp;times; &#039;&#039;%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$setworldtransform()&#039;&#039; is affected.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_row_height%===&lt;br /&gt;
Returns the base line’s height. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_group_row%===&lt;br /&gt;
Returns the number of rows in the group header. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count%===&lt;br /&gt;
Returns the number of tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count2%===&lt;br /&gt;
Returns the number of empty tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of tracks processed in Popup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_direct_item_count%===&lt;br /&gt;
Returns the number of tracks within a group including all subgroups. Except in special cases, a group with a sub-group will be 0. If the group does not have a sub-group &#039;&#039;%el_direct_item_count&#039;&#039;% should be the same as &#039;&#039;%el_item_count%&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index%===&lt;br /&gt;
The index tracks the group (counting from 0) The line does not count up empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index2%===&lt;br /&gt;
The index tracks the group (counting from 0) Count up the line is empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_count%===&lt;br /&gt;
Number of groups (number of headers for all groups)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_index%===&lt;br /&gt;
Index group (index group headers in the list)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_count%===&lt;br /&gt;
Number of groups that belong to the same parent group&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_index%===&lt;br /&gt;
The index of the group as seen from a parent group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_depth%===&lt;br /&gt;
The depth of the current group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count%===&lt;br /&gt;
The number of subgroups Number of groups of children, grandchildren and the number of groups are not counted.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count2%===&lt;br /&gt;
Cumulative number of subgroups Be counted against the group after the grandchildren.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_format%===&lt;br /&gt;
The current group of the TF group format in the process and return the result.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_collapsed% (%el_is_hide_item%)===&lt;br /&gt;
Determines whether the group is collapsed. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_is_empty%===&lt;br /&gt;
Empty or no go. (Just opposite &#039;&#039;%el_is_valid%&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Well if you can not configure the sub-group structure, or whether groups can go into a dummy. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_valid%===&lt;br /&gt;
Valid (empty lines are not), or no go. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_noheader%===&lt;br /&gt;
Do not you have a group header (&#039;&#039;%El_group_row%&#039;&#039; to 0 if 1) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length%===&lt;br /&gt;
Total length of the track of the group &#039;&#039;[hh:]mm:ss&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length_seconds%===&lt;br /&gt;
Total length of the track of the group (s) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_backcolour%===&lt;br /&gt;
Returns the background color in &#039;&#039;r-g-b&#039;&#039; format. You can create an &#039;&#039;r-g-b-a&#039;&#039; value by simply adding the alpha value, e.g. &#039;&#039;%el_backcolour%-192&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_index%===&lt;br /&gt;
The current group by the preset index returns.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_name%===&lt;br /&gt;
Returns the current group by the preset name.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_group%===&lt;br /&gt;
Popup whether the group header.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_popup_width%, %el_popup_height%===&lt;br /&gt;
Size pop-up at that time. &#039;&#039;%el_width%&#039;&#039;, &#039;&#039;%el_height%&#039;&#039; note that the max size is returned. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_themed%===&lt;br /&gt;
Returns true if Visual Styles are enabled in ELPlaylist’s options.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Functions (Draw control) ==&lt;br /&gt;
&lt;br /&gt;
[Track list], [Group header], [Per Second], [Popup] valid.&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Font settings.&lt;br /&gt;
OPTIONS: bold italic underline strikeout&lt;br /&gt;
&lt;br /&gt;
Example: $font(Tahoma,10,bold italic)&lt;br /&gt;
&lt;br /&gt;
=== $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) ===&lt;br /&gt;
&lt;br /&gt;
Draws a string at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039;. The size of the text field is defined by width &#039;&#039;&#039;(W)&#039;&#039;&#039; and height &#039;&#039;&#039;(H)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; This function is a string and there is also a GDI version of the same functions available [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] and [[#$drawtextex(text,x,y,W,H,r-g-b,OPTIONS) | $drawtextex]]. This function might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
Align specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Align: &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align: &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* &#039;&#039;nowrap&#039;&#039;: disables text wrap&lt;br /&gt;
* &#039;&#039;noaa&#039;&#039;: ClearType and disable anti-aliasing.&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* &#039;&#039;hq&#039;&#039;: high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
* &#039;&#039;glow_aa&#039;&#039; glow option to use a special mode. (noaa, aa, hq exclusive)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;trimchar&#039;&#039; and &#039;&#039;trimword&#039;&#039;: Trimming  of the text to fit the display range&lt;br /&gt;
* &#039;&#039;elipchar&#039;&#039; and &#039;&#039;elipword&#039;&#039;: Shortens the text to fit the the display range. If set the end of the line will be replaced with &#039;&#039;&amp;quot;···&amp;quot;&#039;&#039;&lt;br /&gt;
* &#039;&#039;mempos getlastpos&#039;&#039;: to be able to get the coordinates of the drawing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; - specifying the glow effect (experimental stage):&lt;br /&gt;
* &#039;&#039;glow:expand:colour[:strength]&#039;&#039;: glow options&lt;br /&gt;
** &#039;&#039;Expand&#039;&#039; - [0-5]&lt;br /&gt;
** &#039;&#039;Colour&#039;&#039; - r-g-b&lt;br /&gt;
** &#039;&#039;Strength&#039;&#039; - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* &#039;&#039;X&#039;&#039; - glow in the horizontal offset&lt;br /&gt;
* &#039;&#039;Y&#039;&#039; - glow in the vertical offset&lt;br /&gt;
&lt;br /&gt;
Glow is a heavy process. (Especially the pseudo transparent)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,)&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,left vcenter,glow :2:255-255-255: 3)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow :2:32-168-268: 1 offset: 1:1)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,elipchar)&lt;br /&gt;
&lt;br /&gt;
=== $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Rectangular drawing function.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* Aa - enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawrect(0,50,50,50,255-128-64-128,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with gradient fill at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;r1-g1-b1-a1&#039;&#039;&#039; gradient start color&lt;br /&gt;
* &#039;&#039;&#039;r2-g2-b2-a2&#039;&#039;&#039; peak color gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;vertical&#039;&#039;: vertical gradient&lt;br /&gt;
* &#039;&#039;horizontal&#039;&#039;: horizontal gradient&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
* &#039;&#039;nonlinear&#039;&#039;: nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PEAK&#039;&#039;&#039;: 0-100&lt;br /&gt;
* Shifted the peak position of the gradient.&lt;br /&gt;
** 0 by default, to end at peak color.&lt;br /&gt;
** 50 When is the peak of color.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)&lt;br /&gt;
&lt;br /&gt;
=== $drawblurrect(x,y,w,h,colour,level) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with a blured outline at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Level&#039;&#039;&#039; [1-7]: blur level&lt;br /&gt;
&lt;br /&gt;
=== $drawfocusrect(x,y,w,h) ===&lt;br /&gt;
&lt;br /&gt;
Function to draw a dotted line shows the focus rectangle frame specified.&lt;br /&gt;
&lt;br /&gt;
=== $drawthemerect(x,y,w,h,control_name,partId,stateId) ===&lt;br /&gt;
&lt;br /&gt;
Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.&lt;br /&gt;
&lt;br /&gt;
control_name:&lt;br /&gt;
* Specify the name of the type of control you want to draw. One of the following:&lt;br /&gt;
* window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar&lt;br /&gt;
* edit combobox taskbar taskband startpanel explorerbar&lt;br /&gt;
&lt;br /&gt;
PartId:&lt;br /&gt;
* the parts you want to draw ID. Could we use the following number in the range for each control as a guide.&lt;br /&gt;
* In most cases, less than what I have defined.&lt;br /&gt;
* Window: 1-37&lt;br /&gt;
* Button rebar listview tooltip: 1-5&lt;br /&gt;
* Toolbar: 1-6&lt;br /&gt;
* Status treeview taskband: 1-3&lt;br /&gt;
* Header spin: 1-4&lt;br /&gt;
* Progress: 1-4&lt;br /&gt;
* Tab trackbar scrollbar :1-10&lt;br /&gt;
* Edit: 1-2&lt;br /&gt;
* Combobox: 1&lt;br /&gt;
* Taskbar: 1-8&lt;br /&gt;
* Startpanel: 1-11&lt;br /&gt;
* Explorerbar: 1-12&lt;br /&gt;
&lt;br /&gt;
StateId:&lt;br /&gt;
* the state and selected ID. If the component does not have to specify the state is 0.&lt;br /&gt;
* stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Vista Then, apply the style of Windows Explorer.&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,1) // default&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,2) // hot&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,3) // selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,4) // disable&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,5) // notfocused selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,6) // hot selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,1,listview,7,0) //group header line&lt;br /&gt;
&lt;br /&gt;
=== $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).&lt;br /&gt;
* In order to achieve a decent effect the condition w&amp;gt;4*w2 and h&amp;gt;4*h2 should be matched.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)&lt;br /&gt;
&lt;br /&gt;
=== $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws an ellipse at coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border Color&lt;br /&gt;
&lt;br /&gt;
=== $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Draw a triangle and vertex function.&lt;br /&gt;
* &#039;&#039;&#039;(x1,y1),(x2,y2),(x3,y3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; Border Color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawtriangle(10,5,20,10,10,15200-100-100,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039; specified by &#039;&#039;&#039;path&#039;&#039;&#039;. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.&amp;lt;!-- (w,h) in the original image size is omitted, and the cache.  (However, w, h if you are already cached in memory and then the image size to be directly cached)--&amp;gt;&lt;br /&gt;
&amp;lt;!--?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
&#039;&#039;Nodisplay&#039;&#039;, &#039;&#039;noexpansion&#039;&#039; and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
If there are images true, if false is returned.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;path&#039;&#039;&#039;:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide image, read only in memory&lt;br /&gt;
* &#039;&#039;noexpansion&#039;&#039;: image will not be expanded if smaller than the specified image size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;alignment&amp;gt;&lt;br /&gt;
* &#039;&#039;left right&#039;&#039;: horizontal alignment&lt;br /&gt;
* &#039;&#039;top bottom&#039;&#039;: vertical alignment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* &#039;&#039;wc&#039;&#039;: enables wildcard characters (*,?).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read mode&amp;gt;&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;: archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.&lt;br /&gt;
** Example: &#039;&#039;C:\aaa\image.zip|bbb/ccc.jpg&#039;&#039;&lt;br /&gt;
* &#039;&#039;icon&#039;&#039;: path is specified in the icon file (*.ico) to appear.&lt;br /&gt;
* &#039;&#039;artreader&#039;&#039;: Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.&lt;br /&gt;
** Audio &#039;&#039;artreader_front&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_back&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_disc&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_icon&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* (artreader_*** are currently not recommended optionss because these seem to be slow)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;n&#039;&#039;&#039;: rotateflip Index for:&lt;br /&gt;
* &#039;&#039;1&#039;&#039;: 90°&lt;br /&gt;
* &#039;&#039;2&#039;&#039;: 180°&lt;br /&gt;
* &#039;&#039;3&#039;&#039;: 270°&lt;br /&gt;
* &#039;&#039;4&#039;&#039;: flip horizontal&lt;br /&gt;
* &#039;&#039;5&#039;&#039;: 90° + flip horizontal&lt;br /&gt;
* &#039;&#039;6&#039;&#039;: Flipped vertically&lt;br /&gt;
* &#039;&#039;7&#039;&#039;: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* &#039;&#039;0-255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; (shadow effect)&lt;br /&gt;
* &#039;&#039;Glow:expand:colour&#039;&#039;&lt;br /&gt;
* &#039;&#039;Offset:x:y&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,left top)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.*,wc,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)&lt;br /&gt;
* $imageabs(10,10,50,50,%path%,artreader)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.&lt;br /&gt;
In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039; (imageabs):&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not maintain the aspect ratio&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide read only memory&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;&lt;br /&gt;
* &#039;&#039;Icon&#039;&#039;&lt;br /&gt;
* &#039;&#039;Horizontal Alignment&#039;&#039;&lt;br /&gt;
** left&lt;br /&gt;
** hcener&lt;br /&gt;
** right&lt;br /&gt;
* &#039;&#039;Vertical Alignment&#039;&#039;&lt;br /&gt;
** top&lt;br /&gt;
** vcenter&lt;br /&gt;
** bottom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; rotateflip Index for:&lt;br /&gt;
* 1: 90°&lt;br /&gt;
* 2: 180°&lt;br /&gt;
* 3: 270°&lt;br /&gt;
* 4: flip horizontal&lt;br /&gt;
* 5: 90° + flip horizontal&lt;br /&gt;
* 6: Flipped vertically&lt;br /&gt;
* 7: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)&lt;br /&gt;
* $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,)  ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )&lt;br /&gt;
* $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,)  ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions ==&lt;br /&gt;
&lt;br /&gt;
=== $getlastpos(elem) ===&lt;br /&gt;
&lt;br /&gt;
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, &#039;&#039;[[#$measurestring(text,x,y,W,H,OPTIONS) | $measurestring]]&#039;&#039; use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.&lt;br /&gt;
&lt;br /&gt;
Elem element to retrieve.&lt;br /&gt;
 X: left&lt;br /&gt;
 Y: top&lt;br /&gt;
 W: width&lt;br /&gt;
 H: height&lt;br /&gt;
 R: right&lt;br /&gt;
 B: bottom&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 $setworldtransform(2)&lt;br /&gt;
 $puts(img_path,C:\%album%.jpg)&lt;br /&gt;
 $imageabs(10,4,100,100,$get(img_path),top noexpansion,)&lt;br /&gt;
 $imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)&lt;br /&gt;
 $gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)&lt;br /&gt;
 $setworldtransform(0)&lt;br /&gt;
&lt;br /&gt;
=== $measurestring(text,x,y,W,H,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$drawstring&#039;&#039; to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get &#039;&#039;[[#$getlastpos(elem) | $getlastpos]]&#039;&#039;. &#039;&#039;&#039;OPTIONS&#039;&#039;&#039; is the same as $drawstring. If $drawstring uses the &#039;&#039;glow_aa&#039;&#039; or &#039;&#039;glow&#039;&#039; options, the &#039;&#039;$measurestring&#039;&#039; value returned may not be accurate.&lt;br /&gt;
&lt;br /&gt;
=== $getimagewidth(path),$getimageheight(path) ===&lt;br /&gt;
&lt;br /&gt;
The image path is specified in &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. &#039;&#039;nokeepaspect&#039;&#039; may be able to calculate the aspect ratio should be applied.&lt;br /&gt;
&lt;br /&gt;
=== $setcoordinate(mode) ===&lt;br /&gt;
&lt;br /&gt;
$setcoordinate(0,X,Y,W,H)&lt;br /&gt;
$setcoordinate(1,X,Y,R,B)&lt;br /&gt;
&lt;br /&gt;
Allows in a drawing function to transfer the argument &#039;&#039;x,y,w,h&#039;&#039; to &#039;&#039;x,y,right,bottom&#039;&#039;.&lt;br /&gt;
&#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled. The X, Y, W, H is specified, you can change the default position if the specified coordinates omitted in the drawing functions. &#039;&#039;$imageab&#039;&#039;, &#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled.&lt;br /&gt;
&lt;br /&gt;
Mode: Specifies the coordinate mode&lt;br /&gt;
&lt;br /&gt;
 0 default (x, y, w, h)&lt;br /&gt;
 1 (x, y, right, bottom)&lt;br /&gt;
&lt;br /&gt;
  (x, y )&amp;lt;------ w -------&amp;gt;&lt;br /&gt;
     |----------------|&lt;br /&gt;
     |                |&lt;br /&gt;
   h |                |&lt;br /&gt;
     |                |&lt;br /&gt;
     |________________|&lt;br /&gt;
                     (right, bottom)&lt;br /&gt;
&lt;br /&gt;
=== $setworldtransform(mode) ===&lt;br /&gt;
&lt;br /&gt;
Changing the coordinate system. We can draw a line in another coordinate system is not changed. Group should be useful when you do multiple tracks and draw MATAIDA whole. Enabled to view images. Popup prohibited. (TF see early examples.)&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0: default&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 The origin of each track (x, y) = (0,0), the top left of each track.&lt;br /&gt;
&lt;br /&gt;
 default&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: group common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Group and the origin of each track (x, y) = (0,0) Group and the upper left of the line.&lt;br /&gt;
* &#039;&#039;%el_height%=(%el_item_count2%+%el_group_row%)*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 common coordinate system group&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: item list of common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The origin of each track (x, y) = (0,0) and upper left of the group&#039;s first line of the track.&lt;br /&gt;
* &#039;&#039;%el_height%=%el_item_count2%*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 item list of common coordinate system&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
 (0,0)|----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
=== $enabledraw(mode) ===&lt;br /&gt;
&lt;br /&gt;
System function draw ($draw **** or $imageabs **) to control whether or not the drawing. Called back to the drawing of this function on / off. Mainly used to control the drawing of the empty line.&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
* &#039;&#039;0: disable the function of drawing&#039;&#039;&lt;br /&gt;
* &#039;&#039;1: Enable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &#039;&#039;$enabledraw(1)&#039;&#039;&lt;br /&gt;
* &#039;&#039;$enabledraw(%el_is_valid%)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour(index) ===&lt;br /&gt;
&lt;br /&gt;
The r-g-b color system in the form of returns.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index&#039;&#039;&#039;: [0-30] color index system&lt;br /&gt;
&lt;br /&gt;
=== $averagecolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Colour1 + colour2 +···) / N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $blendcolour(colour1,w1,colour2,w2,[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average weighted &#039;&#039;w1,w2[,···]&#039;&#039; color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $addcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Adds colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 + colour2 + ··· + colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $subcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Substracts colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 - colour2 - colour3···- colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $xorcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates XOR operatorion of a given color &#039;&#039;r-g-b&#039;&#039; sets. Returns only colour1 alpha channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;colour1 xor colour2 xor colour3···xor colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== General-purpose system functions ==&lt;br /&gt;
&lt;br /&gt;
The folowing functions are availble for the [Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] sections.&lt;br /&gt;
&lt;br /&gt;
=== $getgroupformat(group_index) ===&lt;br /&gt;
&lt;br /&gt;
group_index groups are specified in a group format and return the result as TF.&lt;br /&gt;
&lt;br /&gt;
group_index: to specify the group or what number (counting from 0).&lt;br /&gt;
´&lt;br /&gt;
&#039;&#039;%el_group_format% = $getgroupformat(%el_total_group_index%) relationship.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $findfile(path,[path2,path3,...]) ===&lt;br /&gt;
&lt;br /&gt;
Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, &amp;quot;false&amp;quot; returns). Path can be specified. The &#039;&#039;path&#039;&#039; allows wildcards.&lt;br /&gt;
&lt;br /&gt;
=== $el_scale(val,factor[,DIV]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates a share of a given value: &#039;&#039;val * factor/100&#039;&#039; or &#039;&#039;val * factor / DIV&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$el_scale(200,40)&#039;&#039; = 80&lt;br /&gt;
&lt;br /&gt;
* ??val and the overflow factor is too large.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDI drawing functions ==&lt;br /&gt;
&lt;br /&gt;
Using the Windows System Component [http://en.wikipedia.org/wiki/Graphics_Device_Interface GDI] to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).&lt;br /&gt;
&lt;br /&gt;
=== $drawtext(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI text drawing functions. Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
&lt;br /&gt;
=== $drawtextex(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI drawing functions text_2&lt;br /&gt;
Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
* Allow specified wrap wraparound (vcenter, bottom and exclusive)&lt;br /&gt;
* &#039;&#039;end_ellipsis&#039;&#039; If you clip text, replace the end of the text ...&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $gettextwidth(text,[FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $gettextheight([FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $fillrect(x,y,w,h,r-g-b,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Filled rectangle function&lt;br /&gt;
&lt;br /&gt;
=== $fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2) ===&lt;br /&gt;
&lt;br /&gt;
Function of the fill rectangle with rounded corners&lt;br /&gt;
&lt;br /&gt;
== Popup system functions ==&lt;br /&gt;
Valid for [Popup (Background)], [Popup (Track)].&lt;br /&gt;
&lt;br /&gt;
=== $popupsize(w,h) ===&lt;br /&gt;
&lt;br /&gt;
Pop-up function to reduce the size of the popup:&lt;br /&gt;
* W &amp;lt; max size (width)&lt;br /&gt;
* H &amp;lt; max size (height)&lt;br /&gt;
&lt;br /&gt;
=== $popuphide() ===&lt;br /&gt;
&lt;br /&gt;
Suppresses the pop up. At that point and call it once and decided not to pop up.&lt;br /&gt;
&lt;br /&gt;
=== $popuptracknum(num) ===&lt;br /&gt;
&lt;br /&gt;
The maximum number of tracks to reduce the num treatment. Popup (Background) only available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; drawstring with DrawText and drawtextex. Characters are drawn in different ways, good and bad points. And not even being able to function at all (probably) is not a bug. DrawText problem now is if I do not use.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside:&#039;&#039; I take the argument to the rgba color function in a format other than $ rgb (r, g, b) can be longer (should). DrawText The only argument in the text, $ rgb $ transition function and can specify the color using the function (should be).&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62133 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping3.png&amp;diff=22646</id>
		<title>File:Elplaylist-config-grouping3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping3.png&amp;diff=22646"/>
		<updated>2011-05-08T19:36:07Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping2.png&amp;diff=22645</id>
		<title>File:Elplaylist-config-grouping2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping2.png&amp;diff=22645"/>
		<updated>2011-05-08T19:35:55Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping1.png&amp;diff=22644</id>
		<title>File:Elplaylist-config-grouping1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-grouping1.png&amp;diff=22644"/>
		<updated>2011-05-08T19:35:46Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-style2.png&amp;diff=22643</id>
		<title>File:Elplaylist-config-style2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-style2.png&amp;diff=22643"/>
		<updated>2011-05-08T19:35:31Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-style1.png&amp;diff=22642</id>
		<title>File:Elplaylist-config-style1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-style1.png&amp;diff=22642"/>
		<updated>2011-05-08T19:35:06Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-script.png&amp;diff=22641</id>
		<title>File:Elplaylist-config-script.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Elplaylist-config-script.png&amp;diff=22641"/>
		<updated>2011-05-08T19:34:43Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio_Knowledgebase:Sandbox&amp;diff=22640</id>
		<title>Hydrogenaudio Knowledgebase:Sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio_Knowledgebase:Sandbox&amp;diff=22640"/>
		<updated>2011-05-08T18:15:56Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin: 1em; padding: 1em; border:1px solid #999&amp;quot;&amp;gt;&lt;br /&gt;
Article text{{ref|reference_name_A|a}} more text{{ref|reference_name_B|b}} more text {{ref|reference_name_C|c|noid=noid}}.&lt;br /&gt;
*Bulleted text{{ref|reference_name_B|b|noid=noid}}&lt;br /&gt;
*Bulleted text{{ref|reference_name_C|c}}.&lt;br /&gt;
*&lt;br /&gt;
*intervening text&lt;br /&gt;
*&lt;br /&gt;
*{{note|reference_name_A|a}}Text for note a.&lt;br /&gt;
*{{note|reference_name_B|b}}Text for note b.&lt;br /&gt;
*{{note|reference_name_C|c|Text for note c (with extended highlighting).}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lkhjijhglkjh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sqrt{12}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 diff = 10 × log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;(P&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; / P&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;)&lt;br /&gt;
 &lt;br /&gt;
 diff = 10 × log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;(p&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; / p&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
 &lt;br /&gt;
 diff = 20 × log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;(p&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; / p&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;)  because log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;(a&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) = 2 × log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt;(a)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;{diff} = 10 \cdot log_{10}\left(\frac{P_2}{P_1}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;{diff} = 10 \cdot log_{10}\left(\frac{p_2^2}{p_1^2}\right )&amp;lt;/math&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;{diff} = 20 \cdot log_{10}\left(\frac{p_2}{p_1}\right )&amp;lt;/math&amp;gt; because &amp;lt;math&amp;gt;log_{10}(a^2) = 2 \cdot log_{10}(a)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;some text that is not formated&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sqrt{5}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_{n=0}^\infty \frac{a^n}{n!}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\lim_{x\to\infty}f(x)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Does things work after update someone wonders...&lt;br /&gt;
Hope the upgrade works!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a^7&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\sqrt{7}&amp;lt;/math&amp;gt;&lt;br /&gt;
test&lt;br /&gt;
testing plugin&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Multiplication table&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times; !! 1 !! 2 !! 3&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| 1 || 2 || 3&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| 2 || 4 || 6&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| 3 || 6 || 9&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| 4 || 8 || 12&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| 5 || 10 || 15&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Infobox Software|&lt;br /&gt;
|name = foobar2000&lt;br /&gt;
|screenshot = [[Image:Foobar2000v0.9.png|250px]]&lt;br /&gt;
|caption = Screenshot of foobar2000 v0.9 using the default user interface&lt;br /&gt;
|maintainer = Peter Pawlowski&lt;br /&gt;
|operating_system = [[Microsoft Windows|Windows]]&lt;br /&gt;
|use = [[Audio player (software)|Audio player]]&lt;br /&gt;
|license = [[Proprietary software|Proprietary]], [[BSD license|BSD]]&lt;br /&gt;
|website = [http://www.foobar2000.org/ www.foobar2000.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
this ist a test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;a^6&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\sum_{n=15}^\infty \frac{a^n}{n!}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Comparison of CD rippers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22639</id>
		<title>Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22639"/>
		<updated>2011-05-08T17:42:19Z</updated>

		<summary type="html">&lt;p&gt;Brother John: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
* [http://www.foobar2000.org/ foobar2000 v0.9.5.1+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ELPlaylist Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
ELPlaylist panel provides a single column playlist for [[Columns UI]]. Each track in the playlist occupies a line; within that line you can position elements freely. ELPlaylist also allows grouping items together (e.g. the tracks of an album) and nesting groups (e.g. for multi-disc albums).&lt;br /&gt;
&lt;br /&gt;
In order to use ELPlaylist you need to setup your Columns UI layout accordingly and add an ELPlaylist panel in &#039;&#039;Columns UI configuration / Layout&#039;&#039;. To change the playlist settings and scripts, right-click on any ELPlaylist panel and choose &#039;&#039;Settings&#039;&#039; from the context menu.&lt;br /&gt;
&lt;br /&gt;
ELPlaylist can utilize foobar2000’s the built-in artwork reader. Depending on your configuration it can be accessed in the Columns UI Preference section (Artwork) or directly at the display preference page (Album Art).&lt;br /&gt;
 &lt;br /&gt;
In order to fully utilize ELPlaylist features and settings you should be familiar with [[Foobar2000:Title Formatting Reference|Title Formatting]] (TF). For further reading refer to the [[Foobar2000:Title Formatting Reference|Title Format reference]].&lt;br /&gt;
&lt;br /&gt;
The readme file for this reference was translated from &#039;&#039;foo_uie_elplaylist.dll v0.6.4.2beta&#039;&#039;. Current stable version is &#039;&#039;v0.6.9.0b (2010/07/30)&#039;&#039;. Current beta version is &#039;&#039;v0.6.9.1.2b&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The formatting fields and functions provided by ELPlaylist are very similar to the [[Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)|panel stack splitter]] component, because both are developed by the same author, &#039;&#039;&#039;ssenna&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements: foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
SDK version foobar2000 :2008-07-20 cui: 6.3&lt;br /&gt;
&lt;br /&gt;
== Setting up Menus and Items ==&lt;br /&gt;
&lt;br /&gt;
=== [Script Tab] ===&lt;br /&gt;
&lt;br /&gt;
In order to change &#039;&#039;&#039;ELPlaylist&#039;&#039;&#039; settings, right-click on any playlist item and choose the &#039;&#039;Settings&#039;&#039; dialog.&lt;br /&gt;
&lt;br /&gt;
The first tab &#039;&#039;Script&#039;&#039; is divided into 5 subsections:&lt;br /&gt;
&lt;br /&gt;
# Track list&lt;br /&gt;
# Group header&lt;br /&gt;
# Per second&lt;br /&gt;
# Popup backround &lt;br /&gt;
# Popup track&lt;br /&gt;
&lt;br /&gt;
Each section can be modified by using title format script and special ELPlaylist functions and fields. These section allow to customize editing every element of a playlist such as rows and group sections. Edits can be stored and organized in &#039;&#039;Titleformat Script Presets&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== [Track list] ====&lt;br /&gt;
 &lt;br /&gt;
To control the drawing of the track line Title Format. &lt;br /&gt;
&lt;br /&gt;
==== [Group header] ====&lt;br /&gt;
&lt;br /&gt;
To draw the header control group Title Format. &lt;br /&gt;
 &lt;br /&gt;
==== [Per Second] ====&lt;br /&gt;
 &lt;br /&gt;
To control the line drawn in the second track is updated play Title Format. This can be used to display now playing info.&lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Background)] ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up window to control the drawing of Title Format. Popup (Track) will be executed before. Most of the extended field use. &lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Track)] ====&lt;br /&gt;
 &lt;br /&gt;
Unit to control the drawing of the track pop-up window TF. Popup header when the group will be executed for each track in the group. Most of the extended field use. The origin of BOPPUAPPU, header or group, please send the track to determine &#039;&#039;%el_is_group%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Also, if the group header,% el_item_index% Please shift your position. &lt;br /&gt;
&lt;br /&gt;
Note: Popup after updates have been implemented in the version from the version that is not implemented, opens a dialog and set the default Popup Titleformat is no longer what it was reset, and is by design. In this state, and to save the settings, Popup will not appear on anything. Graphical Browser Popup features are quite helpful. &lt;br /&gt;
&lt;br /&gt;
In entering the default description is the assumption that there is a picture album. &lt;br /&gt;
* General-&amp;gt; title format preprocessor-&amp;gt; ART.PATH please set the path to the appropriate image. &lt;br /&gt;
* Example: &#039;&#039;C:\image\%album%.jpg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [Style Tab] ===&lt;br /&gt;
&lt;br /&gt;
This Tab allows to control a number of visual settings of the playlist. &lt;br /&gt;
* &#039;&#039;Custom background colour&#039;&#039;: Specify a custom background color. &lt;br /&gt;
** &#039;&#039;Total&#039;&#039;: Specifies the background color of the whole. &lt;br /&gt;
** &#039;&#039;Odd item&#039;&#039;: Specifies the background color and several odd. &lt;br /&gt;
** &#039;&#039;Even item&#039;&#039;: Specifies the background color for even-numbered lines. &lt;br /&gt;
** &#039;&#039;Selected item&#039;&#039;: Specifies the background color of selected rows. &lt;br /&gt;
** &#039;&#039;Playing item&#039;&#039;: Specifies the background color of the track playing. &lt;br /&gt;
** &#039;&#039;Selected playing item&#039;&#039;: Specifies the background color of selected tracks?KATSU play. &lt;br /&gt;
&lt;br /&gt;
Odd and even item for the right padding and left padding can be drawn in the area. Odd and even can be calculated by the list index: on when the odd / determined in an even row number of the list. Off time is determined by order of the group.&lt;br /&gt;
&lt;br /&gt;
Change to display the character, script editing only. &lt;br /&gt;
* Default font: &#039;&#039;Please specify the default font.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pseudo transparent&#039;&#039;: Enables pseudo-transparent background. It tends to be a CPU demanding to process. (If the slowdown is severe, one solution is to narrow the viewing area.) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Enable Visual Style&#039;&#039;: The background of the line and automatically draws VisualStyle. Primarily for Windows Vista. After drawing a custom background colour, title format script will be drawn prior to evaluation. Text color does not change automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Scrollbar&#039;&#039;:  Status of the scroll bar settings: default (auto show / hide switch) / hide (displayed) / show (always displayed), School and set the volume (0 is the system default). &lt;br /&gt;
&lt;br /&gt;
===  [Grouping Tab] ===&lt;br /&gt;
 &lt;br /&gt;
And customized for the group, you can customize the display of the list across multiple lines. &lt;br /&gt;
* &#039;&#039;Group by&#039;&#039;: Grouping can be stored as a set of presets.&lt;br /&gt;
* &#039;&#039;Group format&#039;&#039;:  Grouping for each track describes Titleformat. TF as a group that tracks the same flight as a result. The group format is the same, leaving tracks on the playlist that is treated as a different group. &#039;&#039;&amp;quot;|&amp;quot;&#039;&#039; in a group format to split, you can set up the group hierarchy.&lt;br /&gt;
 Example: &#039;&#039;%album artist%|%album%&#039;&#039;&lt;br /&gt;
The group with the child group, there are constraints that can not be assigned a truck. ?RI?TEYOU and tracks such groups, is inserted DAMIGURUPUHEDDA. Are written in some detail at the end of this text. &lt;br /&gt;
* &#039;&#039;Sort format:&#039;&#039; Sort in the playlist for Titleformat described. Execution of the sort is done from the context menu. Sorting is not done automatically. &lt;br /&gt;
* &#039;&#039;Row height&#039;&#039;: In a list and set the height of the base line. &lt;br /&gt;
* &#039;&#039;Row number of group header&#039;&#039;: &amp;quot;row height&amp;quot; and set the height of the header unit of the group. Titleformat is enabled. TF figures as a result of the process (0-16) should return. The height of the header for this group, always an integral multiple of row height (0-16 times). (Note: the group with a track, group row is evaluated.)&lt;br /&gt;
* &#039;&#039;Minimum row number of group&#039;&#039;: You can set the minimum number of lines in each group. This can be used to ensures that images are displayed completely even if the number of rows would be too low otherwise. This section is &#039;&#039;Titleformat&#039;&#039; enabled and as a result of the process must return a value of 0. After grouping, this value is less than the number of tracks in the group, empty rows are automatically inserted. &#039;&#039;Note:&#039;&#039; the group with a track, min item num will be evaluated. The line is empty, Track list Titleformat at &#039;&#039;$enabledraw()&#039;&#039; as long as you do not use the feature will be drawn off. If you want to draw the line as well as other effective, &#039;&#039;$enabledraw(1)&#039;&#039; and, drawing on the features please. Track list Titleformat the empty line will be evaluated using only the last track of the group. &lt;br /&gt;
* &#039;&#039;Playlist filter:&#039;&#039; enable playlist filter is on, the name of the playlist from the playlist when?RI?WATTA the group by preset can be selected automatically. enable all playlists in the playlist of all the active preset. If you enable only on the playlist name matches the specified preset is enabled. If you disable on the playlist name matches the specified preset is disabled. Preset determines the priority order of the list. The name of the playlist specified, &amp;quot;;&amp;quot; that can be separated by more than one. TF or wild card is invalid. &lt;br /&gt;
* &#039;&#039;Associated titleformat script name:&#039;&#039;  This preset tileformat scrpit???KETAI and the name of a single set. &lt;br /&gt;
* &#039;&#039;Enable playlist filter:&#039;&#039; Playlist from the playlist filter name to enable you to group by preset automatically selected. &lt;br /&gt;
* &#039;&#039;Prioritize active preset:&#039;&#039; Find a preset valid time has now selected the first group by preset priority.&lt;br /&gt;
&lt;br /&gt;
===  [Field definition Tab] ===&lt;br /&gt;
 &lt;br /&gt;
Title format preprocessor: Enables the definition of Titleformat fields that can be used in every subsection: &#039;&#039;[Track list] [Group header] [Per Second] [Popup (Background)] [Popup (Track)] [row number of group header] [minimum row number of group&#039;&#039;]. Before evaluating, field and displacement. &lt;br /&gt;
 &lt;br /&gt;
Titleformat each set may be useful to refer to a common code. &lt;br /&gt;
Example: Album art path should be available to each section. This defined by:&lt;br /&gt;
 &#039;&#039;&#039;foo&#039;&#039;&#039; : &#039;&#039;C:\%album%.jpg&#039;&#039; &lt;br /&gt;
Now in each section the field &#039;&#039;%Foo%&#039;&#039; will be substituted by &#039;&#039;C:\%album%.jpg&#039;&#039;. If the path changes in it needs to be changed in the &#039;&#039;Field definition&#039;&#039; section, only.&lt;br /&gt;
&lt;br /&gt;
===  [Behaviour Tab] ===&lt;br /&gt;
&lt;br /&gt;
This section allows to change the behavior of various playlist features:&lt;br /&gt;
* &#039;&#039;Click action:&#039;&#039;  You can change your behavior when you click on the playlist. &lt;br /&gt;
* &#039;&#039;Mouse hover action:&#039;&#039; You can run when the mouse stops for a while. &lt;br /&gt;
* &#039;&#039;Enable hover:&#039;&#039; Mouse hover action for on / off can be. &lt;br /&gt;
* &#039;&#039;Delay:&#039;&#039;  Will stop the mouse from the mouse hover action to implement a delay. &lt;br /&gt;
* &#039;&#039;Display only the focused group:&#039;&#039; Show only a focus group. Other panel playlists (Graphical Browser or) is predicated on collaboration. &lt;br /&gt;
* &#039;&#039;Collapse all groups when playlist is changed:&#039;&#039; Close the group by default. &lt;br /&gt;
* &#039;&#039;Threshold of number of groups:&#039;&#039; Close the Group when more than this number the number of groups. &lt;br /&gt;
* &#039;&#039;Auto-collapse:&#039;&#039; Close the Group other than focus groups.  This option is on a group header in a single click to see the track line / switch that you hide. Click the Action Group in the open does not close automatically. If you want to follow the track playback, Playback / Cursor Follows Playback Please use a combination. &lt;br /&gt;
* &#039;&#039;Allow collapsing group with no group header:&#039;&#039; No group header (group row 0) in the group to close it. &lt;br /&gt;
* &#039;&#039;Disable focus change by single click at group header:&#039;&#039; Group headers and empty line in a single click when you stop to move the focus. &lt;br /&gt;
* &#039;&#039;Update every second:&#039;&#039;  The tracks play Enabling Per Second. More precisely, the second update of the drawing of the unit on / off only. &lt;br /&gt;
* &#039;&#039;Move items with drag and drop:&#039;&#039; Drag &amp;amp; Drop the selected tracks to go. If this option is turned off, press [Alt] while using  Drag &amp;amp; Drop to move items. &lt;br /&gt;
* &#039;&#039;Enable incremental search:&#039;&#039; According to key inputs, group format (&#039;&#039;%el_group_format%&#039;&#039;) and incremental search. Keyword search is logged in the status bar. Also, you did not enter a second valid key, your search terms are automatically reset. See also section [[shortcuts]]. IME in XP then I will support as possible to find it in Japanese.  Alphabet in Vista (ASCII) may only search. (Originally I worked with Vista.) If you want to search for Vista in non-ASCII, Ctrl-f search DAIAROGUBESU it is possible, please use there.&lt;br /&gt;
* &#039;&#039;Resize quality:&#039;&#039; Enlarge Image / You can set the quality down. If you just want a quality, HighQualityBicubic would be good if you have. &lt;br /&gt;
* &#039;&#039;Context menu:&#039;&#039; To set up the each item of the right-click menu and to display the item or not. &lt;br /&gt;
&lt;br /&gt;
=== [Misc Tab] ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== Popup ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up mouse hover action is executed.&lt;br /&gt;
 &lt;br /&gt;
* Max size: The maximum size of the popup. Titleformat small can. &lt;br /&gt;
* Popup opacity: Opacity of the popup. 0 will be completely transparent and you will not be displayed. &lt;br /&gt;
* Fade-in: TSUKEMASU a fade effect when viewed. I made quite appropriate. (Vista will fade in the default?)&lt;br /&gt;
* Enable colorkey: Set the color key. The transparent color is set. Same background color (default) if the background is transparent. However, it is anti-aliasing, transparency is not beautiful. &lt;br /&gt;
* Prevent going outside of display: To avoid as much as possible out of the pop-up display. Multi-Display is not supported.&lt;br /&gt;
* Max track num: Popup (Track) limit the number of trucks running.&lt;br /&gt;
 Popup the Titleformat script, &lt;br /&gt;
 Popup (Background) -&amp;gt; Popup (Track) -&amp;gt; Popup (Track) -&amp;gt;···&lt;br /&gt;
 Runs. &lt;br /&gt;
* Additional sort format: Sort of context menu to add the item to set the sort format. Group by preset and is independent. &lt;br /&gt;
&lt;br /&gt;
=== Keyboard Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
  &lt;br /&gt;
* Ctrl-c: Copy&lt;br /&gt;
* Ctrl-v: Paste&lt;br /&gt;
* Ctrl-x: Cut&lt;br /&gt;
* Ctrl-a: select all&lt;br /&gt;
* Ctrl-f: Find dialog (% el_group_format% of your search)&lt;br /&gt;
* Ctrl-g: Go to the following groups:&lt;br /&gt;
* Ctrl-b: Go to the previous group&lt;br /&gt;
* Delete: remove a track from the playlist&lt;br /&gt;
* Alt-[Up] / [Down]: Move the selected track ( &amp;quot;hide all items when playlist is changed&amp;quot; is that it is off)&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; foobar2000 body of General-&amp;gt; Keyboard Shortcuts settings will take precedence. &lt;br /&gt;
&lt;br /&gt;
[Alt] + Drag &amp;amp; Drop, you can move the selected tracks. &lt;br /&gt;
&lt;br /&gt;
==== Incremental search ====&lt;br /&gt;
 &lt;br /&gt;
Keystrokes are matched against group format (&#039;&#039;% el_group_format%&#039;&#039;) by incremental search. (Incremental search has to be enabled though) &lt;br /&gt;
&lt;br /&gt;
The following shortcuts are available. &lt;br /&gt;
* Ctrl-e: Reset the search (previous keystrokes)&lt;br /&gt;
* Ctrl-d: Find Next. (Ctrl-s if I could spare a···) &lt;br /&gt;
* Ctrl-r: Find&lt;br /&gt;
&lt;br /&gt;
=== Main Menu Options (View-&amp;gt;ELPlaylist) ===&lt;br /&gt;
&lt;br /&gt;
All panels will be affected by selecting a menu item here. &lt;br /&gt;
* Show now playing: Scroll to the track so that you are playing.&lt;br /&gt;
* Show focused item: Scroll to see the focus track.&lt;br /&gt;
* Expand all groups: Expand all groups.&lt;br /&gt;
* Collapse all groups: Close all of the groups.&lt;br /&gt;
* Refresh: redraw causes the explicit.&lt;br /&gt;
&lt;br /&gt;
=== Extended Command Reference ===&lt;br /&gt;
 &lt;br /&gt;
Please refer also to foobar&#039;s default [[Foobar2000:Title Formatting Reference|Title Format]] Reference &lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
ELPlaylist provides custom fields that can be used just like normal title formatting fields. Not all custom fields are available to all scripts. See below for details.&lt;br /&gt;
&lt;br /&gt;
===%el_isplaying%===&lt;br /&gt;
Returns true if a track is currently playing.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_selected%===&lt;br /&gt;
Returns true for selected lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
click action of the Select group whether the selected group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_focused%===&lt;br /&gt;
Returns true for focused lines in the playlist.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_width%===&lt;br /&gt;
Returns the width of the line’s viewing area.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_height%===&lt;br /&gt;
Returns the height of the line’s viewing area. Note that &#039;&#039;%el_height%&#039;&#039; may return different values for track lines and group headers.&lt;br /&gt;
&lt;br /&gt;
Track lines: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Group headers: &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; &amp;amp;times; &#039;&#039;%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$setworldtransform()&#039;&#039; is affected.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_row_height%===&lt;br /&gt;
Returns the base line’s height. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_group_row%===&lt;br /&gt;
Returns the number of rows in the group header. Also see &#039;&#039;%el_height%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count%===&lt;br /&gt;
Returns the number of tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_item_count2%===&lt;br /&gt;
Returns the number of empty tracks in the group.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Number of tracks processed in Popup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_direct_item_count%===&lt;br /&gt;
Returns the number of tracks within a group including all subgroups. Except in special cases, a group with a sub-group will be 0. If the group does not have a sub-group &#039;&#039;%el_direct_item_count&#039;&#039;% should be the same as &#039;&#039;%el_item_count%&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index%===&lt;br /&gt;
The index tracks the group (counting from 0) The line does not count up empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_item_index2%===&lt;br /&gt;
The index tracks the group (counting from 0) Count up the line is empty.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_count%===&lt;br /&gt;
Number of groups (number of headers for all groups)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_total_group_index%===&lt;br /&gt;
Index group (index group headers in the list)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_count%===&lt;br /&gt;
Number of groups that belong to the same parent group&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_index%===&lt;br /&gt;
The index of the group as seen from a parent group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_depth%===&lt;br /&gt;
The depth of the current group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;, &#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count%===&lt;br /&gt;
The number of subgroups Number of groups of children, grandchildren and the number of groups are not counted.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_subgroup_count2%===&lt;br /&gt;
Cumulative number of subgroups Be counted against the group after the grandchildren.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_group_format%===&lt;br /&gt;
The current group of the TF group format in the process and return the result.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_collapsed% (%el_is_hide_item%)===&lt;br /&gt;
Determines whether the group is collapsed. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===%el_is_empty%===&lt;br /&gt;
Empty or no go. (Just opposite &#039;&#039;%el_is_valid%&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Well if you can not configure the sub-group structure, or whether groups can go into a dummy. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_valid%===&lt;br /&gt;
Valid (empty lines are not), or no go. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_noheader%===&lt;br /&gt;
Do not you have a group header (&#039;&#039;%El_group_row%&#039;&#039; to 0 if 1) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length%===&lt;br /&gt;
Total length of the track of the group &#039;&#039;[hh:]mm:ss&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_sum_length_seconds%===&lt;br /&gt;
Total length of the track of the group (s) &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_backcolour%===&lt;br /&gt;
Returns the background color in &#039;&#039;r-g-b&#039;&#039; format. You can create an &#039;&#039;r-g-b-a&#039;&#039; value by simply adding the alpha value, e.g. &#039;&#039;%el_backcolour%-192&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_index%===&lt;br /&gt;
The current group by the preset index returns.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_preset_name%===&lt;br /&gt;
Returns the current group by the preset name.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_group%===&lt;br /&gt;
Popup whether the group header.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_popup_width%, %el_popup_height%===&lt;br /&gt;
Size pop-up at that time. &#039;&#039;%el_width%&#039;&#039;, &#039;&#039;%el_height%&#039;&#039; note that the max size is returned. &lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Popup&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===%el_is_themed%===&lt;br /&gt;
Returns true if Visual Styles are enabled in ELPlaylist’s options.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Group row&#039;&#039;, &#039;&#039;Min item num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Functions (Draw control) ==&lt;br /&gt;
&lt;br /&gt;
[Track list], [Group header], [Per Second], [Popup] valid.&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Font settings.&lt;br /&gt;
OPTIONS: bold italic underline strikeout&lt;br /&gt;
&lt;br /&gt;
Example: $font(Tahoma,10,bold italic)&lt;br /&gt;
&lt;br /&gt;
=== $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) ===&lt;br /&gt;
&lt;br /&gt;
Draws a string at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039;. The size of the text field is defined by width &#039;&#039;&#039;(W)&#039;&#039;&#039; and height &#039;&#039;&#039;(H)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; This function is a string and there is also a GDI version of the same functions available [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] and [[#$drawtextex(text,x,y,W,H,r-g-b,OPTIONS) | $drawtextex]]. This function might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
Align specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Align: &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align: &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* &#039;&#039;nowrap&#039;&#039;: disables text wrap&lt;br /&gt;
* &#039;&#039;noaa&#039;&#039;: ClearType and disable anti-aliasing.&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* &#039;&#039;hq&#039;&#039;: high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
* &#039;&#039;glow_aa&#039;&#039; glow option to use a special mode. (noaa, aa, hq exclusive)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;trimchar&#039;&#039; and &#039;&#039;trimword&#039;&#039;: Trimming  of the text to fit the display range&lt;br /&gt;
* &#039;&#039;elipchar&#039;&#039; and &#039;&#039;elipword&#039;&#039;: Shortens the text to fit the the display range. If set the end of the line will be replaced with &#039;&#039;&amp;quot;···&amp;quot;&#039;&#039;&lt;br /&gt;
* &#039;&#039;mempos getlastpos&#039;&#039;: to be able to get the coordinates of the drawing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; - specifying the glow effect (experimental stage):&lt;br /&gt;
* &#039;&#039;glow:expand:colour[:strength]&#039;&#039;: glow options&lt;br /&gt;
** &#039;&#039;Expand&#039;&#039; - [0-5]&lt;br /&gt;
** &#039;&#039;Colour&#039;&#039; - r-g-b&lt;br /&gt;
** &#039;&#039;Strength&#039;&#039; - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* &#039;&#039;X&#039;&#039; - glow in the horizontal offset&lt;br /&gt;
* &#039;&#039;Y&#039;&#039; - glow in the vertical offset&lt;br /&gt;
&lt;br /&gt;
Glow is a heavy process. (Especially the pseudo transparent)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,)&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,left vcenter,glow :2:255-255-255: 3)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow :2:32-168-268: 1 offset: 1:1)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,elipchar)&lt;br /&gt;
&lt;br /&gt;
=== $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Rectangular drawing function.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* Aa - enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawrect(0,50,50,50,255-128-64-128,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with gradient fill at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;r1-g1-b1-a1&#039;&#039;&#039; gradient start color&lt;br /&gt;
* &#039;&#039;&#039;r2-g2-b2-a2&#039;&#039;&#039; peak color gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;vertical&#039;&#039;: vertical gradient&lt;br /&gt;
* &#039;&#039;horizontal&#039;&#039;: horizontal gradient&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
* &#039;&#039;nonlinear&#039;&#039;: nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PEAK&#039;&#039;&#039;: 0-100&lt;br /&gt;
* Shifted the peak position of the gradient.&lt;br /&gt;
** 0 by default, to end at peak color.&lt;br /&gt;
** 50 When is the peak of color.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)&lt;br /&gt;
&lt;br /&gt;
=== $drawblurrect(x,y,w,h,colour,level) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with a blured outline at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Level&#039;&#039;&#039; [1-7]: blur level&lt;br /&gt;
&lt;br /&gt;
=== $drawfocusrect(x,y,w,h) ===&lt;br /&gt;
&lt;br /&gt;
Function to draw a dotted line shows the focus rectangle frame specified.&lt;br /&gt;
&lt;br /&gt;
=== $drawthemerect(x,y,w,h,control_name,partId,stateId) ===&lt;br /&gt;
&lt;br /&gt;
Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.&lt;br /&gt;
&lt;br /&gt;
control_name:&lt;br /&gt;
* Specify the name of the type of control you want to draw. One of the following:&lt;br /&gt;
* window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar&lt;br /&gt;
* edit combobox taskbar taskband startpanel explorerbar&lt;br /&gt;
&lt;br /&gt;
PartId:&lt;br /&gt;
* the parts you want to draw ID. Could we use the following number in the range for each control as a guide.&lt;br /&gt;
* In most cases, less than what I have defined.&lt;br /&gt;
* Window: 1-37&lt;br /&gt;
* Button rebar listview tooltip: 1-5&lt;br /&gt;
* Toolbar: 1-6&lt;br /&gt;
* Status treeview taskband: 1-3&lt;br /&gt;
* Header spin: 1-4&lt;br /&gt;
* Progress: 1-4&lt;br /&gt;
* Tab trackbar scrollbar :1-10&lt;br /&gt;
* Edit: 1-2&lt;br /&gt;
* Combobox: 1&lt;br /&gt;
* Taskbar: 1-8&lt;br /&gt;
* Startpanel: 1-11&lt;br /&gt;
* Explorerbar: 1-12&lt;br /&gt;
&lt;br /&gt;
StateId:&lt;br /&gt;
* the state and selected ID. If the component does not have to specify the state is 0.&lt;br /&gt;
* stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Vista Then, apply the style of Windows Explorer.&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,1) // default&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,2) // hot&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,3) // selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,4) // disable&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,5) // notfocused selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,6) // hot selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,1,listview,7,0) //group header line&lt;br /&gt;
&lt;br /&gt;
=== $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).&lt;br /&gt;
* In order to achieve a decent effect the condition w&amp;gt;4*w2 and h&amp;gt;4*h2 should be matched.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)&lt;br /&gt;
&lt;br /&gt;
=== $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws an ellipse at coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border Color&lt;br /&gt;
&lt;br /&gt;
=== $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Draw a triangle and vertex function.&lt;br /&gt;
* &#039;&#039;&#039;(x1,y1),(x2,y2),(x3,y3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; Border Color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawtriangle(10,5,20,10,10,15200-100-100,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039; specified by &#039;&#039;&#039;path&#039;&#039;&#039;. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.&amp;lt;!-- (w,h) in the original image size is omitted, and the cache.  (However, w, h if you are already cached in memory and then the image size to be directly cached)--&amp;gt;&lt;br /&gt;
&amp;lt;!--?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
&#039;&#039;Nodisplay&#039;&#039;, &#039;&#039;noexpansion&#039;&#039; and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
If there are images true, if false is returned.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;path&#039;&#039;&#039;:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide image, read only in memory&lt;br /&gt;
* &#039;&#039;noexpansion&#039;&#039;: image will not be expanded if smaller than the specified image size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;alignment&amp;gt;&lt;br /&gt;
* &#039;&#039;left right&#039;&#039;: horizontal alignment&lt;br /&gt;
* &#039;&#039;top bottom&#039;&#039;: vertical alignment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* &#039;&#039;wc&#039;&#039;: enables wildcard characters (*,?).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read mode&amp;gt;&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;: archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.&lt;br /&gt;
** Example: &#039;&#039;C:\aaa\image.zip|bbb/ccc.jpg&#039;&#039;&lt;br /&gt;
* &#039;&#039;icon&#039;&#039;: path is specified in the icon file (*.ico) to appear.&lt;br /&gt;
* &#039;&#039;artreader&#039;&#039;: Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.&lt;br /&gt;
** Audio &#039;&#039;artreader_front&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_back&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_disc&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_icon&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* (artreader_*** are currently not recommended optionss because these seem to be slow)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;n&#039;&#039;&#039;: rotateflip Index for:&lt;br /&gt;
* &#039;&#039;1&#039;&#039;: 90°&lt;br /&gt;
* &#039;&#039;2&#039;&#039;: 180°&lt;br /&gt;
* &#039;&#039;3&#039;&#039;: 270°&lt;br /&gt;
* &#039;&#039;4&#039;&#039;: flip horizontal&lt;br /&gt;
* &#039;&#039;5&#039;&#039;: 90° + flip horizontal&lt;br /&gt;
* &#039;&#039;6&#039;&#039;: Flipped vertically&lt;br /&gt;
* &#039;&#039;7&#039;&#039;: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* &#039;&#039;0-255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; (shadow effect)&lt;br /&gt;
* &#039;&#039;Glow:expand:colour&#039;&#039;&lt;br /&gt;
* &#039;&#039;Offset:x:y&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,left top)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.*,wc,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)&lt;br /&gt;
* $imageabs(10,10,50,50,%path%,artreader)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.&lt;br /&gt;
In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039; (imageabs):&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not maintain the aspect ratio&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide read only memory&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;&lt;br /&gt;
* &#039;&#039;Icon&#039;&#039;&lt;br /&gt;
* &#039;&#039;Horizontal Alignment&#039;&#039;&lt;br /&gt;
** left&lt;br /&gt;
** hcener&lt;br /&gt;
** right&lt;br /&gt;
* &#039;&#039;Vertical Alignment&#039;&#039;&lt;br /&gt;
** top&lt;br /&gt;
** vcenter&lt;br /&gt;
** bottom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; rotateflip Index for:&lt;br /&gt;
* 1: 90°&lt;br /&gt;
* 2: 180°&lt;br /&gt;
* 3: 270°&lt;br /&gt;
* 4: flip horizontal&lt;br /&gt;
* 5: 90° + flip horizontal&lt;br /&gt;
* 6: Flipped vertically&lt;br /&gt;
* 7: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)&lt;br /&gt;
* $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,)  ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )&lt;br /&gt;
* $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,)  ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions ==&lt;br /&gt;
&lt;br /&gt;
=== $getlastpos(elem) ===&lt;br /&gt;
&lt;br /&gt;
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, &#039;&#039;[[#$measurestring(text,x,y,W,H,OPTIONS) | $measurestring]]&#039;&#039; use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.&lt;br /&gt;
&lt;br /&gt;
Elem element to retrieve.&lt;br /&gt;
 X: left&lt;br /&gt;
 Y: top&lt;br /&gt;
 W: width&lt;br /&gt;
 H: height&lt;br /&gt;
 R: right&lt;br /&gt;
 B: bottom&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 $setworldtransform(2)&lt;br /&gt;
 $puts(img_path,C:\%album%.jpg)&lt;br /&gt;
 $imageabs(10,4,100,100,$get(img_path),top noexpansion,)&lt;br /&gt;
 $imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)&lt;br /&gt;
 $gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)&lt;br /&gt;
 $setworldtransform(0)&lt;br /&gt;
&lt;br /&gt;
=== $measurestring(text,x,y,W,H,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$drawstring&#039;&#039; to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get &#039;&#039;[[#$getlastpos(elem) | $getlastpos]]&#039;&#039;. &#039;&#039;&#039;OPTIONS&#039;&#039;&#039; is the same as $drawstring. If $drawstring uses the &#039;&#039;glow_aa&#039;&#039; or &#039;&#039;glow&#039;&#039; options, the &#039;&#039;$measurestring&#039;&#039; value returned may not be accurate.&lt;br /&gt;
&lt;br /&gt;
=== $getimagewidth(path),$getimageheight(path) ===&lt;br /&gt;
&lt;br /&gt;
The image path is specified in &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. &#039;&#039;nokeepaspect&#039;&#039; may be able to calculate the aspect ratio should be applied.&lt;br /&gt;
&lt;br /&gt;
=== $setcoordinate(mode) ===&lt;br /&gt;
&lt;br /&gt;
$setcoordinate(0,X,Y,W,H)&lt;br /&gt;
$setcoordinate(1,X,Y,R,B)&lt;br /&gt;
&lt;br /&gt;
Allows in a drawing function to transfer the argument &#039;&#039;x,y,w,h&#039;&#039; to &#039;&#039;x,y,right,bottom&#039;&#039;.&lt;br /&gt;
&#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled. The X, Y, W, H is specified, you can change the default position if the specified coordinates omitted in the drawing functions. &#039;&#039;$imageab&#039;&#039;, &#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled.&lt;br /&gt;
&lt;br /&gt;
Mode: Specifies the coordinate mode&lt;br /&gt;
&lt;br /&gt;
 0 default (x, y, w, h)&lt;br /&gt;
 1 (x, y, right, bottom)&lt;br /&gt;
&lt;br /&gt;
  (x, y )&amp;lt;------ w -------&amp;gt;&lt;br /&gt;
     |----------------|&lt;br /&gt;
     |                |&lt;br /&gt;
   h |                |&lt;br /&gt;
     |                |&lt;br /&gt;
     |________________|&lt;br /&gt;
                     (right, bottom)&lt;br /&gt;
&lt;br /&gt;
=== $setworldtransform(mode) ===&lt;br /&gt;
&lt;br /&gt;
Changing the coordinate system. We can draw a line in another coordinate system is not changed. Group should be useful when you do multiple tracks and draw MATAIDA whole. Enabled to view images. Popup prohibited. (TF see early examples.)&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0: default&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 The origin of each track (x, y) = (0,0), the top left of each track.&lt;br /&gt;
&lt;br /&gt;
 default&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: group common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Group and the origin of each track (x, y) = (0,0) Group and the upper left of the line.&lt;br /&gt;
* &#039;&#039;%el_height%=(%el_item_count2%+%el_group_row%)*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 common coordinate system group&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: item list of common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The origin of each track (x, y) = (0,0) and upper left of the group&#039;s first line of the track.&lt;br /&gt;
* &#039;&#039;%el_height%=%el_item_count2%*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 item list of common coordinate system&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
 (0,0)|----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
=== $enabledraw(mode) ===&lt;br /&gt;
&lt;br /&gt;
System function draw ($draw **** or $imageabs **) to control whether or not the drawing. Called back to the drawing of this function on / off. Mainly used to control the drawing of the empty line.&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
* &#039;&#039;0: disable the function of drawing&#039;&#039;&lt;br /&gt;
* &#039;&#039;1: Enable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &#039;&#039;$enabledraw(1)&#039;&#039;&lt;br /&gt;
* &#039;&#039;$enabledraw(%el_is_valid%)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour(index) ===&lt;br /&gt;
&lt;br /&gt;
The r-g-b color system in the form of returns.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index&#039;&#039;&#039;: [0-30] color index system&lt;br /&gt;
&lt;br /&gt;
=== $averagecolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Colour1 + colour2 +···) / N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $blendcolour(colour1,w1,colour2,w2,[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average weighted &#039;&#039;w1,w2[,···]&#039;&#039; color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $addcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Adds colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 + colour2 + ··· + colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $subcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Substracts colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 - colour2 - colour3···- colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $xorcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates XOR operatorion of a given color &#039;&#039;r-g-b&#039;&#039; sets. Returns only colour1 alpha channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;colour1 xor colour2 xor colour3···xor colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== General-purpose system functions ==&lt;br /&gt;
&lt;br /&gt;
The folowing functions are availble for the [Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] sections.&lt;br /&gt;
&lt;br /&gt;
=== $getgroupformat(group_index) ===&lt;br /&gt;
&lt;br /&gt;
group_index groups are specified in a group format and return the result as TF.&lt;br /&gt;
&lt;br /&gt;
group_index: to specify the group or what number (counting from 0).&lt;br /&gt;
´&lt;br /&gt;
&#039;&#039;%el_group_format% = $getgroupformat(%el_total_group_index%) relationship.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $findfile(path,[path2,path3,...]) ===&lt;br /&gt;
&lt;br /&gt;
Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, &amp;quot;false&amp;quot; returns). Path can be specified. The &#039;&#039;path&#039;&#039; allows wildcards.&lt;br /&gt;
&lt;br /&gt;
=== $el_scale(val,factor[,DIV]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates a share of a given value: &#039;&#039;val * factor/100&#039;&#039; or &#039;&#039;val * factor / DIV&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$el_scale(200,40)&#039;&#039; = 80&lt;br /&gt;
&lt;br /&gt;
* ??val and the overflow factor is too large.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDI drawing functions ==&lt;br /&gt;
&lt;br /&gt;
Using the Windows System Component [http://en.wikipedia.org/wiki/Graphics_Device_Interface GDI] to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).&lt;br /&gt;
&lt;br /&gt;
=== $drawtext(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI text drawing functions. Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
&lt;br /&gt;
=== $drawtextex(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI drawing functions text_2&lt;br /&gt;
Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
* Allow specified wrap wraparound (vcenter, bottom and exclusive)&lt;br /&gt;
* &#039;&#039;end_ellipsis&#039;&#039; If you clip text, replace the end of the text ...&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $gettextwidth(text,[FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $gettextheight([FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $fillrect(x,y,w,h,r-g-b,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Filled rectangle function&lt;br /&gt;
&lt;br /&gt;
=== $fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2) ===&lt;br /&gt;
&lt;br /&gt;
Function of the fill rectangle with rounded corners&lt;br /&gt;
&lt;br /&gt;
== Popup system functions ==&lt;br /&gt;
Valid for [Popup (Background)], [Popup (Track)].&lt;br /&gt;
&lt;br /&gt;
=== $popupsize(w,h) ===&lt;br /&gt;
&lt;br /&gt;
Pop-up function to reduce the size of the popup:&lt;br /&gt;
* W &amp;lt; max size (width)&lt;br /&gt;
* H &amp;lt; max size (height)&lt;br /&gt;
&lt;br /&gt;
=== $popuphide() ===&lt;br /&gt;
&lt;br /&gt;
Suppresses the pop up. At that point and call it once and decided not to pop up.&lt;br /&gt;
&lt;br /&gt;
=== $popuptracknum(num) ===&lt;br /&gt;
&lt;br /&gt;
The maximum number of tracks to reduce the num treatment. Popup (Background) only available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; drawstring with DrawText and drawtextex. Characters are drawn in different ways, good and bad points. And not even being able to function at all (probably) is not a bug. DrawText problem now is if I do not use.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside:&#039;&#039; I take the argument to the rgba color function in a format other than $ rgb (r, g, b) can be longer (should). DrawText The only argument in the text, $ rgb $ transition function and can specify the color using the function (should be).&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62133 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22631</id>
		<title>Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22631"/>
		<updated>2011-05-05T21:43:50Z</updated>

		<summary type="html">&lt;p&gt;Brother John: /* Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&lt;br /&gt;
&lt;br /&gt;
= Requirements =&lt;br /&gt;
* [http://www.foobar2000.org/ foobar2000 v0.9.5.1+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ELPlaylist Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
ELPlaylist panel provides a single columns playlist like Columns UI for a Playlist view. It consists of a section for each track of the playlist and grouping section for all elements of a given set. Panel Splitter shares many similarities to the panel stack splitter component [[Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter) | panel splitter]], because it is being developed by the same author &#039;&#039;&#039;ssenna&#039;&#039;&#039;. Therefore functions and fields are very similar.&lt;br /&gt;
&lt;br /&gt;
In order to access an ELPlaylist you have to setup a playlist item in Columns UI. In order to change the playlist settings, right-click on any playlist item and choose the Settings dialog.&lt;br /&gt;
&lt;br /&gt;
ELPlaylist can utilize the build-in foobar2000 artwork reader. Depending on your configuration it can be accessed in the Columns UI Preference section (Artwork) or directly at the display preference page (Album Art).&lt;br /&gt;
 &lt;br /&gt;
In order to fully utilize ELPlaylist features and settings [[Foobar2000:Title Formatting Reference|Title Format]] (TF) knowledge is required. For further reading refer to the [[Foobar2000:Title Formatting Reference|Title Format]] reference.&lt;br /&gt;
&lt;br /&gt;
The readme file for this reference was translated from &#039;&#039;foo_uie_elplaylist.dll v0.6.4.2beta&#039;&#039;. Current stable version is &#039;&#039;v0.6.9.0b (2010/07/30)&#039;&#039;. Current beta version is &#039;&#039;v0.6.9.1.1b (2010/10/30)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Requirements: foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
SDK version foobar2000 :2008-07-20 cui: 6.3&lt;br /&gt;
&lt;br /&gt;
== Setting up Menus and Items ==&lt;br /&gt;
&lt;br /&gt;
=== [Script Tab] ===&lt;br /&gt;
&lt;br /&gt;
In order to change &#039;&#039;&#039;ELPlaylist&#039;&#039;&#039; settings, right-click on any playlist item and choose the &#039;&#039;Settings&#039;&#039; dialog.&lt;br /&gt;
&lt;br /&gt;
The first tab &#039;&#039;Script&#039;&#039; is divided into 5 subsections:&lt;br /&gt;
&lt;br /&gt;
# Track list&lt;br /&gt;
# Group header&lt;br /&gt;
# Per second&lt;br /&gt;
# Popup backround &lt;br /&gt;
# Popup track&lt;br /&gt;
&lt;br /&gt;
Each section can be modified by using title format script and special ELPlaylist functions and fields. These section allow to customize editing every element of a playlist such as rows and group sections. Edits can be stored and organized in &#039;&#039;Titleformat Script Presets&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== [Track list] ====&lt;br /&gt;
 &lt;br /&gt;
To control the drawing of the track line Title Format. &lt;br /&gt;
&lt;br /&gt;
==== [Group header] ====&lt;br /&gt;
&lt;br /&gt;
To draw the header control group Title Format. &lt;br /&gt;
 &lt;br /&gt;
==== [Per Second] ====&lt;br /&gt;
 &lt;br /&gt;
To control the line drawn in the second track is updated play Title Format. This can be used to display now playing info.&lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Background)] ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up window to control the drawing of Title Format. Popup (Track) will be executed before. Most of the extended field use. &lt;br /&gt;
 &lt;br /&gt;
==== [Popup (Track)] ====&lt;br /&gt;
 &lt;br /&gt;
Unit to control the drawing of the track pop-up window TF. Popup header when the group will be executed for each track in the group. Most of the extended field use. The origin of BOPPUAPPU, header or group, please send the track to determine &#039;&#039;%el_is_group%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Also, if the group header,% el_item_index% Please shift your position. &lt;br /&gt;
&lt;br /&gt;
Note: Popup after updates have been implemented in the version from the version that is not implemented, opens a dialog and set the default Popup Titleformat is no longer what it was reset, and is by design. In this state, and to save the settings, Popup will not appear on anything. Graphical Browser Popup features are quite helpful. &lt;br /&gt;
&lt;br /&gt;
In entering the default description is the assumption that there is a picture album. &lt;br /&gt;
* General-&amp;gt; title format preprocessor-&amp;gt; ART.PATH please set the path to the appropriate image. &lt;br /&gt;
* Example: &#039;&#039;C:\image\%album%.jpg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== [Style Tab] ===&lt;br /&gt;
&lt;br /&gt;
This Tab allows to control a number of visual settings of the playlist. &lt;br /&gt;
* &#039;&#039;Custom background colour&#039;&#039;: Specify a custom background color. &lt;br /&gt;
** &#039;&#039;Total&#039;&#039;: Specifies the background color of the whole. &lt;br /&gt;
** &#039;&#039;Odd item&#039;&#039;: Specifies the background color and several odd. &lt;br /&gt;
** &#039;&#039;Even item&#039;&#039;: Specifies the background color for even-numbered lines. &lt;br /&gt;
** &#039;&#039;Selected item&#039;&#039;: Specifies the background color of selected rows. &lt;br /&gt;
** &#039;&#039;Playing item&#039;&#039;: Specifies the background color of the track playing. &lt;br /&gt;
** &#039;&#039;Selected playing item&#039;&#039;: Specifies the background color of selected tracks?KATSU play. &lt;br /&gt;
&lt;br /&gt;
Odd and even item for the right padding and left padding can be drawn in the area. Odd and even can be calculated by the list index: on when the odd / determined in an even row number of the list. Off time is determined by order of the group.&lt;br /&gt;
&lt;br /&gt;
Change to display the character, script editing only. &lt;br /&gt;
* Default font: &#039;&#039;Please specify the default font.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pseudo transparent&#039;&#039;: Enables pseudo-transparent background. It tends to be a CPU demanding to process. (If the slowdown is severe, one solution is to narrow the viewing area.) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Enable Visual Style&#039;&#039;: The background of the line and automatically draws VisualStyle. Primarily for Windows Vista. After drawing a custom background colour, title format script will be drawn prior to evaluation. Text color does not change automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Scrollbar&#039;&#039;:  Status of the scroll bar settings: default (auto show / hide switch) / hide (displayed) / show (always displayed), School and set the volume (0 is the system default). &lt;br /&gt;
&lt;br /&gt;
===  [Grouping Tab] ===&lt;br /&gt;
 &lt;br /&gt;
And customized for the group, you can customize the display of the list across multiple lines. &lt;br /&gt;
* &#039;&#039;Group by&#039;&#039;: Grouping can be stored as a set of presets.&lt;br /&gt;
* &#039;&#039;Group format&#039;&#039;:  Grouping for each track describes Titleformat. TF as a group that tracks the same flight as a result. The group format is the same, leaving tracks on the playlist that is treated as a different group. &#039;&#039;&amp;quot;|&amp;quot;&#039;&#039; in a group format to split, you can set up the group hierarchy.&lt;br /&gt;
 Example: &#039;&#039;%album artist%|%album%&#039;&#039;&lt;br /&gt;
The group with the child group, there are constraints that can not be assigned a truck. ?RI?TEYOU and tracks such groups, is inserted DAMIGURUPUHEDDA. Are written in some detail at the end of this text. &lt;br /&gt;
* &#039;&#039;Sort format:&#039;&#039; Sort in the playlist for Titleformat described. Execution of the sort is done from the context menu. Sorting is not done automatically. &lt;br /&gt;
* &#039;&#039;Row height&#039;&#039;: In a list and set the height of the base line. &lt;br /&gt;
* &#039;&#039;Row number of group header&#039;&#039;: &amp;quot;row height&amp;quot; and set the height of the header unit of the group. Titleformat is enabled. TF figures as a result of the process (0-16) should return. The height of the header for this group, always an integral multiple of row height (0-16 times). (Note: the group with a track, group row is evaluated.)&lt;br /&gt;
* &#039;&#039;Minimum row number of group&#039;&#039;: You can set the minimum number of lines in each group. This can be used to ensures that images are displayed completely even if the number of rows would be too low otherwise. This section is &#039;&#039;Titleformat&#039;&#039; enabled and as a result of the process must return a value of 0. After grouping, this value is less than the number of tracks in the group, empty rows are automatically inserted. &#039;&#039;Note:&#039;&#039; the group with a track, min item num will be evaluated. The line is empty, Track list Titleformat at &#039;&#039;$enabledraw()&#039;&#039; as long as you do not use the feature will be drawn off. If you want to draw the line as well as other effective, &#039;&#039;$enabledraw(1)&#039;&#039; and, drawing on the features please. Track list Titleformat the empty line will be evaluated using only the last track of the group. &lt;br /&gt;
* &#039;&#039;Playlist filter:&#039;&#039; enable playlist filter is on, the name of the playlist from the playlist when?RI?WATTA the group by preset can be selected automatically. enable all playlists in the playlist of all the active preset. If you enable only on the playlist name matches the specified preset is enabled. If you disable on the playlist name matches the specified preset is disabled. Preset determines the priority order of the list. The name of the playlist specified, &amp;quot;;&amp;quot; that can be separated by more than one. TF or wild card is invalid. &lt;br /&gt;
* &#039;&#039;Associated titleformat script name:&#039;&#039;  This preset tileformat scrpit???KETAI and the name of a single set. &lt;br /&gt;
* &#039;&#039;Enable playlist filter:&#039;&#039; Playlist from the playlist filter name to enable you to group by preset automatically selected. &lt;br /&gt;
* &#039;&#039;Prioritize active preset:&#039;&#039; Find a preset valid time has now selected the first group by preset priority.&lt;br /&gt;
&lt;br /&gt;
===  [Field definition Tab] ===&lt;br /&gt;
 &lt;br /&gt;
Title format preprocessor: Enables the definition of Titleformat fields that can be used in every subsection: &#039;&#039;[Track list] [Group header] [Per Second] [Popup (Background)] [Popup (Track)] [row number of group header] [minimum row number of group&#039;&#039;]. Before evaluating, field and displacement. &lt;br /&gt;
 &lt;br /&gt;
Titleformat each set may be useful to refer to a common code. &lt;br /&gt;
Example: Album art path should be available to each section. This defined by:&lt;br /&gt;
 &#039;&#039;&#039;foo&#039;&#039;&#039; : &#039;&#039;C:\%album%.jpg&#039;&#039; &lt;br /&gt;
Now in each section the field &#039;&#039;%Foo%&#039;&#039; will be substituted by &#039;&#039;C:\%album%.jpg&#039;&#039;. If the path changes in it needs to be changed in the &#039;&#039;Field definition&#039;&#039; section, only.&lt;br /&gt;
&lt;br /&gt;
===  [Behaviour Tab] ===&lt;br /&gt;
&lt;br /&gt;
This section allows to change the behavior of various playlist features:&lt;br /&gt;
* &#039;&#039;Click action:&#039;&#039;  You can change your behavior when you click on the playlist. &lt;br /&gt;
* &#039;&#039;Mouse hover action:&#039;&#039; You can run when the mouse stops for a while. &lt;br /&gt;
* &#039;&#039;Enable hover:&#039;&#039; Mouse hover action for on / off can be. &lt;br /&gt;
* &#039;&#039;Delay:&#039;&#039;  Will stop the mouse from the mouse hover action to implement a delay. &lt;br /&gt;
* &#039;&#039;Display only the focused group:&#039;&#039; Show only a focus group. Other panel playlists (Graphical Browser or) is predicated on collaboration. &lt;br /&gt;
* &#039;&#039;Collapse all groups when playlist is changed:&#039;&#039; Close the group by default. &lt;br /&gt;
* &#039;&#039;Threshold of number of groups:&#039;&#039; Close the Group when more than this number the number of groups. &lt;br /&gt;
* &#039;&#039;Auto-collapse:&#039;&#039; Close the Group other than focus groups.  This option is on a group header in a single click to see the track line / switch that you hide. Click the Action Group in the open does not close automatically. If you want to follow the track playback, Playback / Cursor Follows Playback Please use a combination. &lt;br /&gt;
* &#039;&#039;Allow collapsing group with no group header:&#039;&#039; No group header (group row 0) in the group to close it. &lt;br /&gt;
* &#039;&#039;Disable focus change by single click at group header:&#039;&#039; Group headers and empty line in a single click when you stop to move the focus. &lt;br /&gt;
* &#039;&#039;Update every second:&#039;&#039;  The tracks play Enabling Per Second. More precisely, the second update of the drawing of the unit on / off only. &lt;br /&gt;
* &#039;&#039;Move items with drag and drop:&#039;&#039; Drag &amp;amp; Drop the selected tracks to go. If this option is turned off, press [Alt] while using  Drag &amp;amp; Drop to move items. &lt;br /&gt;
* &#039;&#039;Enable incremental search:&#039;&#039; According to key inputs, group format (&#039;&#039;%el_group_format%&#039;&#039;) and incremental search. Keyword search is logged in the status bar. Also, you did not enter a second valid key, your search terms are automatically reset. See also section [[shortcuts]]. IME in XP then I will support as possible to find it in Japanese.  Alphabet in Vista (ASCII) may only search. (Originally I worked with Vista.) If you want to search for Vista in non-ASCII, Ctrl-f search DAIAROGUBESU it is possible, please use there.&lt;br /&gt;
* &#039;&#039;Resize quality:&#039;&#039; Enlarge Image / You can set the quality down. If you just want a quality, HighQualityBicubic would be good if you have. &lt;br /&gt;
* &#039;&#039;Context menu:&#039;&#039; To set up the each item of the right-click menu and to display the item or not. &lt;br /&gt;
&lt;br /&gt;
=== [Misc Tab] ===&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== Popup ====&lt;br /&gt;
 &lt;br /&gt;
Pop-up mouse hover action is executed.&lt;br /&gt;
 &lt;br /&gt;
* Max size: The maximum size of the popup. Titleformat small can. &lt;br /&gt;
* Popup opacity: Opacity of the popup. 0 will be completely transparent and you will not be displayed. &lt;br /&gt;
* Fade-in: TSUKEMASU a fade effect when viewed. I made quite appropriate. (Vista will fade in the default?)&lt;br /&gt;
* Enable colorkey: Set the color key. The transparent color is set. Same background color (default) if the background is transparent. However, it is anti-aliasing, transparency is not beautiful. &lt;br /&gt;
* Prevent going outside of display: To avoid as much as possible out of the pop-up display. Multi-Display is not supported.&lt;br /&gt;
* Max track num: Popup (Track) limit the number of trucks running.&lt;br /&gt;
 Popup the Titleformat script, &lt;br /&gt;
 Popup (Background) -&amp;gt; Popup (Track) -&amp;gt; Popup (Track) -&amp;gt;···&lt;br /&gt;
 Runs. &lt;br /&gt;
* Additional sort format: Sort of context menu to add the item to set the sort format. Group by preset and is independent. &lt;br /&gt;
&lt;br /&gt;
=== Keyboard Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
==== Commands ====&lt;br /&gt;
  &lt;br /&gt;
* Ctrl-c: Copy&lt;br /&gt;
* Ctrl-v: Paste&lt;br /&gt;
* Ctrl-x: Cut&lt;br /&gt;
* Ctrl-a: select all&lt;br /&gt;
* Ctrl-f: Find dialog (% el_group_format% of your search)&lt;br /&gt;
* Ctrl-g: Go to the following groups:&lt;br /&gt;
* Ctrl-b: Go to the previous group&lt;br /&gt;
* Delete: remove a track from the playlist&lt;br /&gt;
* Alt-[Up] / [Down]: Move the selected track ( &amp;quot;hide all items when playlist is changed&amp;quot; is that it is off)&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; foobar2000 body of General-&amp;gt; Keyboard Shortcuts settings will take precedence. &lt;br /&gt;
&lt;br /&gt;
[Alt] + Drag &amp;amp; Drop, you can move the selected tracks. &lt;br /&gt;
&lt;br /&gt;
==== Incremental search ====&lt;br /&gt;
 &lt;br /&gt;
Keystrokes are matched against group format (&#039;&#039;% el_group_format%&#039;&#039;) by incremental search. (Incremental search has to be enabled though) &lt;br /&gt;
&lt;br /&gt;
The following shortcuts are available. &lt;br /&gt;
* Ctrl-e: Reset the search (previous keystrokes)&lt;br /&gt;
* Ctrl-d: Find Next. (Ctrl-s if I could spare a···) &lt;br /&gt;
* Ctrl-r: Find&lt;br /&gt;
&lt;br /&gt;
=== Main Menu Options (View-&amp;gt;ELPlaylist) ===&lt;br /&gt;
&lt;br /&gt;
All panels will be affected by selecting a menu item here. &lt;br /&gt;
* Show now playing: Scroll to the track so that you are playing.&lt;br /&gt;
* Show focused item: Scroll to see the focus track.&lt;br /&gt;
* Expand all groups: Expand all groups.&lt;br /&gt;
* Collapse all groups: Close all of the groups.&lt;br /&gt;
* Refresh: redraw causes the explicit.&lt;br /&gt;
&lt;br /&gt;
=== Extended Command Reference ===&lt;br /&gt;
 &lt;br /&gt;
Please refer also to foobar&#039;s default [[Foobar2000:Title Formatting Reference|Title Format]] Reference &lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_width%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns the width of the line’s viewing area.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_height%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns the height of the line’s viewing area. Note that &amp;lt;tt&amp;gt;%el_height%&amp;lt;/tt&amp;gt; may return different values for track lines and group headers.&lt;br /&gt;
&lt;br /&gt;
Track lines: &amp;lt;tt&amp;gt;%el_height%&amp;lt;/tt&amp;gt; = &amp;lt;tt&amp;gt;%el_row_height%&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Group headers: &amp;lt;tt&amp;gt;%el_height%&amp;lt;/tt&amp;gt; = &amp;lt;tt&amp;gt;%el_group_row%&amp;lt;/tt&amp;gt; &amp;amp;times; &amp;lt;tt&amp;gt;%el_row_height%&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$setworldtransform()&amp;lt;/tt&amp;gt; is affected.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;, &#039;&#039;Popup&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_isplaying%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns true if a track is currently playing.&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_selected%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
On whether the selected playlist &lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] &lt;br /&gt;
click action of the Select group whether the selected group&lt;br /&gt;
[Group header] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_focused%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Focus on whether or not in the playlist&lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_row_height%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns the base line’s height. also see &amp;lt;tt&amp;gt;%el_height%&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available in the following scripts:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Track list&#039;&#039;, &#039;&#039;Group header&#039;&#039;, &#039;&#039;Per Second&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_group_row%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The group header row height %el_row_height% or one minute. The group header &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;% el_row_height%&#039;&#039; of &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_item_count%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Number of tracks in the group&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_item_count2%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Number of empty trucks in the group that contains the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] Number of tracks processed in Popup [Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_direct_item_count%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns the number of tracks within a group including all subgroups. Except in special cases, a group with a sub-group will be 0. If the group does not have a sub-group &#039;&#039;%el_direct_item_count&#039;&#039;% should be the same as &#039;&#039;%el_item_count%&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_item_index%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The index tracks the group (counting from 0) The line does not count up empty.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_item_index2%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The index tracks the group (counting from 0) Count up the line is empty.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_total_group_count%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Number of groups (number of headers for all groups)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_total_group_index%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Index group (index group headers in the list)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_group_count%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Number of groups that belong to the same parent group&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_group_index%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The index of the group as seen from a parent group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_group_depth%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The depth of the current group (counting from 0)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_subgroup_count%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The number of subgroups Number of groups of children, grandchildren and the number of groups are not counted.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_subgroup_count2%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Cumulative number of subgroups Be counted against the group after the grandchildren.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_group_format%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The current group of the TF group format in the process and return the result.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_collapsed% (%el_is_hide_item%)===&lt;br /&gt;
Determines whether the group is collapsed. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_empty%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Empty or no go. (Just opposite &#039;&#039;%el_is_valid%&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] &lt;br /&gt;
Well if you can not configure the sub-group structure, or whether groups can go into a dummy. &lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_valid%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Valid (empty lines are not), or no go. &lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] [Group header] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_noheader%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Do not you have a group header (&#039;&#039;%El_group_row%&#039;&#039; to 0 if 1) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Per Second] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_sum_length%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Total length of the track of the group &#039;&#039;[hh:]mm:ss&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_sum_length_seconds%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Total length of the track of the group (s) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_backcolour%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The background color back in the r-g-b format. R-g-b-a if you want to format, &#039;&#039;%el_backcolour%&#039;&#039; -192 can add value and alpha. &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_preset_index%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
The current group by the preset index returns.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_preset_name%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Returns the current group by the preset name.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_group%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Popup whether the group header. [Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_popup_width%, %el_popup_height%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Size pop-up at that time. &#039;&#039;%el_width%&#039;&#039;, &#039;&#039;%el_height%&#039;&#039; note that the max size is returned. &lt;br /&gt;
&lt;br /&gt;
[Popup] &lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;%el_is_themed%&amp;lt;/tt&amp;gt;===&lt;br /&gt;
Whether or not enable Visual Style valid&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Group row] [Min item num]&lt;br /&gt;
&lt;br /&gt;
== Functions (Draw control) ==&lt;br /&gt;
&lt;br /&gt;
[Track list], [Group header], [Per Second], [Popup] valid.&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Font settings.&lt;br /&gt;
OPTIONS: bold italic underline strikeout&lt;br /&gt;
&lt;br /&gt;
Example: $font(Tahoma,10,bold italic)&lt;br /&gt;
&lt;br /&gt;
=== $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) ===&lt;br /&gt;
&lt;br /&gt;
Draws a string at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039;. The size of the text field is defined by width &#039;&#039;&#039;(W)&#039;&#039;&#039; and height &#039;&#039;&#039;(H)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; This function is a string and there is also a GDI version of the same functions available [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] and [[#$drawtextex(text,x,y,W,H,r-g-b,OPTIONS) | $drawtextex]]. This function might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
Align specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Align: &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align: &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* &#039;&#039;nowrap&#039;&#039;: disables text wrap&lt;br /&gt;
* &#039;&#039;noaa&#039;&#039;: ClearType and disable anti-aliasing.&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* &#039;&#039;hq&#039;&#039;: high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
* &#039;&#039;glow_aa&#039;&#039; glow option to use a special mode. (noaa, aa, hq exclusive)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;trimchar&#039;&#039; and &#039;&#039;trimword&#039;&#039;: Trimming  of the text to fit the display range&lt;br /&gt;
* &#039;&#039;elipchar&#039;&#039; and &#039;&#039;elipword&#039;&#039;: Shortens the text to fit the the display range. If set the end of the line will be replaced with &#039;&#039;&amp;quot;···&amp;quot;&#039;&#039;&lt;br /&gt;
* &#039;&#039;mempos getlastpos&#039;&#039;: to be able to get the coordinates of the drawing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; - specifying the glow effect (experimental stage):&lt;br /&gt;
* &#039;&#039;glow:expand:colour[:strength]&#039;&#039;: glow options&lt;br /&gt;
** &#039;&#039;Expand&#039;&#039; - [0-5]&lt;br /&gt;
** &#039;&#039;Colour&#039;&#039; - r-g-b&lt;br /&gt;
** &#039;&#039;Strength&#039;&#039; - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* &#039;&#039;X&#039;&#039; - glow in the horizontal offset&lt;br /&gt;
* &#039;&#039;Y&#039;&#039; - glow in the vertical offset&lt;br /&gt;
&lt;br /&gt;
Glow is a heavy process. (Especially the pseudo transparent)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,)&lt;br /&gt;
* $drawstring(abcd,10,10,,,255-128-64-128,left vcenter,glow :2:255-255-255: 3)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow :2:32-168-268: 1 offset: 1:1)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,elipchar)&lt;br /&gt;
&lt;br /&gt;
=== $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Rectangular drawing function.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* Aa - enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawrect(0,50,50,50,255-128-64-128,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with gradient fill at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;r1-g1-b1-a1&#039;&#039;&#039; gradient start color&lt;br /&gt;
* &#039;&#039;&#039;r2-g2-b2-a2&#039;&#039;&#039; peak color gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;vertical&#039;&#039;: vertical gradient&lt;br /&gt;
* &#039;&#039;horizontal&#039;&#039;: horizontal gradient&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
* &#039;&#039;nonlinear&#039;&#039;: nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PEAK&#039;&#039;&#039;: 0-100&lt;br /&gt;
* Shifted the peak position of the gradient.&lt;br /&gt;
** 0 by default, to end at peak color.&lt;br /&gt;
** 50 When is the peak of color.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,vertical aa)&lt;br /&gt;
* $gradientrect(0,50,50,50255-128-64-128255-255-255,,10)&lt;br /&gt;
&lt;br /&gt;
=== $drawblurrect(x,y,w,h,colour,level) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with a blured outline at the coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; and size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Level&#039;&#039;&#039; [1-7]: blur level&lt;br /&gt;
&lt;br /&gt;
=== $drawfocusrect(x,y,w,h) ===&lt;br /&gt;
&lt;br /&gt;
Function to draw a dotted line shows the focus rectangle frame specified.&lt;br /&gt;
&lt;br /&gt;
=== $drawthemerect(x,y,w,h,control_name,partId,stateId) ===&lt;br /&gt;
&lt;br /&gt;
Visual Style in a rectangle with a control (button or progress bar) function to draw. The only practical to draw a picture may be low. Visual Style not defined in control will not be drawn. At least WindowXP required.&lt;br /&gt;
&lt;br /&gt;
control_name:&lt;br /&gt;
* Specify the name of the type of control you want to draw. One of the following:&lt;br /&gt;
* window button rebar toolbar status listview header progress tab trackbar tooltip treeview spin scrollbar&lt;br /&gt;
* edit combobox taskbar taskband startpanel explorerbar&lt;br /&gt;
&lt;br /&gt;
PartId:&lt;br /&gt;
* the parts you want to draw ID. Could we use the following number in the range for each control as a guide.&lt;br /&gt;
* In most cases, less than what I have defined.&lt;br /&gt;
* Window: 1-37&lt;br /&gt;
* Button rebar listview tooltip: 1-5&lt;br /&gt;
* Toolbar: 1-6&lt;br /&gt;
* Status treeview taskband: 1-3&lt;br /&gt;
* Header spin: 1-4&lt;br /&gt;
* Progress: 1-4&lt;br /&gt;
* Tab trackbar scrollbar :1-10&lt;br /&gt;
* Edit: 1-2&lt;br /&gt;
* Combobox: 1&lt;br /&gt;
* Taskbar: 1-8&lt;br /&gt;
* Startpanel: 1-11&lt;br /&gt;
* Explorerbar: 1-12&lt;br /&gt;
&lt;br /&gt;
StateId:&lt;br /&gt;
* the state and selected ID. If the component does not have to specify the state is 0.&lt;br /&gt;
* stateId is 0 or 1 or 2 would not be drawn in, the parts are not defined.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
Vista Then, apply the style of Windows Explorer.&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,1) // default&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,2) // hot&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,3) // selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,4) // disable&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,5) // notfocused selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,%el_height%,listview,1,6) // hot selected&lt;br /&gt;
* $drawthemerect(0,0,%el_width%,1,listview,7,0) //group header line&lt;br /&gt;
&lt;br /&gt;
=== $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws a rectangle with rounded corners at coordinates (x,y) and size (w, h). The degree of roundness is defined by (w2,h2).&lt;br /&gt;
* In order to achieve a decent effect the condition w&amp;gt;4*w2 and h&amp;gt;4*h2 should be matched.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4,255-255-128-255,,)&lt;br /&gt;
&lt;br /&gt;
=== $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Draws an ellipse at coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; border Color&lt;br /&gt;
&lt;br /&gt;
=== $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
Draw a triangle and vertex function.&lt;br /&gt;
* &#039;&#039;&#039;(x1,y1),(x2,y2),(x3,y3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;R1-G1-B1-A1&#039;&#039;&#039; internal color&lt;br /&gt;
* &#039;&#039;&#039;R2-G2-B2-A2&#039;&#039;&#039; Border Color&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;aa&#039;&#039;: enable [http://en.wikipedia.org/wiki/Spatial_anti-aliasing anti aliasing]&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawtriangle(10,5,20,10,10,15200-100-100,,aa)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates &#039;&#039;&#039;(x,y)&#039;&#039;&#039; with size &#039;&#039;&#039;(w,h)&#039;&#039;&#039; specified by &#039;&#039;&#039;path&#039;&#039;&#039;. After the image is resized, it is cached in the memory. The image is referenced, the memory is removed from them.&amp;lt;!-- (w,h) in the original image size is omitted, and the cache.  (However, w, h if you are already cached in memory and then the image size to be directly cached)--&amp;gt;&lt;br /&gt;
&amp;lt;!--?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
&#039;&#039;Nodisplay&#039;&#039;, &#039;&#039;noexpansion&#039;&#039; and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
If there are images true, if false is returned.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;path&#039;&#039;&#039;:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio (nodisplay, archive, icon options and non-exclusive)&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide image, read only in memory&lt;br /&gt;
* &#039;&#039;noexpansion&#039;&#039;: image will not be expanded if smaller than the specified image size&lt;br /&gt;
&lt;br /&gt;
&amp;lt;alignment&amp;gt;&lt;br /&gt;
* &#039;&#039;left right&#039;&#039;: horizontal alignment&lt;br /&gt;
* &#039;&#039;top bottom&#039;&#039;: vertical alignment&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* &#039;&#039;wc&#039;&#039;: enables wildcard characters (*,?).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read mode&amp;gt;&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;: archive reader through the path of the images. The format of the archive reader is path dependent, the absolute path of the archive | base path in the archive file.&lt;br /&gt;
** Example: &#039;&#039;C:\aaa\image.zip|bbb/ccc.jpg&#039;&#039;&lt;br /&gt;
* &#039;&#039;icon&#039;&#039;: path is specified in the icon file (*.ico) to appear.&lt;br /&gt;
* &#039;&#039;artreader&#039;&#039;: Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader. If you do not have embedded images, audio files to load the images folder. However slow.&lt;br /&gt;
** Audio &#039;&#039;artreader_front&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_back&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_disc&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
** Audio &#039;&#039;artreader_icon&#039;&#039; path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* (artreader_*** are currently not recommended optionss because these seem to be slow)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;n&#039;&#039;&#039;: rotateflip Index for:&lt;br /&gt;
* &#039;&#039;1&#039;&#039;: 90°&lt;br /&gt;
* &#039;&#039;2&#039;&#039;: 180°&lt;br /&gt;
* &#039;&#039;3&#039;&#039;: 270°&lt;br /&gt;
* &#039;&#039;4&#039;&#039;: flip horizontal&lt;br /&gt;
* &#039;&#039;5&#039;&#039;: 90° + flip horizontal&lt;br /&gt;
* &#039;&#039;6&#039;&#039;: Flipped vertically&lt;br /&gt;
* &#039;&#039;7&#039;&#039;: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* &#039;&#039;0-255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS2&#039;&#039;&#039; (shadow effect)&lt;br /&gt;
* &#039;&#039;Glow:expand:colour&#039;&#039;&lt;br /&gt;
* &#039;&#039;Offset:x:y&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,left top)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.*,wc,6)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,128)&lt;br /&gt;
* $imageabs(10,10,50,50,C:\%album%.jpg,bottom,,,glow :2:0-0-0 offset: 4:4)&lt;br /&gt;
* $imageabs(10,10,50,50,%path%,artreader)&lt;br /&gt;
&lt;br /&gt;
=== $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) ===&lt;br /&gt;
&lt;br /&gt;
To view the clip and resize images. Path specified by the image size (rw, rh) after resizing, portion of the area (srcx, srcy, srcw, srch) coordinates (x, y) size (srcw, srch) to display.&lt;br /&gt;
In memory (rw, rh) cache. When you evaluate the TF (rw, rh) with changes in, to refresh the image. Therefore, rw, rh is to specify a fixed value. If there are images true, if false is returned.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039; (imageabs):&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not maintain the aspect ratio&lt;br /&gt;
* &#039;&#039;nodisplay&#039;&#039;: Hide read only memory&lt;br /&gt;
* &#039;&#039;archive&#039;&#039;&lt;br /&gt;
* &#039;&#039;Icon&#039;&#039;&lt;br /&gt;
* &#039;&#039;Horizontal Alignment&#039;&#039;&lt;br /&gt;
** left&lt;br /&gt;
** hcener&lt;br /&gt;
** right&lt;br /&gt;
* &#039;&#039;Vertical Alignment&#039;&#039;&lt;br /&gt;
** top&lt;br /&gt;
** vcenter&lt;br /&gt;
** bottom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; rotateflip Index for:&lt;br /&gt;
* 1: 90°&lt;br /&gt;
* 2: 180°&lt;br /&gt;
* 3: 270°&lt;br /&gt;
* 4: flip horizontal&lt;br /&gt;
* 5: 90° + flip horizontal&lt;br /&gt;
* 6: Flipped vertically&lt;br /&gt;
* 7: 90° + Flip Vertically&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alpha&#039;&#039;&#039; (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $imageabs_rc(200,100,0,0,100,50,10,10,C:\%album%.jpg,,6,192)&lt;br /&gt;
* $imageabs_rc(200,100,0,0,200,100,10,10,C:\%album%.jpg,,)  ( = $imageabs(10,10,200,100,C:\%album%.jpg,left top,,) )&lt;br /&gt;
* $imageabs_rc(150,120,0,0,150,120,20,15,C:\%album%.jpg,hcenter vcenter,)  ( = $imageabs(20,15,150,120,C:\%album%.jpg,,,) )&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions ==&lt;br /&gt;
&lt;br /&gt;
=== $getlastpos(elem) ===&lt;br /&gt;
&lt;br /&gt;
Display function imageabs, imageabs_rc right after, to get the coordinates to draw a picture. Also, &#039;&#039;[[#$measurestring(text,x,y,W,H,OPTIONS) | $measurestring]]&#039;&#039; use them when you get the results. If you are drawString, mempos available only immediately after the specified coordinates.&lt;br /&gt;
&lt;br /&gt;
Elem element to retrieve.&lt;br /&gt;
 X: left&lt;br /&gt;
 Y: top&lt;br /&gt;
 W: width&lt;br /&gt;
 H: height&lt;br /&gt;
 R: right&lt;br /&gt;
 B: bottom&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 $setworldtransform(2)&lt;br /&gt;
 $puts(img_path,C:\%album%.jpg)&lt;br /&gt;
 $imageabs(10,4,100,100,$get(img_path),top noexpansion,)&lt;br /&gt;
 $imageabs($getlastpos(x),$getlastpos(b),$getlastpos(w),20,$get(img_path),top nokeepaspect,6)&lt;br /&gt;
 $gradientrect($getlastpos(x),$getlastpos(y),$getlastpos(w),$getlastpos(h),%el_backcolour%-128,%el_backcolour%-255)&lt;br /&gt;
 $setworldtransform(0)&lt;br /&gt;
&lt;br /&gt;
=== $measurestring(text,x,y,W,H,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$drawstring&#039;&#039; to calculate the area when drawing text. As a result, returns to the horizontal width of the viewing area. The display area is to get &#039;&#039;[[#$getlastpos(elem) | $getlastpos]]&#039;&#039;. &#039;&#039;&#039;OPTIONS&#039;&#039;&#039; is the same as $drawstring. If $drawstring uses the &#039;&#039;glow_aa&#039;&#039; or &#039;&#039;glow&#039;&#039; options, the &#039;&#039;$measurestring&#039;&#039; value returned may not be accurate.&lt;br /&gt;
&lt;br /&gt;
=== $getimagewidth(path),$getimageheight(path) ===&lt;br /&gt;
&lt;br /&gt;
The image path is specified in &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; of cache memory. If the image has been resized in the horizontal width and vertical width it returns the respective values. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. &#039;&#039;nokeepaspect&#039;&#039; may be able to calculate the aspect ratio should be applied.&lt;br /&gt;
&lt;br /&gt;
=== $setcoordinate(mode) ===&lt;br /&gt;
&lt;br /&gt;
$setcoordinate(0,X,Y,W,H)&lt;br /&gt;
$setcoordinate(1,X,Y,R,B)&lt;br /&gt;
&lt;br /&gt;
Allows in a drawing function to transfer the argument &#039;&#039;x,y,w,h&#039;&#039; to &#039;&#039;x,y,right,bottom&#039;&#039;.&lt;br /&gt;
&#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled. The X, Y, W, H is specified, you can change the default position if the specified coordinates omitted in the drawing functions. &#039;&#039;$imageab&#039;&#039;, &#039;&#039;$imageabs_rc&#039;&#039; and &#039;&#039;$drawtriangle&#039;&#039; for the disabled.&lt;br /&gt;
&lt;br /&gt;
Mode: Specifies the coordinate mode&lt;br /&gt;
&lt;br /&gt;
 0 default (x, y, w, h)&lt;br /&gt;
 1 (x, y, right, bottom)&lt;br /&gt;
&lt;br /&gt;
  (x, y )&amp;lt;------ w -------&amp;gt;&lt;br /&gt;
     |----------------|&lt;br /&gt;
     |                |&lt;br /&gt;
   h |                |&lt;br /&gt;
     |                |&lt;br /&gt;
     |________________|&lt;br /&gt;
                     (right, bottom)&lt;br /&gt;
&lt;br /&gt;
=== $setworldtransform(mode) ===&lt;br /&gt;
&lt;br /&gt;
Changing the coordinate system. We can draw a line in another coordinate system is not changed. Group should be useful when you do multiple tracks and draw MATAIDA whole. Enabled to view images. Popup prohibited. (TF see early examples.)&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;0: default&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 The origin of each track (x, y) = (0,0), the top left of each track.&lt;br /&gt;
&lt;br /&gt;
 default&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1: group common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Group and the origin of each track (x, y) = (0,0) Group and the upper left of the line.&lt;br /&gt;
* &#039;&#039;%el_height%=(%el_item_count2%+%el_group_row%)*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 common coordinate system group&lt;br /&gt;
   (0,0)&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: item list of common coordinate system&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The origin of each track (x, y) = (0,0) and upper left of the group&#039;s first line of the track.&lt;br /&gt;
* &#039;&#039;%el_height%=%el_item_count2%*%el_row_height%&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 item list of common coordinate system&lt;br /&gt;
      |----------------|&lt;br /&gt;
      | Group header   |&lt;br /&gt;
 (0,0)|----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |----------------|&lt;br /&gt;
      |________________|&lt;br /&gt;
                     (el_width, el_height)&lt;br /&gt;
&lt;br /&gt;
=== $enabledraw(mode) ===&lt;br /&gt;
&lt;br /&gt;
System function draw ($draw **** or $imageabs **) to control whether or not the drawing. Called back to the drawing of this function on / off. Mainly used to control the drawing of the empty line.&lt;br /&gt;
&lt;br /&gt;
Mode:&lt;br /&gt;
* &#039;&#039;0: disable the function of drawing&#039;&#039;&lt;br /&gt;
* &#039;&#039;1: Enable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &#039;&#039;$enabledraw(1)&#039;&#039;&lt;br /&gt;
* &#039;&#039;$enabledraw(%el_is_valid%)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour(index) ===&lt;br /&gt;
&lt;br /&gt;
The r-g-b color system in the form of returns.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index&#039;&#039;&#039;: [0-30] color index system&lt;br /&gt;
&lt;br /&gt;
=== $averagecolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Colour1 + colour2 +···) / N&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $blendcolour(colour1,w1,colour2,w2,[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates the average weighted &#039;&#039;w1,w2[,···]&#039;&#039; color &#039;&#039;R-g-b-a&#039;&#039; of a given set of colors.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(w1 * colur1 + w2 * colour2 +···+ wN * colourN) / (w1 + w2 +···+ wN)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $addcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Adds colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 + colour2 + ··· + colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $subcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Substracts colors &#039;&#039;r-g-b-a&#039;&#039; of a given set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Colour1 - colour2 - colour3···- colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $xorcolour(colour1,colour2[,···]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates XOR operatorion of a given color &#039;&#039;r-g-b&#039;&#039; sets. Returns only colour1 alpha channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;colour1 xor colour2 xor colour3···xor colourN&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== General-purpose system functions ==&lt;br /&gt;
&lt;br /&gt;
The folowing functions are availble for the [Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] sections.&lt;br /&gt;
&lt;br /&gt;
=== $getgroupformat(group_index) ===&lt;br /&gt;
&lt;br /&gt;
group_index groups are specified in a group format and return the result as TF.&lt;br /&gt;
&lt;br /&gt;
group_index: to specify the group or what number (counting from 0).&lt;br /&gt;
´&lt;br /&gt;
&#039;&#039;%el_group_format% = $getgroupformat(%el_total_group_index%) relationship.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $findfile(path,[path2,path3,...]) ===&lt;br /&gt;
&lt;br /&gt;
Determinates whether the specified file(s) exist(s) and returns the first file. If you do not have the file does not return anything. (Strictly speaking, &amp;quot;false&amp;quot; returns). Path can be specified. The &#039;&#039;path&#039;&#039; allows wildcards.&lt;br /&gt;
&lt;br /&gt;
=== $el_scale(val,factor[,DIV]) ===&lt;br /&gt;
&lt;br /&gt;
Calculates a share of a given value: &#039;&#039;val * factor/100&#039;&#039; or &#039;&#039;val * factor / DIV&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$el_scale(200,40)&#039;&#039; = 80&lt;br /&gt;
&lt;br /&gt;
* ??val and the overflow factor is too large.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GDI drawing functions ==&lt;br /&gt;
&lt;br /&gt;
Using the Windows System Component [http://en.wikipedia.org/wiki/Graphics_Device_Interface GDI] to draw. GDI functions are usually faster, but they do not allow alpha blending and shadow effects (glow).&lt;br /&gt;
&lt;br /&gt;
=== $drawtext(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI text drawing functions. Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
&lt;br /&gt;
=== $drawtextex(text,x,y,W,H,r-g-b,OPTIONS) ===&lt;br /&gt;
&lt;br /&gt;
GDI drawing functions text_2&lt;br /&gt;
Text coordinates (x, y) in output&lt;br /&gt;
&lt;br /&gt;
OPTIONS&lt;br /&gt;
* Align &#039;&#039;left hcenter right specified horizontal&#039;&#039;&lt;br /&gt;
* Align &#039;&#039;specified top vcenter bottom vertical&#039;&#039;&lt;br /&gt;
* Not noclip clip&lt;br /&gt;
* Allow specified wrap wraparound (vcenter, bottom and exclusive)&lt;br /&gt;
* &#039;&#039;end_ellipsis&#039;&#039; If you clip text, replace the end of the text ...&lt;br /&gt;
&lt;br /&gt;
Example: &#039;&#039;$drawtextex(text,0,0,%_width%,%_height%,0-0-0,hcenter vcenter end_ellipsis)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== $gettextwidth(text,[FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns the width in the text when drawing horizontal text. Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $gettextheight([FONTNAME,SIZE,OPTIONS]) ===&lt;br /&gt;
&lt;br /&gt;
For the use with GDI text functions (&#039;&#039;drawtext&#039;&#039;, &#039;&#039;drawtextex&#039;&#039;). Returns vertical width of text. can specify the font ($ font option). Optionaly the font can be specified &#039;&#039;FONTNAME&#039;&#039;, &#039;&#039;SIZE&#039;&#039; and &#039;&#039;OPTIONS&#039;&#039; (bold, italic, etc).&lt;br /&gt;
&lt;br /&gt;
=== $fillrect(x,y,w,h,r-g-b,RESERVED) ===&lt;br /&gt;
&lt;br /&gt;
Filled rectangle function&lt;br /&gt;
&lt;br /&gt;
=== $fillroundrect(x,y,w,h,w2,h2,r1-g1-b1,r2-g2-b2) ===&lt;br /&gt;
&lt;br /&gt;
Function of the fill rectangle with rounded corners&lt;br /&gt;
&lt;br /&gt;
== Popup system functions ==&lt;br /&gt;
Valid for [Popup (Background)], [Popup (Track)].&lt;br /&gt;
&lt;br /&gt;
=== $popupsize(w,h) ===&lt;br /&gt;
&lt;br /&gt;
Pop-up function to reduce the size of the popup:&lt;br /&gt;
* W &amp;lt; max size (width)&lt;br /&gt;
* H &amp;lt; max size (height)&lt;br /&gt;
&lt;br /&gt;
=== $popuphide() ===&lt;br /&gt;
&lt;br /&gt;
Suppresses the pop up. At that point and call it once and decided not to pop up.&lt;br /&gt;
&lt;br /&gt;
=== $popuptracknum(num) ===&lt;br /&gt;
&lt;br /&gt;
The maximum number of tracks to reduce the num treatment. Popup (Background) only available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; drawstring with DrawText and drawtextex. Characters are drawn in different ways, good and bad points. And not even being able to function at all (probably) is not a bug. DrawText problem now is if I do not use.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Aside:&#039;&#039; I take the argument to the rgba color function in a format other than $ rgb (r, g, b) can be longer (should). DrawText The only argument in the text, $ rgb $ transition function and can specify the color using the function (should be).&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://foo2k.chottu.net/ Official page with download link] (Japanese)&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=62133 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Brother John</name></author>
	</entry>
</feed>