<?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=Chris+norman</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=Chris+norman"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Chris_norman"/>
	<updated>2026-04-30T03:42:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22139</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=22139"/>
		<updated>2010-10-31T22:14:45Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* ELPlaylist Reference (translated and adapted from Japanese Read me) */ Update&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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22138</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22138"/>
		<updated>2010-10-31T14:01:12Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour Tab ===&lt;br /&gt;
&lt;br /&gt;
=== Global variables Tab ===&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command&#039;&#039;&#039;: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Context&#039;&#039;&#039;: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panelshow&#039;&#039;&#039;: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TFMode&#039;&#039;&#039;: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Refresh&#039;&#039;&#039;: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64 brushcolor:192-192-192-128 pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64 left bottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: something in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22137</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22137"/>
		<updated>2010-10-31T13:59:04Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* function buttons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour Tab ===&lt;br /&gt;
&lt;br /&gt;
=== Global variables Tab ===&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command&#039;&#039;&#039;: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Context&#039;&#039;&#039;: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panelshow&#039;&#039;&#039;: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TFMode&#039;&#039;&#039;: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Refresh&#039;&#039;&#039;: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64 brushcolor:192-192-192-128 pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64 left bottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22136</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22136"/>
		<updated>2010-10-31T13:58:23Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $textbutton(x,y,w,h,text,mover_text,command,options1,options2) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour Tab ===&lt;br /&gt;
&lt;br /&gt;
=== Global variables Tab ===&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command&#039;&#039;&#039;: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Context&#039;&#039;&#039;: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Panelshow&#039;&#039;&#039;: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TFMode&#039;&#039;&#039;: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Refresh&#039;&#039;&#039;: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;:&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64 brushcolor:192-192-192-128 pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64 left bottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22135</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22135"/>
		<updated>2010-10-31T11:32:52Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Panel operating system functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour Tab ===&lt;br /&gt;
&lt;br /&gt;
=== Global variables Tab ===&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22134</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22134"/>
		<updated>2010-10-31T11:32:00Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Setting up menus and items */  added other tabs with blank descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour Tab ===&lt;br /&gt;
&lt;br /&gt;
=== Global variables Tab ===&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=22133</id>
		<title>Foobar2000:Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=22133"/>
		<updated>2010-10-31T11:25:49Z</updated>

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

		<summary type="html">&lt;p&gt;Chris norman: /* ELPlaylist Reference (translated and adapted from Japanese Read me) */&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22131</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22131"/>
		<updated>2010-10-31T11:19:00Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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.2+]&lt;br /&gt;
* [http://yuo.be/columns.php Columns UI 0.3+]&lt;br /&gt;
&lt;br /&gt;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.8.3a (2009/12/11)&lt;br /&gt;
for foobar2000 v0.9.5.2+, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Panel Splitter shares many similarities to the playlist panel component [[Foobar2000:Components 0.9/ELplaylist panel (foo uie elplaylist) | ELPlaylist]], 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;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000_Talk:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22115</id>
		<title>Foobar2000 Talk:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000_Talk:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22115"/>
		<updated>2010-10-30T23:07:59Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: Created page with &amp;quot;== First clean-up finished ==  I made a first clean up of the (machine) translated manual and adapted everything according to the [[Foobar2000:Title Formatting Reference|Title Fo…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== First clean-up finished ==&lt;br /&gt;
&lt;br /&gt;
I made a first clean up of the (machine) translated manual and adapted everything according to the [[Foobar2000:Title Formatting Reference|Title Format]] reference. Furthermore, I started to correct passages so that they are actually understandable. Because large parts are identical to elplaylist documentation I just copied them&lt;br /&gt;
&lt;br /&gt;
To proceed there is still plenty of work to be done:&lt;br /&gt;
* Further corrections (language and content)&lt;br /&gt;
* Screen shots&lt;br /&gt;
* Examples&lt;br /&gt;
&lt;br /&gt;
Therefore everyone is welcomed to complete the documentation :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Chris norman|Chris norman]] 23:07, 30 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22114</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22114"/>
		<updated>2010-10-30T23:05:40Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* PanelList */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
*** So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22113</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22113"/>
		<updated>2010-10-30T23:05:01Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Read me (translated from the Japanese original) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Reference (translated and adapted from Japanese Read me) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
** -&amp;gt; So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22112</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22112"/>
		<updated>2010-10-30T23:03:51Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Read me (translated from the Japanese original) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
** -&amp;gt; So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22111</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22111"/>
		<updated>2010-10-30T23:03:26Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Read me (translated from the Japanese original) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
** -&amp;gt; So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22110</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22110"/>
		<updated>2010-10-30T23:02:44Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* PanelList */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Read me (translated from the Japanese original) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
** -&amp;gt; So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22109</id>
		<title>Foobar2000:Components 0.9/Panel Stack Splitter (foo uie panel splitter)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)&amp;diff=22109"/>
		<updated>2010-10-30T23:02:22Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Read me (translated from the Japanese original) */ First Clean-up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foo_uie_panel_splitter&#039;&#039;&#039; is an extension for Columns UI that allows you to place objects freely within the foobar2000 window, including panels, text (e.g., track info), and images.&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;
= Read me (translated from the Japanese original) =&lt;br /&gt;
&lt;br /&gt;
foo_uie_panel_splitter.dll v0.3.6.3 (alpha ver)&lt;br /&gt;
for foobar2000 v0.9.5.1 +, Columns UI0.3 +, WindowsXP +&lt;br /&gt;
&lt;br /&gt;
Columns UI panel to place the splitter&lt;br /&gt;
And without borders, or a little over a panel and set the highest possible degree of freedom.&lt;br /&gt;
Has been stable or loose?&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Add and remove panels from the basic layout of the ColumnsUI do.&lt;br /&gt;
They can add from the context menu.&lt;br /&gt;
&lt;br /&gt;
Placement of the panel and automatic alignment mode, forced mode is set. Auto-deploy mode, a horizontal (Horizontal) or placed in a vertical direction (Vertical) or choose a place. Forced layout mode that is placed on the force placed on the panel.&lt;br /&gt;
&lt;br /&gt;
== Setting up menus and items ==&lt;br /&gt;
&lt;br /&gt;
=== PanelList ===&lt;br /&gt;
* size: size of the display panel (Horizontal size if horizontal, Vertical Vertical size of it)&lt;br /&gt;
* lock size: a place without scaling.&lt;br /&gt;
** off when the size of each panel to be placed according to the Splitter and the appropriate scaling for size.&lt;br /&gt;
** ± 1 to lock the current situation that would blur pixel minutes.&lt;br /&gt;
** -&amp;gt; So hard to fix, could not fix.&lt;br /&gt;
&lt;br /&gt;
* forced layout: left Top width right under it to force the panel to be placed in the specified range.&lt;br /&gt;
(size and auto-scaling is disabled)&lt;br /&gt;
&lt;br /&gt;
If you stacked the panel appears on the front panel as a list of the top panel (But depends on the implementation of the child panel. I have come to the front panel profusely.) Title Formatting is enabled.&lt;br /&gt;
%_width% %_height% in the horizontal width of the Panel Stack Splitter, you can see the vertical width.&lt;br /&gt;
Example:&lt;br /&gt;
 left: $div(%_width%,4)&lt;br /&gt;
 top: $div(%_height%,4)&lt;br /&gt;
 width: $div(%_width%,2)&lt;br /&gt;
 height: $div(%_height%,2)&lt;br /&gt;
