Help - Search - Members - Calendar
Full Version: Foobar2000 format strings
Hydrogenaudio Forums > Hosted Forums > foobar2000 > General - (fb2k)
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
anza
My formatting (and all the other album based also?) does it about like this:
"if tracknumber is 1, show xxxxx, if tracknumber is 2, show yyyyyy" etc, and it can be easily done by using something like:
$select($min(%tracknumber%,3),<formatting for track1>,<formatting for track2>,<formatting for all other tracks>)
upNorth
anza answered the question already, but here's an example (a very simple one):
CODE
$num(%_playlist_number%,3)'. '

//text to display for track 1
$puts(album_info,%artist%: "%album%")

//length of that info
$puts(album_info_length,$len($get(album_info)))

//info to show for every track
$puts(track_info,'?'$num(%tracknumber%,2)' - '%title%)


$if(%tracknumber%,

$if($strcmp(1,%tracknumber%),
$get(album_info)$get(track_info)
,
$repeat(' ',$get(album_info_length))$get(track_info)
)

//if no tracknumber exists
,
%artist%' - '%title%
)

There is many ways to do it, and I use the way anza discribed in my own formatting. This is an alternative way of doing it.
Btw: You don't have to use $puts() and $get(), but I think it makes the code easier to read.

[edit]
You don't need all the single quotes either, but I like to use them to make every symbol I want to display visible in the code. (Not very consistent this time though...)
[/edit]
metamorphoise
i may as well contribute my humble code to this thread, as i have been meaning for aaages.
its not very advanced, the only things i have added recently enough to remember are better handling of various artist albums through %various%, displaying the disk on multidisk albums with %disk%, and showing the bitrate in a different color if VBR.

screenshot
code

if anyone's wondering, the stuff in lower right of screenshot is the output from foo_text to samurize being displayed on a 6inch lcd screen...it has pseudo-scrolling and remaining time display (is there an easy way to get remaining time in 0.666? took me a while)
if anyone's interested, its messy code is available here
Messer
I wanted to print kind of simple "covers" with tracktitles and basic album information, and decided that foobar's database should help me:

1. put the following code as "copy command" formatting
CODE

//
// the following code is done only for first track in playlist
// it opens html, defines styles etc.
// unfortunately does not work from albumlist...
//
$if(
$strstr($num(%_playlist_number%,10),$num('1',10)),
<HTML>$char(10)
<HEAD>$char(10)
<title>Simple cover generator - v.0.1 for %_foobar2000_version%</title>$char(10)
<meta http-equiv="content-type" content="text/html; charset=utf-8" />$char(10)
<meta name="author" content="Dariusz Sieradzki dsier@pmp.com.pl" />$char(10)
<STYLE type="text/css">$char(10)
.externaltable {width:120mm; height:120mm; border: solid black 1px; margin-bottom:15mm;}$char(10)
.internaltable {width:110mm;}$char(10)
.albumtitle {text-align: left; font-family: lucida console; font-size: 7pt; font-weight:bold;}$char(10)
.tracknumber {font-family: lucida console; font-size: 7pt; border:solid black 1px; vertical-align:top;}$char(10)
.tracktitle {font-family: lucida console; font-size: 7pt; width:100'%'; vertical-align:top;}$char(10)
.tracktime {font-family: lucida console; font-size: 7pt; vertical-align:top;}$char(10)
</STYLE>$char(10)
</HEAD>$char(10)
<BODY>$char(10),
)
//
// the following code is only for first track in album
// it closes previous tables and opens new
//
$if(
$strstr($num(%tracknumber%,10),$num('1',10)),
//
// but this part not for first track in playlist, because there's no previous table
//
$if(
$strstr($num(%_playlist_number%,10),$num('1',10)),,
</table>$char(10)</TD>$char(10)</TR>$char(10)</table>$char(10)
)
//
// external table 12cmx12cm with black border
//
<table class="externaltable">$char(10)
<TR>$char(10)
<TD align="center">$char(10)
//
// internal table with tracks
//
<table class="internaltable">$char(10)
//
// table caption (artist - album - year)
//
<caption class="albumtitle">%artist% - %album% ['('%date%')'] ['('disc %disc%')']</caption>$char(10)
)
//
// code executed for each track
//
<tr>$char(10)
//
// tracknumber
//
<td class="tracknumber">$num(%tracknumber%,2)</td>$char(10)
//
// title, expanded to full width
//
<td class="tracktitle">%title%</td>$char(10)
//
// track time
//
<td class="tracktime">'['$ifgreater($len(%_length%),4,,0)%_length%']'</td>$char(10)
//
// end track
//
</tr>$char(10)
//
// this code is done only at the end of playlist, close last table(s), close html doc
// again - does not work from albumlist
//
$if(
$and(
%_playlist_number%,
$strstr($num(%_playlist_number%,10),$num(%_playlist_total%,10))
),
</table>$char(10)
</TD>$char(10)
</TR>$char(10)
</table>$char(10)
</body>$char(10)
</HTML>$char(10)
)
//
// the end
//


