https://wiki.hydrogenaud.io/api.php?action=feedcontributions&user=Eboomer&feedformat=atomHydrogenaudio Knowledgebase - User contributions [en]2024-03-29T08:44:48ZUser contributionsMediaWiki 1.22.7https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/Single_Column_Playlist_(foo_uie_single_column_playlist)/Change_logFoobar2000:Components/Single Column Playlist (foo uie single column playlist)/Change log2007-01-21T22:21:19Z<p>Eboomer: Added January 9th 2007 change</p>
<hr />
<div>==Change log==<br />
<br />
'''Jan 9, 2007'''<br />
<br />
* more optimizations (fileexists caching)<br />
<br />
'''Nov 22, 2006'''<br />
<br />
* internal changes / buf fixes / optimizations<br />
<br />
'''Nov 03, 2006'''<br />
<br />
* rewrote keyboard / mouse input playlist selection code<br />
<br />
'''Oct 31, 2006'''<br />
<br />
* some tweaks to multiple window / multiple playlists<br />
* added "Playing" playlist selection<br />
* $fileexists()<br />
* added NOKEEPASPECT option for images<br />
* added wildcard support for images<br />
* added alignment options for images VALIGN-T (vertical align-TOP), VALIGN-B, HALIGN-L, HALIGN-R<br />
* fixed columns ui globals support<br />
<br />
'''Oct 12, 2006'''<br />
<br />
* bug fixes<br />
<br />
'''Sep 24, 2006'''<br />
<br />
* fixed centering/resizing bug<br />
* option to span group display over one or more rows<br />
* !noheader! to suppress header<br />
* readded updating every second<br />
* selectable playlist<br />
* columns ui globals (untested..)<br />
* _itemcount _itemindex<br />
<br />
'''Sep 20, 2006'''<br />
<br />
* fixed keyboard shotcuts<br />
* row height changes applied correctly<br />
* commas in file path<br />
* stopped now playing item updating every second<br />
* $imageabs2(resizeW,resizeH,srcX,srcY,srcW,srcH,dstX,dstY,image,options) image uses absolute path.<br />
* GDI+ required<br />
* added alpha- option for images<br />
<br />
'''Sep 03, 2006'''<br />
<br />
* changed to multiple instance window<br />
* fixed couple of bugs<br />
* added middle mouse add to queue (untested)<br />
* keyboard input doesn't reset selected item<br />
<br />
'''Aug 30, 2006'''<br />
<br />
* added support for $rgb color codes<br />
* fixed default settings<br />
* Keyboard shortcuts<br />
* added more hooks to handle playlist changes<br />
* window styles</div>Eboomerhttps://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_IntroductionFoobar2000:Title Formatting Introduction2006-12-07T19:34:42Z<p>Eboomer: Added info about how to add comments (//) to code</p>
<hr />
<div>foobar2000 uses titleformat scripts (a.k.a. '''TAGZ''') in several places. This article will give you a basic introduction to Tagz script.<br />
<br />
== Just text ==<br />
<br />
For example, you can customize the format of the playlist or the statusbar. The simplest thing you can do, is display some static text:<br />
<br />
This text will be displayed as-is.<br />
<br />
Admittedly, this is pretty boring and you probably will not want to use this on its on. There is one more thing worth noting before we move on to more interesting things. Titleformat code uses some special characters which cannot be used in plain text, but you can use them inside single quotes:<br />
<br />
'These characters normally have special meaning: ( ) , [ ] $ %'<br />
<br />
Single quotes, percent signs and ampersand can be included in the output, by doubling them outside single quotes.<br />
<br />
Note that linebreaks will not appear in the output, unless they occur within single quotes:<br />
<br />
This is the<br />
first line.<br />
'This will stretch<br />
to the second line.'<br />
<br />
Note that multiline scripts cannot be used everywhere; in the default components, they can be used for the text on the icon in the system notification area ("systray") and in the copy command script. The playlist and other singleline displays will truncate strings with line breaks, and would display the above example like this:<br />
<br />
This is the first line. This will stretch (...)<br />
<br />
Comments are achieved by placing '//' at the start of a new line of code. That entire line will be commented out, eg.<br />
//This is commented and will not appear// this is also commented due to the '//' at the start of the line<br />
This is not commented and will appear// this and the '//' preceding it will also appear, because there is no '//' at the start of the line<br />
<br />
== Song information ==<br />
<br />
Titleformat scripts would be quite useless, if you could not display information about songs. To access the value of the "title" tag, you would write "title" in percent signs:<br />
<br />
%title%<br />
<br />
Actually, the above is a little smarter than just using looking at the "title" tag. If the title tag is missing, it will use the filename instead. There are several of this field remappings that are intended to make your life a little easier; among them are <code>%artist%</code>, <code>%tracknumber%</code>, <code>%playlist_number%</code> and of course <code>%title%</code>.<br />
<br />
A name written inside percent signs will generally try to look up the tag of the same name, unless it is one of the aforementioned remapped fields. Even in this case you can use the unaltered value of the tag:<br />
<br />
$meta(title)<br />
<br />
<br />
== A simple playlist script ==<br />
<br />
Let's look at a simple script for the playlist:<br />
<br />
%playlist_number%. %artist% - %title%<br />
<br />
This is nothing fancy. It displays the index of the track in the playlist, padded with zeros to make it the same length for all playlist entries. After that comes the artist and the title of the track. However, if there is no artist tag, this will just display a question mark, as it happens with all fields that cannot be found. To avoid this, we can put the part of the script that displays the artist tag in brackets. That way, it will only be displayed, if the tag is found.<br />
<br />
%playlist_number%. [%artist% - ]%title%<br />
<br />
It would be nice, if we could show the length of a track in the playlist. No problem, the <code>%length%</code> field gives us the song length nicely formatted as minutes and seconds. It will even show hours, if the song really is that long. To make things a little nicer, we will make the length displayed on the far right of the playlist. All we have to do is to include a tabulator character before <code>%length%</code>. The <code>$tab()</code> function will do this for us.<br />
<br />
%playlist_number%. [%artist% - ]%title%<br />
$tab()<br />
%length%<br />
<br />
If the song length happens to be unknown, this will display a question mark. That might happen with web streams, and to make this a little clearer, we will display "unknown length" instead. To test if the length field exists, we can use the <code>$if2</code> function. This function takes two parameters. If the first parameter contains at least one valid field, it will return the value of that parameter. Otherwise, it will return the value of the second parameter.<br />
<br />
%playlist_number%. [%artist% - ]%title%<br />
$tab()<br />
$if2(%length%,unknown length)<br />
<br />
== Technical information ==<br />
<br />
Technical information can be accessed in similar way as tags, either using <code>%__name%</code> or <code>$info(name)</code> where the name is one of those that can be seen in the "Other info" part of the properties window in foobar2000. There are some field remappings for technical information as well, for example <code>%bitrate%</code> gives you the average bitrate of a song or the current dynamic bitrate, if the song is playing, provided that the format supports reporting the dynamic bitrate.<br />
<br />
<br />
==Additional Reading==<br />
* [[foobar2000:Titleformat Reference|Titleformat Reference page]]<br />
<br />
<br />
[[Category:foobar2000 Guides|Titleformat Introduction]]</div>Eboomer