&lt;br /&gt;
Also, Splitter mode to specify a value relative to size.&lt;br /&gt;
is on the use percentage value is, Splitter percentage for the size of the [0-100] can be specified.&lt;br /&gt;
use percentage value of setting example:&lt;br /&gt;
 left: 25&lt;br /&gt;
 top: 25&lt;br /&gt;
 width: 50&lt;br /&gt;
 height: 50&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* padding: Add a space around the panel.&lt;br /&gt;
Title Formatting to put the numbers are fixed, so invalid. If the automatic alignment panels, padding can be resized with the mouse as if the border is set. enable resizable border with on / off can be&lt;br /&gt;
&lt;br /&gt;
* caption: The name of the panel, the identifier&lt;br /&gt;
* use background color: the color specified, the background fill.&lt;br /&gt;
* use image: specify a fixed background image. TitleFormatting is disabled.&lt;br /&gt;
* pseudo transparent: splitter to simulate a transparent background. (splitter and if you use the nest)&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* ColumnsUI in the panel is to present the panel with the transparent background feature, use background color or use image backgrounds are often not transparent and does not use the panel.&lt;br /&gt;
&lt;br /&gt;
=== Script Tab ===&lt;br /&gt;
&lt;br /&gt;
titleformat mode on startup: when you start the TitleFormat PerTrack modes.&lt;br /&gt;
* now playing TF play that track&lt;br /&gt;
* follow cursor on the selected tracks in playlist&lt;br /&gt;
* last mode at the end of the previous mode (the switch mode button to save)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* title formatting script:&lt;br /&gt;
Titleformat here to describe, and decorative backgrounds. However, the child is on the panel can not be drawn.&lt;br /&gt;
&lt;br /&gt;
Extended Command Reference&lt;br /&gt;
Sensitive argument, or optional, and not implemented.&lt;br /&gt;
Note: Do not waste the space. (Carriage return accepted)&lt;br /&gt;
&lt;br /&gt;
in title formatting script is evaluated,&lt;br /&gt;
* Today&lt;br /&gt;
* Per Track: track and play and play·When the user changes the size of the state changed when paused. Function when the REFRESH button.&lt;br /&gt;
* Per Second: second, when a change in the state play in the function when the REFRESH button.&lt;br /&gt;
&lt;br /&gt;
[Note]&lt;br /&gt;
* Per Second, especially that not only can handle high-stress functions.&lt;br /&gt;
* GDI is recommended that you use the drawing functions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
&lt;br /&gt;
=== %ps_width% ===&lt;br /&gt;
Returns the width of the Splitter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_height% ===&lt;br /&gt;
Returns the height of the Splitter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_tfmode% ===&lt;br /&gt;
TF mode returns. (Per Track when enabled)&lt;br /&gt;
* 0 nowplaying mode&lt;br /&gt;
* 1 follow cursor mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_isplaying% ===&lt;br /&gt;
Whether during playback&lt;br /&gt;
&lt;br /&gt;
=== %ps_ispause% ===&lt;br /&gt;
Whether suspended&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== %ps_foobar2000_path% ===&lt;br /&gt;
Foobar2000 executable path&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&lt;br /&gt;
=== $font(name,size,OPTIONS) ===&lt;br /&gt;
Font settings.&lt;br /&gt;
* OPTIONS: bold italic underline strikeout&lt;br /&gt;
* Example: $font(Tahoma,10,bolditalic)&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;
* glow_aa be used only when the specified&lt;br /&gt;
* outline: colour color draws a thin border of the specified character (if glow_aa)&lt;br /&gt;
* Colour r-g-b&lt;br /&gt;
* semibold to the characters a little thick (if glow_aa)&lt;br /&gt;
&lt;br /&gt;
These specifications may be changed.&lt;br /&gt;
Changes in the glow, especially drawing, and semibold outline and may be discontinued.&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,leftvcenter,glow:2:255-255-255)&lt;br /&gt;
* $drawstring(efgh,10,10,,,255-255-255,vcenterglow_aa,glow:1:32-168-268semibold)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,glow_aa,glow:0:32-168-268semiboldoffset:2:1outline:32-168-268)&lt;br /&gt;
* $drawstring(wxyz,10,10,,,255-255-255,,glow:2:32-168-268: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;
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;
Examples:&lt;br /&gt;
* $drawthemerect (0,0,%el_width%,%el_height%,tab,10,0) / / tab of body parts drawn&lt;br /&gt;
* $drawthemerect (,,,,progress,3,0) / / Draw the progress bar bar&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;
&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;
===  $drawimage(x,y,w,h,path,OPTIONS,n,aplha) ===&lt;br /&gt;
&lt;br /&gt;
Displays an image at Coordinates (x,y) with size (w,h) specified by path.&lt;br /&gt;
The function is similar to $imageabs.&lt;br /&gt;
w and h show the size of the original if omitted.&lt;br /&gt;
Removed from memory immediately after being displayed.&lt;br /&gt;
TF to be reloaded each time the images are evaluated.&lt;br /&gt;
&lt;br /&gt;
You can see a huge image, the amount of occupied memory?RASHITAKATTARI to see more pictures, $imageabs for those who do not like the resizing process.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OPTIONS&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;nokeepaspect&#039;&#039;: not to maintain aspect ratio&lt;br /&gt;
* Alignment&lt;br /&gt;
** Left&lt;br /&gt;
** Right&lt;br /&gt;
** Top&lt;br /&gt;
** Bottom&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;
alpha: 0-255&lt;br /&gt;
* Opacity (transparency)&lt;br /&gt;
&lt;br /&gt;
== Additional drawing functions  ==&lt;br /&gt;
&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;
=== $setparcentmode(bx,by,bw,bh) ===&lt;br /&gt;
Set the mode to specify the coordinates.&lt;br /&gt;
Window space&lt;br /&gt;
(0,0) ~ (%_width%,%_height%) where a, percentage specified in the mode, (0,0) to (100100) mapping.&lt;br /&gt;
*x,y,W,H, can be set individually.&lt;br /&gt;
*x,y,W,H, all affect the function of one argument.&lt;br /&gt;
&lt;br /&gt;
* bx x coordinate specified mode&lt;br /&gt;
** 0: Splitter mode specified in absolute coordinates&lt;br /&gt;
** 1: Splitter value relative to the size (percentage) and designated.&lt;br /&gt;
* mode specified by y coordinates&lt;br /&gt;
* bw w coordinates specified mode&lt;br /&gt;
* bh h coordinates specified mode&lt;br /&gt;
&lt;br /&gt;
=== $getsyscolour (index) ===&lt;br /&gt;
The r-g-b color system in the fo&lt;br /&gt;
&lt;br /&gt;
index: [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;
== General-purpose system functions ==&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;
&amp;lt;!--Elplaylist lists here $el_scale(val,factor[,DIV]) as another function --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== function buttons ==&lt;br /&gt;
&lt;br /&gt;
=== $textbutton(x,y,w,h,text,mover_text,command,options1,options2) ===&lt;br /&gt;
Create a button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;text&#039;&#039;&#039;: the button label&lt;br /&gt;
* &#039;&#039;&#039;mover_text&#039;&#039;&#039;: the button label when mouse over&lt;br /&gt;
&lt;br /&gt;
command: &amp;quot;Type of instruction: arguments&amp;quot; specified in the form of&lt;br /&gt;
* be no extra spaces&lt;br /&gt;
* Going to be separated by a specified multiple orders.&lt;br /&gt;
* A few instructions that can be specified.&lt;br /&gt;
* Very difficult to implement. . .&lt;br /&gt;
* And the splitter so that the characters and words in these arguments, could not parse well.&lt;br /&gt;
&lt;br /&gt;
Note 1: Do not specify the order processing time.&lt;br /&gt;
Note 2: If you specify more than one instruction, the instruction execution order is not guaranteed. Especially if WINDOWSIZE and COMMAND is specified, WINDOWSIZE probably be better to run. COMMAND, CONTEXT and others, the order may be warranted.&lt;br /&gt;
&lt;br /&gt;
COMMAND: command_path&lt;br /&gt;
* command_path to run the command specified by menu.&lt;br /&gt;
* COMMAND: View / Equalizer and COMMAND: File / Preferences; COMMAND: Playback / Play&lt;br /&gt;
* To specify that you can use the input help in setting some of them.&lt;br /&gt;
* TF command_path Note also that as COMMAND: &#039;View / Equalizer&#039; and it&#039;s recommended.&lt;br /&gt;
&lt;br /&gt;
CONTEXT: context_path&lt;br /&gt;
* context_path KONTEKISUTOMENYUKOMANDO be designated to perform.&lt;br /&gt;
* Handles the context menu of the currently playing track.&lt;br /&gt;
* CONTEXT: Properties to specify the like.&lt;br /&gt;
* TF context_path Note also that as&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PANELSHOW: cap: sh&lt;br /&gt;
*The caption of the child panel cap / hide.&lt;br /&gt;
*sh: 0 hide&lt;br /&gt;
**    1.&lt;br /&gt;
**   -1 Show / hide toggle&lt;br /&gt;
&lt;br /&gt;
TFMODE: mode&lt;br /&gt;
*Per Track titleformat to change the mode.&lt;br /&gt;
*mode: 0 nowplaying mode&lt;br /&gt;
** 1 follow curosr mode&lt;br /&gt;
** -1 Toggle&lt;br /&gt;
&lt;br /&gt;
REFRESH: TF of PerTrack, PerSecond update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
specify the default decoration (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;options2&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
decorative specify when mouse over (can specify more than one, separated by spaces)&lt;br /&gt;
* fontcolor: r-g-b-color of the text&lt;br /&gt;
* brushcolor: rgba color fills the rectangle button&lt;br /&gt;
* pencolor: r-g-b-a color button border&lt;br /&gt;
* left top bottom right position of the text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples_&lt;br /&gt;
* $textbutton (0,0,80,20,play,play,COMMAND: Playback / Play,fontcolor:64-64-64brushcolor:192-192-192-128pencolor:0-0-0,fontcolor:32--32-32)&lt;br /&gt;
* $textbutton (100,0,80,20,Resize,Resize,PANELSHOW:aaa:-1;REFRESH,fontcolor:64-64-64leftbottom,fontcolor:32-32-32)&lt;br /&gt;
&lt;br /&gt;
=== $imagebutton(x,y,w,h,path,mover_path,command,options1,options2) ===&lt;br /&gt;
Create an image button.&lt;br /&gt;
Per Track only available. Per Second is not to write.&lt;br /&gt;
The internal processing of the images are treated equally and $imageabs will be cached in memory.&lt;br /&gt;
w, h is omitted, path to original image size is specified.&lt;br /&gt;
textbutton command is common.&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
 &lt;br /&gt;
OPTIONS1&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&lt;br /&gt;
&lt;br /&gt;
OPTIONS2:&lt;br /&gt;
&lt;br /&gt;
When mouse over the image display options&lt;br /&gt;
* nokeepaspect&lt;br /&gt;
* left &lt;br /&gt;
* top &lt;br /&gt;
* bottom &lt;br /&gt;
* right&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;
== Panel operating system functions ==&lt;br /&gt;
&lt;br /&gt;
Apparently drawing functions and the TF is such low efficiency of the frame together,&lt;br /&gt;
Future plans to??.&lt;br /&gt;
&lt;br /&gt;
=== $showpanel(i,sh) or $showpanel_c(caption,sh) ===&lt;br /&gt;
Panel, change the function inactive&lt;br /&gt;
* &#039;&#039;&#039;i&#039;&#039;&#039;: somethingth in the child panel list (counting from 0)&lt;br /&gt;
* &#039;&#039;&#039;sh&#039;&#039;&#039;: 0: Inactive 1: View&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $movepanel(i,x,y,W,H,) or $movepanel_c(caption,x,y,W,H,) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039; somethingth in the child panel list (counting from 0)&lt;br /&gt;
&lt;br /&gt;
Panel Force layout only for the specified coordinates (x, y) size (w, h) to move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $getcaption(i) ===&lt;br /&gt;
&#039;&#039;&#039;i&#039;&#039;&#039;: returns the list of child panel captions are set in the second panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $isvisible_c(caption) ===&lt;br /&gt;
Returns the status panel.&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=62114 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22108</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=22108"/>
		<updated>2010-10-30T22:33:17Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $getsyscolour(index) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22107</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=22107"/>
		<updated>2010-10-30T22:26:34Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $getimagewidth(path),$getimageheight(path) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22106</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=22106"/>
		<updated>2010-10-30T22:23:38Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $measurestring(text,x,y,W,H,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22105</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=22105"/>
		<updated>2010-10-30T21:54:47Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $imageabs_rc(rw,rh,srcx,srcy,srcw,srch,x,y,path,OPTIONS,n,alpha,OPTIONS2) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22104</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=22104"/>
		<updated>2010-10-30T10:20:50Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $imageabs(x,y,w,h,path,OPTIONS,n,alpha,OPTIONS2) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22103</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=22103"/>
		<updated>2010-10-30T09:07:46Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22102</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=22102"/>
		<updated>2010-10-30T00:20:10Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawtriangle(x1,y1,x2,y2,x3,y3,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 (x,y) and with size (w,h).&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22101</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=22101"/>
		<updated>2010-10-30T00:17:44Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawellipse(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 (x,y) and with size (w,h).&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22100</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=22100"/>
		<updated>2010-10-29T18:33:02Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawroundrect(x,y,w,h,w2,h2,R1-G1-B1-A1,R2-G2-B2-A2,RESERVED) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22099</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=22099"/>
		<updated>2010-10-29T16:32:55Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawblurrect(x,y,w,h,colour,level) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22098</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=22098"/>
		<updated>2010-10-29T16:30:06Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gradientrect(x,y,w,h,r1-g1-b1-a1,r2-g2-b2-a2,OPTIONS,PEAK) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22097</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=22097"/>
		<updated>2010-10-29T16:15:25Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawrect(x,y,w,h,R1-G1-B1-A1,R2-G2-B2-A2,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22096</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=22096"/>
		<updated>2010-10-29T16:08:50Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22095</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=22095"/>
		<updated>2010-10-29T15:54:06Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) */ further clean-up&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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;
&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; (experimental stage) - specifying the terms of the glow effect:&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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22094</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=22094"/>
		<updated>2010-10-29T15:49:52Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text 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 [[#$drawtext(text,x,y,W,H,r-g-b,OPTIONS) | $drawtext]] $drawtextex not only in view. 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;
&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; (experimental stage) - specifying the terms of the glow effect:&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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22093</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=22093"/>
		<updated>2010-10-29T15:46:17Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) */ further clean-up&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text 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 $drawtext $drawtextex not only in view. 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;
&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; (experimental stage) - specifying the terms of the glow effect:&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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22091</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=22091"/>
		<updated>2010-10-27T17:29:59Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* %el_is_collapsed% (%el_is_hide_item%) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Group header] [Group row]&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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=22090</id>
		<title>Foobar2000:Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components&amp;diff=22090"/>
		<updated>2010-10-27T17:24:22Z</updated>

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

		<summary type="html">&lt;p&gt;Chris norman: /* $getlastpos(elem) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_collapsed% (%el_is_hide_item%) ===&lt;br /&gt;
Whether to close the group. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] &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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22088</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=22088"/>
		<updated>2010-10-25T13:10:27Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: Undo revision 22087 by Chris norman (Talk)&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_collapsed% (%el_is_hide_item%) ===&lt;br /&gt;
Whether to close the group. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] &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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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, measurestring 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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22087</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=22087"/>
		<updated>2010-10-25T13:03:59Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $measurestring(text,x,y,W,H,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_collapsed% (%el_is_hide_item%) ===&lt;br /&gt;
Whether to close the group. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] &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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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, measurestring 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;OPTIONS&#039;&#039; is the same as &#039;&#039;[[#$drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) | $drawstring]]&#039;&#039;. If &#039;&#039;[[#$drawstring(text,x,y,W,H,rgba,OPTIONS[,OPTIONS2]) | $drawstring]]&#039;&#039; 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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22086</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=22086"/>
		<updated>2010-10-25T13:02:00Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $measurestring(text,x,y,W,H,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_collapsed% (%el_is_hide_item%) ===&lt;br /&gt;
Whether to close the group. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] &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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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, measurestring 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;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/ELplaylist_panel_(foo_uie_elplaylist)&amp;diff=22085</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=22085"/>
		<updated>2010-10-25T13:01:11Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $measurestring(text,x,y,W,H,OPTIONS) */&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.&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 version is &#039;&#039;v0.6.9.0b (2010/07/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;
=== %el_width% ===&lt;br /&gt;
Returns the width of the viewing area of the line&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_height% ===&lt;br /&gt;
Returns the height of the viewing area of the line. (Line group &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_group_row%&#039;&#039; * &#039;&#039;%el_row_height%&#039;&#039; Track line &#039;&#039;%el_height%&#039;&#039; = &#039;&#039;%el_row_height%&#039;&#039;) $setworldtransform () is affected.)&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] [Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_isplaying% ===&lt;br /&gt;
Returns is a track is playback back.&lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_selected% ===&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;
=== %el_focused% ===&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;
=== %el_row_height% ===&lt;br /&gt;
Returns the height of the basic line. (&#039;&#039;%El_height%&#039;&#039; header line is a different group.) &lt;br /&gt;
&lt;br /&gt;
[Track list] [Group header] [Per Second] &lt;br /&gt;
&lt;br /&gt;
=== %el_group_row% ===&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;
=== %el_item_count% ===&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;
=== %el_item_count2% ===&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;
=== %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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Per Second] [Popup] &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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] [Popup] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_collapsed% (%el_is_hide_item%) ===&lt;br /&gt;
Whether to close the group. (Whether or not display the group header only)&lt;br /&gt;
&lt;br /&gt;
[Group header] [Group row] &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;
[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;
=== %el_is_valid% ===&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;
=== %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;
[Track list] [Per Second] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &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;
[Track list] [Group header] [Per Second] [Group row] [Min item num] &lt;br /&gt;
&lt;br /&gt;
=== %el_backcolour% ===&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;
=== %el_preset_index% ===&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;
=== %el_preset_name% ===&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;
=== %el_is_group% ===&lt;br /&gt;
Popup whether the group header. [Popup] &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;
[Popup] &lt;br /&gt;
&lt;br /&gt;
=== %el_is_themed% ===&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 text coordinates (x,y). The size of the text field is defined by widh (W) and (H).&lt;br /&gt;
[Note] This function is a string and DrawText drawtextex not only in view. Might work for TrueType fonts, only.&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Alain specified, the specified quality of drawing, and to specify the clip.&lt;br /&gt;
* Alain left hcenter right specified horizontal&lt;br /&gt;
* Alain specified top vcenter bottom vertical&lt;br /&gt;
* nowrap not wraparound&lt;br /&gt;
* noaa ClearType and disable anti-aliasing.&lt;br /&gt;
* aa put the anti-aliasing mode. ClearType font such as resistance to the anti-aliasing.&lt;br /&gt;
* hq high quality rendering mode. ClearType mode. (default)&lt;br /&gt;
&lt;br /&gt;
* If you set the trimming &#039;&#039;trimchar&#039;&#039; trimword fit the display range&lt;br /&gt;
* elipchar elipword the last to fit the display range If···set to replace the&lt;br /&gt;
&lt;br /&gt;
* mempos getlastpos, to be able to get the coordinates of the drawing.&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (experimental stage) - specifying the terms of the glow effect:&lt;br /&gt;
* glow: expand: colour [: strength] glow options&lt;br /&gt;
* Expand - [0-5]&lt;br /&gt;
* Colour - r-g-b&lt;br /&gt;
* Strength - [0-3] glow_aa case of disabled&lt;br /&gt;
&lt;br /&gt;
Offset:x:y&lt;br /&gt;
* X - glow in the horizontal offset&lt;br /&gt;
* Y - 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 functions.  Coordinates (x,y) size (w,h) Draws a rectangle.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 border color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Gradient fill in the drawing functions in the rectangle. Coordinates (x, y) size (w, h) Draws a rectangle.&lt;br /&gt;
* R1-g1-b1-a1 Gradient start color&lt;br /&gt;
* R2-g2-b2-a2 peak color gradient&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Vertical gradient of vertical&lt;br /&gt;
* Gradient horizontal horizontal&lt;br /&gt;
* Aa put ANCHIERIASU&lt;br /&gt;
* how nonlinear nonlinear gradient&lt;br /&gt;
&lt;br /&gt;
PEAK: 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;
Filling a rectangle drawing functions to blur the outline.&lt;br /&gt;
Level [1-7]&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;
Draw a rectangle rolled angle function. Coordinates (x, y) size (w, h) to draw a rectangle with the corners rolled. Rounded the corner, w2, h2 can be adjusted.&lt;br /&gt;
* w&amp;gt; 4 * w2 &amp;amp; &amp;amp; h&amp;gt; 4 * h2 satisfy the need.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* $drawroundrect(10,20,50,50,4,4255-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;
Ellipse drawing functions. Coordinates (x, y) size (w, h) draws an ellipse.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 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;
* (x1, y1), (x2, y2), (x3, y3) Draw a triangle and vertex function.&lt;br /&gt;
* R1-G1-B1-A1 internal color&lt;br /&gt;
* R2-G2-B2-A2 Border Color&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
* Aa - put ANCHIERIASU&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;
Coordinates (x, y) size (w, h) show the images in the path is specified. Images are retained in memory and after resizing the image, if you raise the efficiency of the process see below. The image is referenced, the memory is removed from them. 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)&lt;br /&gt;
&lt;br /&gt;
?ITAI a reduced rate if more than one. Poor quality and will be expanded after the reduction.&lt;br /&gt;
Nodisplay noexpansion and use, Cache memory may be the largest reduction in the rate of reduction in the rate of use.&lt;br /&gt;
&lt;br /&gt;
If there are images true, if false is returned. Dipsplays the image specified by path. After the image is resized, it is cached on the memory.&lt;br /&gt;
&lt;br /&gt;
path:&lt;br /&gt;
* absolute path of the image (or an embedded image of AudioFile path)&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;appearance&amp;gt;&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio (nodisplay, archive, icon options and non-exclusive).&lt;br /&gt;
* Hide nodisplay read only memory.&lt;br /&gt;
* noexpansion will reduce, not increase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;align&amp;gt; exclusive.&lt;br /&gt;
* Left right horizontal aryne specified.&lt;br /&gt;
* Specify vertical aryne top bottom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;misc&amp;gt;&lt;br /&gt;
* wc wildcard (*,?) enabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;read engine&amp;gt; exclusive.&lt;br /&gt;
&lt;br /&gt;
archive 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;
&lt;br /&gt;
Example:&lt;br /&gt;
* C:\aaa\image.zip | bbb/ccc.jpg&lt;br /&gt;
icon path is specified in the icon file (*. ico) to appear.&lt;br /&gt;
&lt;br /&gt;
Audio artreader path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
If you do not have embedded images, Audio files to load the images folder. However slow.&lt;br /&gt;
* Audio artreader_front path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_back path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_disc path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
* Audio artreader_icon path specified by the embedded image file foobar2000 loaded at the core of the artwork reader.&lt;br /&gt;
(artreader *** are currently disrecommended options because these option seem to be slow)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
OPTIONS2 (shadow effect)&lt;br /&gt;
* Glow:expand:colour&lt;br /&gt;
* Offset:x:y&lt;br /&gt;
&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,lefttop)&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;
OPTIONS (imageabs):&lt;br /&gt;
* nokeepaspect not maintain the aspect ratio&lt;br /&gt;
* Hide nodisplay read only memory&lt;br /&gt;
* Archive&lt;br /&gt;
* Icon&lt;br /&gt;
*     (Left&lt;br /&gt;
*       Hcener&lt;br /&gt;
*        Right&lt;br /&gt;
*        Top&lt;br /&gt;
*        Vcenter&lt;br /&gt;
*            bottom)&lt;br /&gt;
&lt;br /&gt;
N 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;
Alpha (Opacity)&lt;br /&gt;
* 0-255&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $imageabs_rc(200100,0,0100,50,10,10,C:\%album%.jpg,,6192)&lt;br /&gt;
* $imageabs_rc(200100,0,0200100,10,10,C:\%album%.jpg,,) (=$imageabs(10,10200100,C:\%album%.jpg,lefttop,,))&lt;br /&gt;
* $imageabs_rc(150120,0,0150120,20,15,C:\%album%.jpg,hcenter vcenter,) (=$imageabs(20,15150120,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, measurestring 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 [[#$getlastpos(elem) | $getlastpos]]. &#039;&#039;OPTIONS&#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 $ imageabs $ imageabs_rc of cache memory. If the image has been resized in the horizontal width and vertical width returns. This means that only have &#039;&#039;$imageabs&#039;&#039; &#039;&#039;$imageabs_rc&#039;&#039; behind. nokeepaspect 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;index: [0-30] color index system&#039;&#039;&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>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22071</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22071"/>
		<updated>2010-10-20T17:21:04Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_set_smoothing_mode(antialias) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
Last version of this component is rev015. &#039;&#039;&#039;Further development for the component has ceased since, but as of foobar2000 1.1. it is still fully working.&#039;&#039;&#039; This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
** 0 - disable&lt;br /&gt;
** 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
** &amp;quot;default&amp;quot; - default&lt;br /&gt;
** &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
** &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
** &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
** &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
** &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22070</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22070"/>
		<updated>2010-10-20T17:19:59Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_set_text_rendering_hint(mode) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
Last version of this component is rev015. &#039;&#039;&#039;Further development for the component has ceased since, but as of foobar2000 1.1. it is still fully working.&#039;&#039;&#039; This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
** &amp;quot;default&amp;quot; - default&lt;br /&gt;
** &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
** &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
** &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
** &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
** &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22069</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22069"/>
		<updated>2010-10-20T17:15:35Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Graphical Browser reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
Last version of this component is rev015. &#039;&#039;&#039;Further development for the component has ceased since, but as of foobar2000 1.1. it is still fully working.&#039;&#039;&#039; This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22068</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22068"/>
		<updated>2010-10-20T17:15:08Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Graphical Browser reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
Last version of this component is rev015. &#039;&#039;&#039;Further development for the component has ceased since, but as of foobar2000 1.1. still fully working.&#039;&#039;&#039; This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22067</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22067"/>
		<updated>2010-10-20T17:14:29Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* Graphical Browser reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
Last version of this component is rev015. &#039;&#039;&#039;Further development for the component vase ceased since, but as of foobar2000 1.1. still fully working.&#039;&#039;&#039; This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22066</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22066"/>
		<updated>2010-10-20T17:05:21Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;br /&gt;
* [https://docs.google.com/leaf?id=0By5oGIJU70FaNGNiYzlmMTYtYTAyOC00MmZkLTgxYjktYTE5NDk4MTg3NWIw&amp;amp;hl=en Download link]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22065</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22065"/>
		<updated>2010-10-20T13:13:44Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_draw_string_path(str,size,mode,x,y) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22064</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22064"/>
		<updated>2010-10-20T13:12:27Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_fill_rectangle(x,y,width,height) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_pen&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22063</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22063"/>
		<updated>2010-10-20T13:12:15Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_pen&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22062</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22062"/>
		<updated>2010-10-20T13:11:24Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_pen&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22061</id>
		<title>Foobar2000:Components 0.9/Graphical Browser (foo uie graphical browser)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Graphical_Browser_(foo_uie_graphical_browser)&amp;diff=22061"/>
		<updated>2010-10-20T13:11:08Z</updated>

		<summary type="html">&lt;p&gt;Chris norman: /* $gp_draw_rectangle(x,y,width,height) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{fb2k}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
foobar2000 v0.9.5.1+, Columns UI 0.3+&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;
= Graphical Browser reference =&lt;br /&gt;
&lt;br /&gt;
This reference is based on the Readme translated by &#039;&#039;&#039;thuan&#039;&#039;&#039; (rev014).&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Album cover browser for the active playlist.&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Caution&#039;&#039;&#039;: Settings are per panel so if you delete a panel, the settings for that panel also disappear.&lt;br /&gt;
&lt;br /&gt;
=== Sort ===&lt;br /&gt;
Blank Whatever works. Sorted by grouped strings.&lt;br /&gt;
&lt;br /&gt;
If you want to arrange in the same order as the playlist: &#039;&#039;$num(%gb_playlist_number%,10)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Popup ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Transparent mode&#039;&#039;: You can apply different level of transparence to every pixel. (e.g.: transparent background with full opacity image and text.) GDI can&#039;t be used, please use GDI+ only. Even with GDI+, text rendering without using $gp_set_text_rendering_hint(aa) doesn&#039;t look good enough. Per track&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Draw order&#039;&#039;: Popup ? Per track(0) ? Per track(1) ? ...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rendering settings (e.g.: pen, brush, font, ...) can&#039;t be set again midway.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Image cache methods ===&lt;br /&gt;
&lt;br /&gt;
Old rev011 and older way. Cache images of all items. Image cache is purged when switching playlist. Default Cache images to the set size. Image cache is not purged when switching playlist. If the image cache reach the limit, it will be purged.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
&lt;br /&gt;
=== %gb_group% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return the group string. E.g.: If you used &#039;&#039;$if2(%album%,@skip)&#039;&#039; to group, it will return &#039;&#039;%album%&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== %gb_width% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item width&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup width&lt;br /&gt;
&lt;br /&gt;
=== %gb_height% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Item height&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Popup height&lt;br /&gt;
&lt;br /&gt;
=== %gb_focused% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Check whether focus is on the item or not&lt;br /&gt;
&lt;br /&gt;
=== %gb_mouse_over% ===&lt;br /&gt;
[Item]&lt;br /&gt;
&lt;br /&gt;
Check whether mouse cursor is on the item or not&lt;br /&gt;
&lt;br /&gt;
[Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Probably always true&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_index% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item index&lt;br /&gt;
&lt;br /&gt;
=== %gb_item_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item count&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_count% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of songs in an item&lt;br /&gt;
&lt;br /&gt;
=== %gb_playlist_number% ===&lt;br /&gt;
[Sort], [Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist for the first song in an item&lt;br /&gt;
&lt;br /&gt;
[Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return position of song in playlist&lt;br /&gt;
&lt;br /&gt;
=== %gb_col% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item column number&lt;br /&gt;
&lt;br /&gt;
=== %gb_row% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return item row number&lt;br /&gt;
&lt;br /&gt;
=== %gb_col_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of columns&lt;br /&gt;
&lt;br /&gt;
=== %gb_row_count% ===&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Return number of rows&lt;br /&gt;
&lt;br /&gt;
=== %gb_isplaying% ===&lt;br /&gt;
[Item], [Popup]&lt;br /&gt;
&lt;br /&gt;
Return true if a song in the item is playing&lt;br /&gt;
&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Return true if it is playing&lt;br /&gt;
&lt;br /&gt;
=== %gb_track_index% ===&lt;br /&gt;
[Per track (Popup)]&lt;br /&gt;
&lt;br /&gt;
Position of track in item (O based)&lt;br /&gt;
&lt;br /&gt;
=== %gb_length% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length of item/track&lt;br /&gt;
&lt;br /&gt;
=== %gb_length_seconds% ===&lt;br /&gt;
[Sort], [Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Total length in seconds of item/track&lt;br /&gt;
&lt;br /&gt;
=== Dimension calculations ===&lt;br /&gt;
* %gb_calc_x%&lt;br /&gt;
* %gb_calc_y%&lt;br /&gt;
* %gb_calc_width%&lt;br /&gt;
* %gb_calc_height%&lt;br /&gt;
[Item], [Popup], [Per track(Popup)]&lt;br /&gt;
&lt;br /&gt;
Values change with functions below&lt;br /&gt;
* $calc_text&lt;br /&gt;
* $gp_calc_string&lt;br /&gt;
* $gp_calc_string_path&lt;br /&gt;
* $draw_image&lt;br /&gt;
&lt;br /&gt;
== About functions ==&lt;br /&gt;
Functions are divided into GDI and GDI+. They are different in pens, brushes and points. For GDI, to set color with &amp;quot;r-g-b&amp;quot;, use a base 10 number for each color component; otherwise use base 16 number with &amp;quot;rrggbb&amp;quot;. For GDI+, to set color with &amp;quot;a-r-g-b&amp;quot;, se a base 10 number for each color component and alpha channel; otherwise use base 16 number with &amp;quot;aarrggbb&amp;quot;. If you want to draw some thing with transparency or effects like anti-aliasing, use GDI+. Some fonts (probably OpenType fonts with PostScript outline) can&#039;t be used in GDI+ mode. Full-width hyphen can&#039;t be displayed right in GDI+ mode.&lt;br /&gt;
&lt;br /&gt;
== GDI function ==&lt;br /&gt;
&lt;br /&gt;
=== $set_font(name,size,style) ===&lt;br /&gt;
Set font&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
&lt;br /&gt;
Set multiple styles by combining options&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $set_font_color(color) ===&lt;br /&gt;
Set font color&lt;br /&gt;
&lt;br /&gt;
color - color&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y) ===&lt;br /&gt;
Draw text&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $draw_text(str,x,y,width,height,[option1],[option2],...) ===&lt;br /&gt;
Draw text within the set limit&lt;br /&gt;
* str - string&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - drawing width&lt;br /&gt;
* height - drawing height&lt;br /&gt;
* option - other option&lt;br /&gt;
** &amp;quot;bottom&amp;quot; - draw at bottom, needs singleline&lt;br /&gt;
** &amp;quot;center&amp;quot; - center aligned&lt;br /&gt;
** &amp;quot;end_ellipsis&amp;quot; - if out of limit, append &amp;quot;....&amp;quot;&lt;br /&gt;
** &amp;quot;left&amp;quot; - left aligned&lt;br /&gt;
** &amp;quot;noclip&amp;quot; - no clip, same as no settings for width and height&lt;br /&gt;
** &amp;quot;path_ellipsis&amp;quot; – like end_ellipsis but used for file path&lt;br /&gt;
** &amp;quot;right&amp;quot; – right aligned&lt;br /&gt;
** &amp;quot;singleline&amp;quot; - display with 1 line&lt;br /&gt;
** &amp;quot;top&amp;quot; - draw at top&lt;br /&gt;
** &amp;quot;vcenter&amp;quot; - vertical center aligned, needs singleline&lt;br /&gt;
** &amp;quot;wordbreak&amp;quot; - display with multiple lines&lt;br /&gt;
** &amp;quot;word_ellipsis&amp;quot; - truncates any word that does not fit in the rectangle and adds ellipsis.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms533909.aspx&lt;br /&gt;
&lt;br /&gt;
=== $calc_text(str) ===&lt;br /&gt;
$calc_text(str,width,height,[option1],[option2],...)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments are the same as &#039;&#039;[[$draw_text]]&#039;&#039; except x and y.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain values after this function.&lt;br /&gt;
&lt;br /&gt;
=== $set_pen(color) ===&lt;br /&gt;
$set_pen(color,width)&lt;br /&gt;
$set_pen(color,width,style)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
* color - color&lt;br /&gt;
* width - width[1], only effective when using &amp;quot;solid&amp;quot; style&lt;br /&gt;
* style - style[&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/m...467(VS.85).aspx&lt;br /&gt;
&lt;br /&gt;
=== $set_brush(color) ===&lt;br /&gt;
$set_brush(color,style)&lt;br /&gt;
&lt;br /&gt;
Brush settings&lt;br /&gt;
* color - color&lt;br /&gt;
* style - style: if it is not set, then brush is solid&lt;br /&gt;
** &amp;quot;bdiagonal&amp;quot; - A 45-degree upward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;cross&amp;quot; - Horizontal and vertical cross pattern&lt;br /&gt;
** &amp;quot;diagcross&amp;quot; - 45-degree cross pattern&lt;br /&gt;
** &amp;quot;fdiagonal&amp;quot; - A 45-degree downward, left-to-right line pattern&lt;br /&gt;
** &amp;quot;horizontal&amp;quot; - Horizontal line pattern&lt;br /&gt;
** &amp;quot;vertical&amp;quot; - Vertical line pattern&lt;br /&gt;
&lt;br /&gt;
=== $draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_rect(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $fill_draw_rect(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
=== $round_rect(x,y,width,height,ellipse_width,ellipse_height) ===&lt;br /&gt;
Draw round corner rectangle with pen and brush&lt;br /&gt;
* x - start point x coordinate&lt;br /&gt;
* y - start point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* ellipse_width - ellipse width&lt;br /&gt;
* ellipse_height - ellipse height&lt;br /&gt;
&lt;br /&gt;
=== $draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen, end point is not drawn.&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
== GDI+ function ==&lt;br /&gt;
Because pen, brush, font do not have default values, please set them up with &#039;&#039;$gp_set_*&#039;&#039; before using.&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_pen(argb,width) ===&lt;br /&gt;
$gp_set_pen(argb,width,style,line_join)&lt;br /&gt;
&lt;br /&gt;
Pen settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb - color&lt;br /&gt;
* width - width&lt;br /&gt;
* style - style [&amp;quot;solid&amp;quot;]&lt;br /&gt;
** &amp;quot;solid&amp;quot; - solid line&lt;br /&gt;
** &amp;quot;dash&amp;quot; - dashed line&lt;br /&gt;
** &amp;quot;dot&amp;quot; - dotted line&lt;br /&gt;
** &amp;quot;dashdot&amp;quot; - line with alternating dashes and dots&lt;br /&gt;
** &amp;quot;dashdotdot&amp;quot; - line with alternating dashes and double dots&lt;br /&gt;
** line_join - stroke corner style [&amp;quot;miter&amp;quot;]&lt;br /&gt;
** &amp;quot;miter&amp;quot;&lt;br /&gt;
** &amp;quot;bevel&amp;quot;&lt;br /&gt;
** &amp;quot;round&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_brush(argb) ===&lt;br /&gt;
Monocolor brush setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
argb - color&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(style,argb1,argb2) ====&lt;br /&gt;
&lt;br /&gt;
Hatch brush settings&lt;br /&gt;
Argument:&lt;br /&gt;
* style - Style&lt;br /&gt;
* Use number in range 0 ~ 53.&lt;br /&gt;
&lt;br /&gt;
Details at http://msdn2.microsoft.com/en-us/library/ms534127.aspx&lt;br /&gt;
&lt;br /&gt;
* argb1 - Foreground color.&lt;br /&gt;
* argb2 - Background color.&lt;br /&gt;
&lt;br /&gt;
==== $gp_set_brush(argb1,x1,y1,argb2,x2,y2) ====&lt;br /&gt;
&lt;br /&gt;
Set brush with linear gradual effect&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* argb1 - color 1&lt;br /&gt;
* x1 - color 1 x coordinate&lt;br /&gt;
* y1 - color 1 y coordinate&lt;br /&gt;
* argb2 - color 2&lt;br /&gt;
* x2 - color 2 x coordinate&lt;br /&gt;
* y2 - color 2 y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_font(name,size) ===&lt;br /&gt;
$gp_set_font(name,size,style_1,style_2...)&lt;br /&gt;
&lt;br /&gt;
Font settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* name - font name&lt;br /&gt;
* size - font size&lt;br /&gt;
* style - style&lt;br /&gt;
* &amp;quot;b&amp;quot; - bold&lt;br /&gt;
* &amp;quot;i&amp;quot; - italic&lt;br /&gt;
* &amp;quot;bi&amp;quot; - bold and italic&lt;br /&gt;
* &amp;quot;u&amp;quot; - underline&lt;br /&gt;
* &amp;quot;s&amp;quot; - strikethrough&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_string_format(alignment,line_alignment,[trimming]) ===&lt;br /&gt;
Text drawing method settings&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* alignment - horizontal alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - left&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - right&lt;br /&gt;
* line_alignment - vertical alignment&lt;br /&gt;
** &amp;quot;near&amp;quot; - top&lt;br /&gt;
** &amp;quot;center&amp;quot; - center&lt;br /&gt;
** &amp;quot;far&amp;quot; - bottom&lt;br /&gt;
* trimming - Trimming.&lt;br /&gt;
** &amp;quot;character&amp;quot;&lt;br /&gt;
** &amp;quot;word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_character&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_word&amp;quot;&lt;br /&gt;
** &amp;quot;ellipsis_path&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_smoothing_mode(antialias) ===&lt;br /&gt;
Shape anti-alias setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* antialias - anti-alias&lt;br /&gt;
* 0 - disable&lt;br /&gt;
* 1 - enable&lt;br /&gt;
&lt;br /&gt;
=== $gp_set_text_rendering_hint(mode) ===&lt;br /&gt;
Text rendering method setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* mode - method&lt;br /&gt;
* &amp;quot;default&amp;quot; - default&lt;br /&gt;
* &amp;quot;sb+&amp;quot; - single bit per pixel grid fit&lt;br /&gt;
* &amp;quot;sb&amp;quot; - single bit per pixel&lt;br /&gt;
* &amp;quot;aa+&amp;quot; - anti alias grid fit&lt;br /&gt;
* &amp;quot;aa&amp;quot; - anti alias&lt;br /&gt;
* &amp;quot;ct&amp;quot; - clear type&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_arc(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw arc using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_ellipse(x,y,width,height) ===&lt;br /&gt;
Draw ellipse using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
*x - top left x coordinate&lt;br /&gt;
*y - top left y coordinate&lt;br /&gt;
*width - width&lt;br /&gt;
*height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_line(x1,y1,x2,y2) ===&lt;br /&gt;
Draw line using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x1 - start point x coordinate&lt;br /&gt;
* y1 - start point y coordinate&lt;br /&gt;
* x2 - end point x coordinate&lt;br /&gt;
* y2 - end point y coordinate&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Draw pie (fan shape) using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |#gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_rectangle(x,y,width,height) ===&lt;br /&gt;
Draw rectangle using pen&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string(str,x,y) ===&lt;br /&gt;
$gp_draw_string(str,x,y,width,height)&lt;br /&gt;
Draw string using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_text_rendering_hint&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string(str) ===&lt;br /&gt;
$gp_calc_string(str,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str when drawn&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_ellipse(x,y,width,height) ===&lt;br /&gt;
Fill ellipse using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* [[#$gp_set_pen(argb,width) |$gp_set_pen]]&lt;br /&gt;
* [[#$gp_set_smoothing_mode(antialias) |$gp_set_smoothing_mode]]&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_pie(x,y,width,height,start_angle,sweep_angle) ===&lt;br /&gt;
Fill pie using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* start_angle - start angle (degree)&lt;br /&gt;
* sweep_angle - end angle (degree)&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
=== $gp_fill_rectangle(x,y,width,height) ===&lt;br /&gt;
Fill rectangle using brush&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== $gp_draw_string_path(str,size,mode,x,y) ===&lt;br /&gt;
$gp_draw_string_path(str,size,mode,x,y,width,height)&lt;br /&gt;
&lt;br /&gt;
Draw string with border.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* str - string&lt;br /&gt;
* size - character size, px unit (different from current font size)&lt;br /&gt;
* mode - draw mode&lt;br /&gt;
* &amp;quot;&amp;quot; - fill and border&lt;br /&gt;
* &amp;quot;stroke&amp;quot; - only border&lt;br /&gt;
* &amp;quot;fill&amp;quot; - only fill&lt;br /&gt;
* x - top left x coordinate&lt;br /&gt;
* y - top left y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
Settings:&lt;br /&gt;
* $gp_set_pen&lt;br /&gt;
* $gp_set_brush&lt;br /&gt;
* $gp_set_font&lt;br /&gt;
* $gp_set_string_format&lt;br /&gt;
* $gp_set_smoothing_mode&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $gp_set_font(Tahoma,9,b)&lt;br /&gt;
* $gp_set_pen(ff1500ff,2,,round)&lt;br /&gt;
* $gp_set_brush(ffddeeff)&lt;br /&gt;
* $gp_set_string_format(center,center)&lt;br /&gt;
* $gp_set_smoothing_mode(1)&lt;br /&gt;
* $gp_draw_string_path(%gb_group%,16,,0,0,%gb_width%,%gb_height%)&lt;br /&gt;
&lt;br /&gt;
=== $gp_calc_string_path(str,size,mode) ===&lt;br /&gt;
$gp_calc_string_path(str,size,mode,width,height)&lt;br /&gt;
&lt;br /&gt;
Calculate size of str with border when drawn&lt;br /&gt;
&lt;br /&gt;
=== $draw_image(x,y,width,height,path) ===&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option)&lt;br /&gt;
&lt;br /&gt;
$draw_image(x,y,width,height,path,alpha,option,rotate_flip)&lt;br /&gt;
&lt;br /&gt;
Draw image function&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
* path - absolute path to image, wild cards are accepted.&lt;br /&gt;
* alpha - degree of opacity[255]&lt;br /&gt;
* option - other options[&amp;quot;&amp;quot;]&lt;br /&gt;
* &amp;quot;nokeepaspect&amp;quot; - don&#039;t keep picture aspect ratio&lt;br /&gt;
* &amp;quot;top&amp;quot; - draw at the top&lt;br /&gt;
* &amp;quot;topright&amp;quot; - draw on the top right&lt;br /&gt;
* &amp;quot;right&amp;quot; - draw from the right&lt;br /&gt;
* &amp;quot;bottomright&amp;quot; - draw on the bottom right&lt;br /&gt;
* &amp;quot;bottom&amp;quot; - draw at the bottom&lt;br /&gt;
* &amp;quot;bottomleft&amp;quot; - draw on the bottom left&lt;br /&gt;
* &amp;quot;left&amp;quot; - draw from the left&lt;br /&gt;
* &amp;quot;topleft&amp;quot; - draw on the top left&lt;br /&gt;
* rotate_flip - Rotation and flip [0]&lt;br /&gt;
** 0 - No rotation = Rotate right 180 degrees, flip vertically then horizontally&lt;br /&gt;
** 1 - Rotate right 90 degrees = Rotate right 270 degrees, flip vertically then horizontally&lt;br /&gt;
** 2 - Rotate right 180 degrees = Flip vertically then horizontally&lt;br /&gt;
** 3 - Rotate right 270 degrees = Rotate right 90 degrees, flip vertically then horizontally&lt;br /&gt;
** 4 - Flip horizontally = Rotate right 180 degrees, flip vertically&lt;br /&gt;
** 5 - Rotate right 90 degrees, flip horizontally = Rotate right 270 degrees, flip vertically&lt;br /&gt;
** 6 - Rotate right 180 degrees, flip horizontally = Flip vertically&lt;br /&gt;
** 7 - Rotate right 270 degrees, flip horizontally = Rotate right 90 degrees, flip vertically&lt;br /&gt;
&lt;br /&gt;
After executing this function, you can use &#039;&#039;%gb_calc_*%&#039;&#039; to obtain the real dimensions used.&lt;br /&gt;
&lt;br /&gt;
== Other functions ==&lt;br /&gt;
&lt;br /&gt;
=== $set_size(width,height) ===&lt;br /&gt;
Modify popup size, please use it only when drawing the popup. Popup size is the upper limits, you can only set to smaller sizes. &#039;&#039;%gb_width%&#039;&#039;, &#039;&#039;%gb_height%&#039;&#039; values are changed accordingly.&lt;br /&gt;
&lt;br /&gt;
When width or height is 0 or less, popup won&#039;t be drawn.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* width - width&lt;br /&gt;
* height - height&lt;br /&gt;
&lt;br /&gt;
=== $set_org(x,y) ===&lt;br /&gt;
Starting point setting&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* x - starting point x coordinate&lt;br /&gt;
* y - starting point y coordinate&lt;br /&gt;
&lt;br /&gt;
=== $sum(tf) ===&lt;br /&gt;
Calculate sum of values designated by TitleFormat.&lt;br /&gt;
&lt;br /&gt;
Arguments:&lt;br /&gt;
* tf - TitleFormat&lt;br /&gt;
&lt;br /&gt;
Example: Total number played&lt;br /&gt;
* $sum(&#039;%play_count%&#039;)&lt;br /&gt;
&lt;br /&gt;
=== $eval(expression) ===&lt;br /&gt;
Evaluate the expression and calculate&lt;br /&gt;
&lt;br /&gt;
expression - expression&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* $eval(5+3)&lt;br /&gt;
* $eval({%gp_width%-10}/2)&lt;br /&gt;
&lt;br /&gt;
Divide by zero expression returns 0.&lt;br /&gt;
&lt;br /&gt;
Can be used with sort&lt;br /&gt;
&lt;br /&gt;
== Change logs ==&lt;br /&gt;
2008/03/16 rev014&lt;br /&gt;
 Added - $set_size function&lt;br /&gt;
 Added - %gb_calc_x% variable&lt;br /&gt;
 Added - %gb_calc_y% variable&lt;br /&gt;
 Added - %gb_calc_width% variable&lt;br /&gt;
 Added - %gb_calc_height% variable&lt;br /&gt;
 Added - $calc_text function&lt;br /&gt;
 Added - $gp_calc_string function&lt;br /&gt;
 Added - $gp_calc_string_path function&lt;br /&gt;
 Fixed - $draw_image function&lt;br /&gt;
 Fixed - $gp_set_string_format function(trimming argument) (however, they can always be used before, just forgot to write here…&lt;br /&gt;
 Fixed - Several bugs fixed&lt;br /&gt;
2008/03/12 rev013&lt;br /&gt;
 Fixed - Fixed the slip happens sometimes when using keyboard to jump from item to item&lt;br /&gt;
 Fixed - When drawing in GDI mode, fixed a drawing background bug&lt;br /&gt;
2008/03/11 rev012&lt;br /&gt;
 Fixed - Fatal resource leak&lt;br /&gt;
 Added - Image cache options&lt;br /&gt;
2008/03/10 rev011&lt;br /&gt;
 Added - Ability to move focus to an item when pressing the first character of %gb_group% using keyboard&lt;br /&gt;
 Added - Ability to add to specified playlist instead of replacing it&lt;br /&gt;
 Fixed - Fixed a bug that prevents you to scroll in Windows 2000 (probably...)&lt;br /&gt;
 (TL&#039;s note: not sure about the last one, the meaning is a little vague and I don&#039;t have  Windows 2000 to test)&lt;br /&gt;
2008/03/09 rev010&lt;br /&gt;
 Fixed - For some reason, I changed the variable name %gb_subitem_count% to &#039;&#039;%gb_track_count%&#039;&#039; (the one before can still be used)&lt;br /&gt;
 Added - Function $gp_set_brush(style,argb1,argb2)&lt;br /&gt;
 Added - Function $set_org(x,y)&lt;br /&gt;
 Added - Popup display transparent mode&lt;br /&gt;
 Added - Popup delay setting&lt;br /&gt;
 Added - Function $sum(tf)&lt;br /&gt;
 Added - Variable %gb_isplaying%&lt;br /&gt;
 Added - Variable %gb_track_index%&lt;br /&gt;
 Added - Variable %gb_length%&lt;br /&gt;
 Added - Variable %gb_length_seconds%&lt;br /&gt;
2008/03/02 rev009&lt;br /&gt;
 Fixed - Fixed the bug that causes rotateflip does nothing&lt;br /&gt;
 Fixed - Fixed behavior when there&#039;s no scroll bar&lt;br /&gt;
 Added - Added mouse over popup.&lt;br /&gt;
2008/03/02 rev008&lt;br /&gt;
 Fixed - Fixed bug that prevent the use of wild cards in $draw_image function&lt;br /&gt;
2008/03/02 rev007&lt;br /&gt;
 Added - Ability to [always show|if necessary show|hide] scroll bar&lt;br /&gt;
 Fixed - $set_font function (style)&lt;br /&gt;
 Fixed - $draw_image function (rotate_flip)&lt;br /&gt;
 Added - Middle mouse button action&lt;br /&gt;
 Added - Ability to send to specified playlist&lt;br /&gt;
 Older change logs omitted.&lt;br /&gt;
&lt;br /&gt;
= External links =&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61412 Discussion thread]&lt;/div&gt;</summary>
		<author><name>Chris norman</name></author>
	</entry>
</feed>