2. add one or more full, properly tagged and sorted albums into your playlist
3. select all
4. right click -> copy name(s)
5. open text editor and paste copied names
6. save it as *.html file
7. open file in html browser (printing in Mozilla seems really b0rked for me, so this time I reccomend MSIE if you want to print your covers)

done smile.gif

Some dedicated plugin would probably do a better job (if someone feels like coding smile.gif), but this solution works nice in most cases.
foosion
QUOTE(Messer @ Aug 21 2003, 03:55 PM)
Some dedicated plugin would probably do a better job (if someone feels like coding smile.gif), but this solution works nice in most cases.

A dedicated plugin for html generation or for cover printing? smile.gif

Note: I don't feel like coding a cover printing plugin. tongue.gif
Messer
QUOTE(foosion @ Aug 21 2003, 10:05 PM)
QUOTE(Messer @ Aug 21 2003, 03:55 PM)
Some dedicated plugin would probably do a better job (if someone feels like coding smile.gif), but this solution works nice in most cases.

A dedicated plugin for html generation or for cover printing? smile.gif


For cover printing. With possibility to create template (or something) that can be automatically filled with data from foobar's database and sent to printer (or saved in ready to print format).

QUOTE(foosion @ Aug 21 2003, 10:05 PM)
Note: I don't feel like coding a cover printing plugin. tongue.gif


Neither do I tongue.gif That's why I woked out the solution using "copy names" command smile.gif
amppa
OK, finally added support for billcow's wonderful foo_syfm plugin. The conversion seems to be working fine but if there are any errors, be sure to report them, either here or via the feedback form.

The plugin can't currently change fonts, background color or selection colors so they have to be edited manually.

The site can still be found at http://pelit.koillismaa.fi/fb2k/.
picmixer
@amppa

Very nice. Guess now it's going to be easier then ever for people to change their configs.

Thanks a lot for updating all of our strings with .fb2k files and all the other work put in.
billcow
Actually, the incredibly cool part about this, is that the config files are actually generated on-the-fly from the database where the strings themselves are stored. So if you make any changes to your config, it will immediately be reflected in the fb2k file.

I'm not completely sure (I just got up, and didn't think to check this last night when I was helping him get it working), but I'm pretty sure it also finds the translation mode, so if you load up a config with DOS OEM ANSI line-drawing characters in it while your mode is set to Unicode, they will be translated correctly by the plugin.
SacRat
Here's my PL format string.
It's used with black BG and green FG color.
Features
Indicates(in formatted form) this information:
-Artist;
-Album;
-Date;
-Tracknumber;
-Title;
-Format;
-Fact of replaygaining: album/title;
-Playback time in MM:SS form with leading zeros.

Distributed freeware for all non-commercial applications as long as original coder gets credits wink.gif

So, the code...


00FF00|00FF00$num(%_playlist_number%,$len(%_playlist_total%))
.999955|cccc55

$if(%artist%,dd9999|EEAAAA$caps2(%artist%),0000DDUNKNOWN ARTIST)

