+ $functions support in the album list tree-heirarchy option.
+ better $function documentation, for eg., I already use things like $strstr which I haven't found in any documentation inside the program.
+ fb2k should stop with an error, or resume playing the next file when it finds a dead playlist entry - it should not stop playing abruptly. It took me a while to figure out the problem.
+ when windows is shut down, about 50% of the time, fb2k does not save its settings. (I assume this is because it does not receive a WM_CLOSE or equivalent message, but programs like WinZip can pause system shutdown, so there *should* be a workaround) This almost always seems to happen if FB2K is in the middle of a replaygain scan session.
+ WMA support. I understand a lot of people on this forum hate this codec, but I have not found a single technical reason when WMA is unfavorably compared to OGG, MPC, etc. The simple reason that this is a Microsoft technology is not convincing enough.
+ a filter setting for the album list - to filter entries from the database when %tags% equal/contain/does not contain a definable value.
+ a "purge all tags in any other format" option to Preferences->Standard Inputs->MP3 Tag Writing section.
A thanks to everyone involved for making this player!
+ WMA support. I understand a lot of people on this forum hate this codec, but I have not found a single technical reason when WMA is unfavorably compared to OGG, MPC, etc. The simple reason that this is a Microsoft technology is not convincing enough.
Like PP said many times:
Q: Why don't you make a better plugin for WMA ?
A: WMA sucks. Don't use WMA. Reasons are too long to list here.
I for one wold like to see some kind of wma ability in fb 2k. I know it sucks so much (one technical reason is that it 'guesses' when recreating high frequencies it can't hope to recreate accurately - leading to the butchered high-rages that characterise its sound), but I, and others I expect, have some music that I can't get in another format. All I ask for is some kind of plugin that will allow fb to load a wma, and for the sound to come out of the speakers. I don't care if it completely bypasses fb's output system or whatever, but having to open wma files in a seperate program when I want them is really annoying. Probably one of the few factors that keep winamp on my system.
If PP doesn't want to encourage wma use, then don't put the plugin in the installer package.. =)
+ better $function documentation, for eg., I already use things like $strstr which I haven't found in any documentation inside the program.
perhaps you already know these, but heres a list of functions:
$right - $right(X,Y) - crops X by Y characters from the right side (cuts of remaining characters on left)
$left - $left(X,Y) - crops X by Y characters from the left side (cuts of remaining characters on right)
$rot13 - $rot13(X) where X is a string - swaps or "rotates" first and last 13 characters in alphabet.
$stricmp - like $strstr, but can be used with $if etc. e.g. $if($stricmp(%date%,2001),yes,no) very useful!
$strcmp - like $strstr, but can be used with $if etc. (some diff from $stricmp, not 100% sure though)
$ext - used to get file extension $ext(%_filename_ext%)
$replace - $replace(A,B,C) - Displays A, replacing any Bs that occur in the string with Cs.
$null - use to stop functions returning a value (e.g. use with $put)
$puts - same as $ put, but doesn't return value
$put - variables! $put(X,Y) puts Y in variable X and displays it
$get - $get(X) returns variable X
$max - documented
$min - documented
$filename - not sure
$mod - documented
$div - documented
$mul - documented
$sub - documented
$add - documented
$len - $len(X) - returns length of string X
$substr - $substr(A,Y[,X]) - get substring from character Y to char X from string A where X and Y are numbers. e.g. $substr(%artist%,2,4)
$strstr - $strstr(X,Y) - returns 1 if X and Y are equal; returns 0 if not.
$strrchr - $strrchr(X,Y) - returns last position of Y in X (Y is single char)
$strlchr - $strlchr(X,Y) - returns first position of Y in X (Y is single char)
$strchr - same as $strlchr?
$hex - $hex(X,Y) where X is decimal value to convert to hex, Y is number of characters to zeropad upto
$dec - $dec(X,Y) where X is hexadecimal value to convert to decimal, Y is number of characters to zeropad upto
$num - documented
$ifgreater - self exp.
$iflonger - self exp.
$shortest - self exp.
$longest - documented
$caps2 - documented
$caps - documented
$abbr - documented
$repeat - $repeat(X,Y) repeats X Y times (including original). can be used to manipulate number fields like %__channels%
$padcut_right - documented
$padcut - documented
$cut - documented
$pad_right - same as $pad, but aligns to right side by padding from left.
$pad - documented
$lower - documented
$upper - self exp, converts to upper case
$if2 - $if2(A,B) is the same as $if(A,A,B)
$if - documented
what does $strstr do though?
I'm not really a big user of this format myself, but I do run across a lot of sound clips that I get from friends or I run across a sound clip that I want available only in WMA.
I'm sure somebody, someday, will make a plugin for Foobar. All they need is the SDK and some plugin writing skills. If the demand is high enough for a plugin just so NOBODY has to open Windows Media anymore and exclusively use Foobar, I'm pretty sure its going to happen.
I mean, if somebody wrote a RealAudio Plugin for Foobar, I'd use it just so I never have to open Realplayer ever again for those streaming clips I occasionally find out there on the web.
perhaps you already know these, but heres a list of functions:
[...]
what does $strstr do though?
Thanks for the function list, musicmusic.
$strstr is used for string comparisons. Returns something greater than 0 if true.
Usage $strstr(%tag%,value-to-compare) Be sure not to put a space before value-to-compare
eg:If rating (custom tag) is five stars, display it in one color, else another.
$ifgreater($strstr(%rating%,*****), 0,00FFFF|B6B6B6$padcut([%rating%],5) ,000FFF|B6B6B6$padcut([%rating%],5) )
I'm not really a big user of this format myself, but I do run across a lot of sound clips that I get from friends or I run across a sound clip that I want available only in WMA.
I'm sure somebody, someday, will make a plugin for Foobar. All they need is the SDK and some plugin writing skills. If the demand is high enough for a plugin just so NOBODY has to open Windows Media anymore and exclusively use Foobar, I'm pretty sure its going to happen.
I mean, if somebody wrote a RealAudio Plugin for Foobar, I'd use it just so I never have to open Realplayer ever again for those streaming clips I occasionally find out there on the web.
I fully agree with you here...
The only problem is that there's also Real video
$strstr is used for string comparisons. Returns something greater than 0 if true.
Usage $strstr(%tag%,value-to-compare) Be sure not to put a space before value-to-compare
Thanks! So if i interpretted it right you can use it as an "if X = Y then", which is what I was exactly looking for
Thanks! So if i interpretted it right you can use it as an "if X = Y then", which is what I was exactly looking for
Actually, I found this somewhere on this forum, but your function list is even more valuable =)
Actually, I found this somewhere on this forum, but your function list is even more valuable =)
Id be interested if you could figure some of them out, as I couldn't.
And I just got them by hexeditting the exe, but the release version is UPX'd, making it a bit more difficult...
edit: i spent a bit off time working out some off them, i editted my original post. it turns out the foobar's formatting enginge is a fair bit more advamced than i though..
well i managed to work out what everything does except $filename. ive updated my list with what I found the functions to do.
$stricmp - like $strstr, but can be used with $if etc. e.g. $if($stricmp(%date%,2001),yes,no) very useful!
$strcmp - like $strstr, but can be used with $if etc. (some diff from $stricmp, not 100% sure though)
The first one isn't case sensitive.
$filename - not sure
Extracts filename (without extension) from full path:
$filename(%_path%)
what does $strstr do though?
$strstr(string, substring) - returns position of first occurance of substring in string.
$ifgreater($strstr(%artist%,'Pink'),0,'It can be Pink Floyd','It is not Pink Floyd for sure')
The first one isn't case sensitive.
ok, did not occur to me
Extracts filename (without extension) from full path:
$filename(%_path%)
ok, seems kinda useless though but I guess its been there since the older versions of foobar.
$strstr(string, substring) - returns position of first occurance of substring in string.
ok that makes more sense (i made the wrong assumptions by what hitchhiker said)
i guess we have a complete list now, but i wont edit.