AAFF55|AAFF99$if(%album%,
- '['
$caps2(%album%[ '('%date%')'][ #$num(%tracknumber%,2)])
']'
,
$if(%tracknumber%, - '[ '['('%date%')' ]#%tracknumber%']',[- '('%date%')'])
)$char(3)$char(3)

$if(%title%, - 55FFFF|55FFFF$caps2(%title%), - $upper(%_filename%))

[- $caps2(%subtitle%)]

[$char(9)
DDDDDD|DDDDDD'('
//format
$upper($info(codec) )

//replaygain info
AAFFFF|AAFFFF
$if(
$info(replaygain_track_gain),T:$if($info(replaygain_album_gain),A,),
$if($info(replaygain_album_gain),A,)
)
DDDDDD|DDDDDD
')'.
00FF00|00FF00
//playback time in MM:SS with leading zeroes format
$num($div(%_length_seconds%,60),2):
$num($mod(%_length_seconds%,60),2)]


byw, if there a way to get FB's total playback time and/or number of files in playlist with their total time?Here's my PL format string.
It's used with black BG and green FG color.
Features
Indicates(in formatted form) this information:
-Artist;
-Album;
-Date;
-Tracknumber;
-Title;
-Format;
-Fact of replaygaining: album/title;
-Playback time in MM:SS form with leading zeros.

Distributed freeware for all non-commercial applications as long as original coder gets credits wink.gif

So, the code...


00FF00|00FF00$num(%_playlist_number%,$len(%_playlist_total%))
.999955|cccc55

$if(%artist%,dd9999|EEAAAA$caps2(%artist%),0000DDUNKNOWN ARTIST)

AAFF55|AAFF99$if(%album%,
- '['
$caps2(%album%[ '('%date%')'][ #$num(%tracknumber%,2)])
']'
,
$if(%tracknumber%, - '[ '['('%date%')' ]#%tracknumber%']',[- '('%date%')'])
)$char(3)$char(3)

$if(%title%, - 55FFFF|55FFFF$caps2(%title%), - $upper(%_filename%))

[- $caps2(%subtitle%)]

[$char(9)
DDDDDD|DDDDDD'('
//format
$upper($info(codec) )

//replaygain info
AAFFFF|AAFFFF
$if(
$info(replaygain_track_gain),T:$if($info(replaygain_album_gain),A,),
$if($info(replaygain_album_gain),A,)
)
DDDDDD|DDDDDD
')'.
00FF00|00FF00
//playback time in MM:SS with leading zeroes format
$num($div(%_length_seconds%,60),2):
$num($mod(%_length_seconds%,60),2)]


byw, if there a way to get FB's total playback time and/or number of files in playlist with their total time?
nk215
Hi

Can anyone please tell me how I get this:

CODE
|01|
|02|
|03|
[04] --> last song!!!


I want to put a diferent symbol in the last "tracknumber"

Can anyone help me?

bye sad.gif
zegilles
QUOTE(nk215 @ Sep 8 2003, 05:54 AM)
CODE
|01|
|02|
|03|
[04] --> last song!!!


I want to put a diferent symbol in the last "tracknumber"

The only way is to add a custom tag in the last track of each album (LASTRACK=1 for example) and then test it in your format string:
$if(%lastrack%,...
Jan S.
QUOTE(nk215 @ Sep 8 2003, 05:54 AM)
Hi

Can anyone please tell me how I get this:

CODE
|01|
|02|
|03|
[04] --> last song!!!


I want to put a diferent symbol in the last "tracknumber"

Can anyone help me?

bye sad.gif

QUOTE(Jan S. @ Jul 16 2003, 10:15 PM)
Just a note for the ones wanting to know the last_track...
if you format your %tracknumber% as "xx/xx" meaning track x of x you can figure out when you got the last track.
SafirXP
QUOTE
//Colors & Variables
$puts(white,FFFFFF|FFFFFF)
$puts(info,60D8FB|60D8FB)
$puts(brac,2F494F|2F494F'|')
$puts(lbrac,2F494F|2F494F'(')
$puts(rbrac,2F494F|2F494F')')

//Playlist Number
CFD6D3|CFD6D3$repeat('0',$sub($len(%_playlist_total%),$len(%_playlist_number%)))
79724B|CFD6D3%_playlist_number%$get(brac)

//Format
97CCDA|76B0BF$upper($right(%_filename_ext%,3))$get(brac)

//Bit Rate
3399FF|3399FF$num(%__bitrate%,3)$get(rbrac)

//Artist
$get(white)
$if(%artist%,$padcut(%artist%,35),$padcut(%_filename%,35))

//Title
$if(%title%,$padcut(%title%,40),$repeat(' ',40))

//Album
$get(lbrac)$get(info)$if(%album%,$padcut($abbr(%album%,20),20),$repeat(' ',20))
$get(brac)

//Track Number
$get(info)$if(%tracknumber%,$num(%tracknumber%,2),  )$get(brac)

//Date
$get(info)$if(%date%,$num(%date%,4),    )$get(brac)

//Length
$get(white)$pad_right(%_length%,5)


QUOTE
playlist background ~ RGB(157,157,55)
playlist selection color ~ RGB(120,116,47)
playlist item frame ~ RGB(66,66,23)


user posted image
The_Cisco_Kid
using a modified version of a post from penvzila on Mar 14 2003 - have been using this March I believe; worked perfectly for me after a few small changes.
latest shot of 0.7RC13:
user posted image
amppa
QUOTE(billcow @ Aug 28 2003, 07:55 PM)
I'm not completely sure (I just got up, and didn't think to check this last night when I was helping him get it working), but I'm pretty sure it also finds the translation mode, so if you load up a config with DOS OEM ANSI line-drawing characters in it while your mode is set to Unicode, they will be translated correctly by the plugin.

Yes, it should find the correct translation mode.

Added a readme field (to be used with long instructions etc), suggested by upNorth. It would be great if the string owners could cut the long "other info" fields and use this readme feature instead, this would make it more pleasant to browse the styles. I don't dare to do this myself -- the artistic freedom, you know rolleyes.gif

http://pelit.koillismaa.fi/fb2k/
curian
I want to separate the modules for the mirc plugin.
I tried to get the 'module' metadata info from %__extrainfo%

$ifgreater($stricmp($meta(__extrainfo,3),module),0,'module :'%_filename_ext%,)
it is my only idea, but it doesn't work :/
Maybe I misunderstood the usage or meaning of meta fields..

okay I found the problem.. no need for metadata
$ifgreater($stricmp(%__extrainfo%,module),0,'module :'%_filename_ext%,)
hermit22
ALright, this might be a little bit different from what everyone's doing here, since what I'm concerned with is more the sorting of music instead of its display.

Basically, it bugs the crap out of me that artists put "the" in front of their name. The Cure. The Smiths. The Dismemberment Plan. You get the point.

Now, I could go through and label each mp3 backwards, so it says "Beatles, The"; but that just seems tedious and inelegant. So I tried the following string, expecting that it would work:

CODE

$if($stricomp($substr(%ARTIST%, 1, 3), "The"), $substr(%ARTIST%, 5, 10), %ARTIST%) - %ALBUM% -%DISC% - $num(%TRACKNUMBER%,3) - %TITLE%


Basically, it checks the artist, and if the first 3 characters are "the", it skips the space and sorts by the next 5 or so (a workaround; I didn't know how to grab the last part of a string when the string length is unkown - without using an obfuscating length function). Otherwise, it sorts by the artist, and continues along as expected.

Am I doing this all wrong? Because it sure seems to not work at all. I'd really appreciate any help, because I've been tearing my hair out over this one for the past hour or so.
upNorth
I only did the first part, but this is what i found:

Change $stricomp to $stricmp (or $strcmp for a case-sensitive version)
Use single quotes around The or remove them completely, you also need to remove the space before the first quote.

Then you'll get something like this:
CODE
$stricmp($substr(%ARTIST%,1,3),The)
This can be used in the first $if() statement.

Btw: IMO you use too many spaces. I think a good rule is to not make a space unless you want to display it, or you absolutely need it. I'm talking about the space you make after every comma.

Edit:The whole thing
CODE
$if($stricmp($substr(%ARTIST%,1,3),The),$substr(%ARTIST%,5,$len(%ARTIST%)),%ARTIST%) - %ALBUM% -%DISC% - $num(%TRACKNUMBER%,3) - %TITLE%

And it works smile.gif
anza
I use this string to do the same thing:

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

It's 10 characters shorter than

$if($stricmp($substr(%artist%,1,3),the),$substr(%artist%,5,$len(%artist%)),%artist%)

so I think you should use it biggrin.gif

----
Crap, I just noticed that it doesn't work if you have spelled the "the" all lower case, so maybe upNorth's string is better smile.gif
playerman
There's not much of point to share all of my playlist formatting since it's nothing special. Except maybe for the fact that i use $char(9) instead of pad and padcut; it's just that i prefer my columns with to be proportional to window with and i prefer to use a proportional font in the playlist.
But my efforts to make its display minimalistic yet informative has yielded a few bits of code that you may find usefull:

Ultra compact version number display for Main window title:
QUOTE
$replace($replace($replace(%_foobar2000_version%,foobar2000 v,), beta ,ß), RC,rc)


Fairly compact tech info for Status bar:
Note the leet vorbisvendor thingy which will convert something like this:
"Xiph.Org/Sjeng.Org libVorbis I 20020717 (GTune 3, beta 1)"
to this:
"Xi Sj V0207ß"
It's just that the date compacting will work only up to and including the year 2099, and you may have to add compacting code for other vendor names.
Also note the sample rate display down to the first decimal.
QUOTE
// codec
$lower([EEEEEE%__codec% ])

// if vorbisvendor
$if(%__vorbis_vendor%,
BBBBBB
$if($strstr(%__vorbis_vendor%,Xiph),Xi ,%__vorbis_vendor%)
$if($strstr(%__vorbis_vendor%,Sjen),Sj ,)
// if libV
$if($strstr(%__vorbis_vendor%,libV),V
$substr(%__vorbis_vendor%,$add($strstr(%__vorbis_vendor%,20),2),
$add($strstr(%__vorbis_vendor%,20),5)
)
$if($strstr(%__vorbis_vendor%,beta),ß , )
,
// if not libV
%__vorbis_vendor%
)
// endif libV

,
// if not vorbisvendor do nothing
)
// end if vorbisvendor


// bitrate
[EEEEEE%__bitrate%$lower(EEEEEE[%__extrainfo%]) ]

// samplerate and channels
[
$div(%__samplerate%,1000).
$left($mod(%__samplerate%,1000),1)
$if(%__channels%,
$ifgreater(%__channels%,2, %__channels%ch,
$ifgreater(%__channels%,1,s ,m )),)
]

// replaygain
[%__replaygain_track_gain%dB ]

// if stream
$if($strstr(%_path_raw%,http),

// blinking indicator stream
$select($add($mod(%_time_elapsed_seconds%,2),1),
00FFFFstream,30B0B0stream)
,
// else - blinking indicator file
$select($add($mod(%_time_elapsed_seconds%,2),1),
00FFFFfile,30B0B0file)
)
// end if stream

// right align last column
$char(9)

// elapsed and total time
EEEEEE[ %_time_elapsed%][ %_time_total%]
musicmusic
QUOTE(playerman @ Sep 14 2003, 12:14 PM)
Ultra compact version number display for Main window title:
QUOTE
$replace($replace($replace(%_foobar2000_version%,foobar2000 v,), beta ,ß), RC,rc)

You dont need to pile up $replaces like that, e.g.

$replace(abcd,a,A,b,B) to replace as with As, b with Bs etc.

or for yours $replace(%_foobar2000_version%,foobar2000 v,, beta ,ß, RC,rc)

edit: stupid smileys
upNorth
@anza: The good thing with your way is that it looks for a space after the, that's something I would have done myself too. This one was just a fix for hermit22, but I like the idea of this kind of sorting.

When it comes to compact, I like a compact and clean display, but I have to admitt that compact code isn't my cup of tea. I pasted my new playlist formatting in MS Word, and it reports it to be 27412 character long. Seems like I can't tell when enough is enough... unsure.gif
And it can't even predict the next track I want to hear sad.gif tongue.gif

@playerman: I'll borrow that blinking code. Would be great for my 'Paused' indicator smile.gif
Edit: The fact that status bar isn't updated when playback is paused ruined that plan.
playerman
QUOTE(musicmusic @ Sep 14 2003, 03:38 AM)
You dont need to pile up $replaces like that, e.g.

$replace(abcd,a,A,b,B ) to replace as with As, b with Bs etc.

or for yours $replace(%_foobar2000_version%,foobar2000 v,, beta ,ß, RC,rc)

oh good, undocumented feature. implemented immediately.
hermit22
Thanks upNorth. I can't believe I missed the 'o' in stricmp.
upNorth
Got to keep this thread alive smile.gif
I have added a new formatting at foobar2000 formatting strings web site.
It is alot more flexible, and among other things it uses file- and directory names to try to fill in the gaps if tags are missing.

Screenshots:
Album/single mode (hybrid coloring) Album mode, but with single mode enabled for singles.
Single mode diplaying some of the optional extra info.

Album mode with the default color scheme and single mode enabled for singles.
user posted image
jormartr
Hi, I am using the dynamic format string by UpNorth, but I have the lines bad aligned, and that happens with other formats similars to this one.
From the fourth song to the end of the album, the song title appear more to the left side than in the first three lines, which have the artist, album and album info.
Does anyone know why this happen?



edit: I wrote with text how appeared in my screen, but when submited the post, did no appear the same as I wrote it
Somebody
I love it, upNorth!
upNorth
@jormartr: Make sure you use a fixed width font. The recommended one is Lucida Console.

@Somebody: I'm glad you like it smile.gif
Linkin
i like the page too, but i have a problem with this style:
http://pelit.koillismaa.fi/fb2k/strings.php?f=14#

1.whats that for a playlist selection color?

2. why does it look like that for me? i mean those strange signs which are supposed to be lines
http://home.arcor.de/jpichler/fb2k.jpg
DotNoir
Are you sure you use the right fonts?

QUOTE
Playlist font Dotum 8pt
Status bar font Courier New 7pt


Hmmm... on another note... I'm just so damn lazy, so excuse me, but UpNorth... I have a little problem with width of codec and bitrate information, since I have over 1000kbps apes and wavs on my playlist... Or actually the problem is that I have over and under 1000kbps files on the same album... so the formatting goes like this:

[      ]       |
[1000]       |
[      ]       |

You have perfectly tagged code and I tried to modify it, but with no luck... sorry to bother you...

edit^n : UpNorth I really love your code and hard work your doing... So, if you don't have such a problem, don't go and spend your time with this... I can live with it... I was just reporting and when I get enough time I will try and solve it by myself.
billcow
QUOTE(Linkin @ Sep 23 2003, 12:43 PM)
1.whats that for a playlist selection color?


Seeing as I made the config, I oughta be able to answer that methinks. The selection color there is black, same as the background. But there should be others that will also work well, such as rgb(32,32,32) (dark grey), which offers higher visibility. I think the highlight color I used was rgb(64,64,64), but i'm not completely sure.

QUOTE(Linkin @ Sep 23 2003, 12:43 PM)
2. why does it look like that for me? i mean those strange signs which are supposed to be lines
http://home.arcor.de/jpichler/fb2k.jpg


Okay, like DotNoir said, it *is* an issue of font. See, you have to find a font that supports those characters. I haven't made a list of all of them, but most of the Unicode fonts should have them. The other problem is that some fonts (for reasons I'm unsure of - probably something to do with a oversized character width and kerning for every character) don't look too great, as there is a small gap at the intersections of the columns. You can kinda see that in the screenshot, but some fonts are much worse.

Incidentally, it also works with fixed-width fonts if you use foo_syfm (shameless plug. you could do it manually i suppose) to convert to ANSI upon load. They probably wont have the gap problem

In any case, the easiest thing to do is load up character map and look at all yer fonts with that - usually the "box-drawing" characters (aka lines and such) show up at the end of the list.

Hope that helped - from the looks of the post it'll probably give you a purty durn nasty headache first though.
upNorth
@DotNoir: I don't use apes, wavs and other lossless codecs alot myself, but I have now fixed this (i hope...) for Monkey's Audio and PCM and uploaded it.
Are these wavs you have PCM? If it's anything other than PCM, please tell me the name foobar will identify it by and I'll add it.

Btw: Is there any other codecs where this might be a problem? The problem only arise when the name of the codec is below four characters and the bitrate may exceed 999kbps.

Btw2: Is there any codecs with a two character name in the %__codec% tag?
DotNoir
Thank you very much UpNorth... I'm sorry I'm such a lazy bastard that I didn't couldn't think of this solution by myself. Thank you for your great job. Appreciate it very much. Now my playlist is aligned correctly. And yes, those are PCM, but I do'nt have many of wavs, but thought I'd mention them too...

I can't think of any codecs having only two letters, but of course it is possible... hmmmm... xm? modules? What about those? I do'nt have them myself, but just occured while trying to think hard wink.gif
Lobuz
wow !!!
Why didn't I know about so powerfull gui options. Why there's no other formattings in official foobar?

Anyway I have a small feature request to upNorth. biggrin.gif

Could be the one archive file (zip or rar ) taken as whole album or if there are subdirectories those subdirectories treaten as albums. It's In the case when there are no tags. But the names of files have at least 1 common strings of artist and | or album.
The same if tags are messed when it's OST. But it's rather obvious that those files make album.
And if there is only a song name ( without - ) display the name of directory or archive file for this album.

Or for examle when archive have 9 tracks with proper tags and 3 files without tags I'd like it to be treated as whole album too. And those files have additional numbers (no crossing) of tracks in the names of files.

Could be the folders with file names with proper tracks numbers (but with messed tags) and proper common strings (album and | or artsit) be treaten as full albums?

Those could have a little different colour to mark that it's not properly taged.

I assume that in album mode the biterate is average for all tracks. Could it be an option to show biterates for every track in album if they are different?

Regards
Lobuz
sony666
I use the standard String, just added

%__codec% %__bitrate%k

on the right side, just before %_length%
There is a slight alignment glitch when playtime is 10:00 or more, but I'm too lazy to fix that smile.gif
p0wder
@upNorth: Is there any way to disable the "Various Artists" function? I would just like it to display the title without Various Artists - Title.

Oh yeah, and what is the |A| for on the very right?

user posted image
seezar
upNorth,

I'm using your formatting string and love it but one problem is that I cant seem to get the single mode to work. I've gone into the config and "enabled" it as far as I can tell but apparently I'm missing something.
upNorth
QUOTE(Lobuz @ Sep 24 2003, 02:34 AM)
Could be the one archive file (zip or rar ) taken as whole album or if there are subdirectories those subdirectories treaten as albums. It's In the case when there are no tags. But the names of files have at least 1 common strings of artist and | or album.
I can't really comment on this as I don't use archives at all (I personally don't see any reason to). But, I think my comments below will apply to this too.

QUOTE(Lobuz @ Sep 24 2003, 02:34 AM)
The same if tags are messed when it's OST. But it's rather obvious that those files make album.
And if there is only a song name ( without - ) display the name of  directory or archive file for this album.

Or for examle when archive have 9 tracks with proper tags and 3 files without tags I'd like it to be treated as whole album too. And those files have additional numbers (no crossing) of tracks in the names of files.

Could be the folders with file names with proper tracks numbers (but with messed tags) and proper common strings (album and | or artsit) be treaten as full albums?

Those could have a little different  colour to mark that it's not properly taged.
I was expecting something like this. To understand how formatting works you can start by reading SatCP's comments for the foobarXP formatting especially "THE ADVANCED PLAYLIST AND ITS PROBLEM":
QUOTE(SatCP)
Foobar2000 cannot see any relation between two tracks in the playlist. Thus to display the extended album information where several tracks are related to each other (and form an album) we need a work-around
There is also informating about this somewhere in the thread you are currently reading.

The problem with quessing is that there are alot of different ways to name files and directories. After thinking it through and reading this thread File Name Art I implemented some guessing that hopefully will either make a right guess, or leave it as is. I could have made something that would work very well with my own naming convention, but that might/would result in strange and currupted display for others. Another problem is that implementing something like this and taking it further could IMHO really benfit from/needs more powerful tools like loops ( $while(), $for() ).


QUOTE(Lobuz @ Sep 24 2003, 02:34 AM)
I assume that in album mode the biterate is average for all tracks.
Because of the reasons given above this is only the bitrate for that particular track (in my formatting the third track). It's only an indication, and it's not ideal, but the best that can be done (if you don't want to calculate the average for every album manually and add the result to a tag).

QUOTE(Lobuz @ Sep 24 2003, 02:34 AM)
Could it be an option to show biterates for every track in album if they are different?
This is also impossible because of the reasons above. I use the foo_syfm plugin with a shortcut key for Next TAGZ string to easily switch between different formattings that display different info. Single mode with codec info enabled will show this.


If anything is unclear just ask and I'll try my best to give an answer, but others might be capable of explanationing it better than me.

Btw:I might have a look at archives at some point, but I don't know when, if ever...

Btw2: You are not the first one not understanding how album oriented formattings works at first. It took me some time too... smile.gif
upNorth
@p0wder: What kind of tags does those files have? Never seen anything like that before. Does the artist tag have the value: "Various Artists"
and the title tag both the name of the artist and the title?

|A| means that a %__replaygain_album_gain% tag is present.
|T| means that a %__replaygain_track_gain% tag is present.


@seezar:
To enable single mode:
CODE
$puts(album_mode,0)

To enable single mode inside album mode (for files that are not part of an album):
CODE
$puts(enable_single_mode_view_for_singles_in_album_mode,1)

And have a look at the other settings in the config area. I tried to make them informative, but I don't know if i succeeded...
p0wder
The artist tag is "Various Artists". The title tag has the original artist, then the track name. My other trance CDs are similar, however, not all have the "Various Artists" artist tag and they work fine. Here is an example:

user posted image

I read the readme file and found this:

"*Various artists albums will be recognised if any of these three strings (without quotes) exists in the names of the two closest direcories: 'VA - ', 'v.A.' or 'Various Artists'. Not case-sensitive. "

The name of the directory does have "Various Artists" in it. I tried renaming the directory leaving out "Various Artists" but this didn't work.
p0wder
upNorth, nevermind, I found the problem. I added a "Performer" tag to the Various Artists albums. Removing the performer tags fixed the problem, but I also had to remove "Various Artists" from the directory name. It would be nice if you could disable this function so I can keep "Various Artists" in the directory name.

One more question for you. What does this setting do?:

$puts(show_trackrating,1)

Thanks for making this format string, by the way. It rocks! smile.gif
smok3
my humble (album mode tongue.gif ) try:
snap
http://users.volja.net/smoker/pub/foobar2000.png
config
http://users.volja.net/smoker/pub/foobar2000.cfg

edit: singles 'detection' added, you will need to tag all the singles with additional tag 'FOOBAR=single' to make this work, so there is no work if you use album view mostly... (any better ideas on how to do that?),

hybrid snap:
http://users.volja.net/smoker/pub/foobar_hybrid.png

(you dont need fixed width fonts for this config)
foosion
QUOTE(upNorth @ Sep 24 2003, 11:13 PM)
Another problem is that implementing something like this and taking it further could IMHO really benfit from/needs more powerful tools like loops ( $while(), $for() ).

This would surely give formatting strings more computational power, enough to create a formatting string that does not terminate.
For this reason I'd prefer user-defined, recursive functions, as they will terminate when the stack overflows. tongue.gif
Geezer
Thanks guys.

Just uninstalled 0.667 and installed 0.7.

Then went to the formatting site at http://pelit.koillismaa.fi/fb2k/ and installed a good config.

Smooth!
upNorth
QUOTE(foosion @ Sep 25 2003, 02:36 PM)
QUOTE(upNorth @ Sep 24 2003, 11:13 PM)
Another problem is that implementing something like this and taking it further could IMHO really benfit from/needs more powerful tools like loops ( $while(), $for() ).

This would surely give formatting strings more computational power, enough to create a formatting string that does not terminate.

Unleash hell! ph34r.gif

I agree, it's pretty much asking for trouble to add support for something like this. The point I was trying to make was that very complex formatting options needs more powerful tools to be realistic.
foosion
QUOTE(upNorth @ Sep 26 2003, 06:33 PM)
I agree, it's pretty much asking for trouble to add support for something like this. The point I was trying to make was that very complex formatting options needs more powerful tools to be realistic.

Perhaps it may be feasible to use loops that are known to terminate, like
CODE
// executes y for each meta field with name x
$foreach_meta(x,y)

But I guess, you are longing more for a construct like
CODE
// executes y x times, where variable z counts up from 1 to x
// modifications of z inside y are ignored
$foreach_n(x,y,z)

I don't know, if Peter will ever implement something like this. If he does, don't blame anyone but yourself, if the following runs slowly:
CODE
$foreach_n(1000000,<insert elaborate expression here>,n)

smile.gif
mai9
I am trying to use that Blue playlist by UpNorth, I use Win98SE and those graphical characters are replaced by '?' when copy&paste. And Lucida doesn't have graph chars, so I am using Terminal instead.

Here's the problem, I can't make the last tracknumber use a different graph character.


CODE
//******************************************
//** TRACKNUMBER
//*
$if($strcmp(1,$get(is_album)),

$get(c_frame)$if($strcmp(1,$get(is_last)),'?',$if($strcmp(1,$get(is_first)),'Â','  Ã'))
$ifgreater($get(t_tracknumber),9,
$get(c_trno)$num($get(t_tracknumber),2),
$get(c_trno_dim)0$get(c_trno)$num($get(t_tracknumber),1)
)

$get(c_frame)$if($strcmp(1,$get(is_last)),'??',$if($strcmp(1,$get(is_first)),'Ú ','Ã '))

)


Â, Ã and Ú is what I can see, but it doesn't show any '?' anywhere, and I suppose they should be showed in the last tracknumber.
kode54
Copy the characters you want manually from Character Mapper. If that doesn't work... then I guess it's a problem with Unicode support, or lack thereof.
mai9
QUOTE(kode54 @ Oct 1 2003, 07:13 PM)
Copy the characters you want manually from Character Mapper. If that doesn't work... then I guess it's a problem with Unicode support, or lack thereof.

yes, I already did that.

Â, Ã and Ú are lines and corners with Terminal font in win98SE.

But I am saying that the '?' characters are not used, and therefore, not seen in the interface.

I smell that '?' characters are the ones to be used in the last track of the album. And it doesn't use them. mad.gif Anybody knows why?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.