Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Recent Posts
General - (fb2k) / DarkOne 4.0 - modified skin
Last post by Defender -
Got some questions about my modified DarkOne 4.0 skin in the forum and via personal messages. So hereby some info.

Some 2.5 years ago I finally saw the light and made fooBar my preferred audioplayer. Best skin I found was DarkOne v4.0, which did not run great on my OLED screen with different scaling. DarkOne MOD2 did better, but was not perfect too. So I decided to start working on a unified skin that catered both and supported different windows scaling completely. The first year I spent on unifying ELP. Took a lot of time since most had to be done via reversed engineering. That I had some time to spare helped a bit :-)

During development I also closely looked to skins like Georgia and some ideas from that skin. I also implemented a couple of plugins that are really marvelous.

So here we are, 2.5 years of development, some 20.000 lines of code (doesn't help you cannot use subroutines/functions) and around 500MB of (logo) artwork.

Skin still has (a now optional) Bottom Panel devided in 3x 33.3%.
In the Bottom Panel you can choose between Top Plugins None, QuickSearch (original), Display Panel (original), TrackTime (playing track title with total time and/or lapsed and/or remaining - bit like the original top middle screen), WaveMini bar, AudioControl bar (loosely based on JS panel audiocontrols including Menu with extra PBO, OutputDevice and all kind of rightclick functionality). Top plugins can be relocated in all 3 positions and/or combined/stretched over 2 or 3 of the 33.3% panels.
In the lower part of the Bottom panel; you can choose 0,1 or 2 different plugins per 33.3% part. Plugins are VU Meter (some 10 different skins I like included), Peak Meter Spectrum horizontal and Peak Meter Spectrum vertical (both automatically adjust to 2ch, 6ch and 8ch (which is the max)), Channel Meter Spectrum and Art (choose between Artist, Cover, Artistcountry flag, Namelogo (horizontal logo), Bandlogo (squarelogo) and RecordLabel). If there's enough space you can also choose art above VU Meter and Peakmeter horizontal.
If you really want to go vintage you can select the original VolumeKnob.

Top Panel has different presets. One panel, two panel or 3 panels. Settings 33/33/33, 25/25/50, 25/50/25 (my preferred one  with ELP in the middle), 50/25/25, 25/75, 75/25, 50/50, 33/66, 66/33, 100.
Choose any of 3 different panels (below) and place them at whatever position within those presets.

'Other' Panel (original Left) has Library which is a submenu having AutoDJ (WillB), Smooth Playlist Viewer (Marc2003), Artist (WillB Library Tree - artist representation)), ReFacet, hSplit (original), Tree (other WillB Library Tree representation) and the two original New and Find options, TAGS (Marc2003 - Properties + Other Info adjusted for Pseudo-transparency), Shpleck (no milkdrop new version, does not work in CUI), YouTube + Search), Bio (WillB, Review (WillB), ART (Marc2003 - Thumbs adjusted for Pseudo) and Lyrics (Lyric Show 3).
Split panel (original Middle panel which originally had Artwork 2.0 (yes, I love the timeout display) and WaveSeekbar, now has more options. Upper part has either original Artwork 2.0, Review (WillB), YouTube video display (without Search), Artist (WillB Library Tree), ESP or ELP.
Lower Part has Lyrics, YouTube, Channel Spectrum Analazer, VU Meter or ART (Namelogo, Bandlogo, Flag, RecordLogo, Artistpic or Cover).
Play panel (original Right panel) has ELP, NGP, ESP, Rating, Now, Find, Clear (as the original had).

Top panel is controlled by a preset bar which has the different layout presets but can also show audiocontrols, wavebar/wavemini/seekbar and tracktime. One of the options is to display seekbar (otherwise hidden) in case of audiocd. You can choose to place this preset bar at the top of the largest panel/right, stretch it to full width or place it at the bottom. You can also choose to enable a fullwidth waveminibar or full width waveseekbar. Last option is you can enable a (original) multichannel waveseekbar in the bottom of either the left, middle or right panel.

All panels/bars support bezels/accent/gradients and transparency, which you can disable per panel/bar in setupmode. Default all on since that looks best by far imo. In setupmode you can also control the total height, height spacing, width spacing per panel/bar, spacing within the particular panel), format of TrackTime and which audiocontrols that you want to see displayed.
Almost all functionality except for the things mentioned above are driven by mouseclicks. Everything you see can be disabled/enabled with a mouseclick.

The other half of time I spent was in ELP. It supports splits in multicd's (thanks for the idea Georgia), splits between 2ch/6ch DVDA & SACD, HDCD, video, youtube, radio stations (artists info/art changes realtime), playcounts, ratings, specs, real sizes based on base 1024, displays all kind of art you can choose in the group header, has separate groups for radio stations, YT videos and YT shorts. Here you cannot change things with a moseclick and have to set options in ELP settings.

Skin supports all DTS, TrueHD, EAC, MKV, SACD, DVDA etc. And runs on all different windows scaling which was my main incentive.

There's no known bugs or glitches other than restoring from being minimized showing some white spaces before screen is redrawn (fraction of a second; still don't know if it's fooBar itself, CUI, PSS or what else) and WSH/JS2/JS3 panels redrawing (also fraction of a second) when a button is pressed in the same panel. Just a small flicker.

Caveats are that I still rely on a couple of ancient plugins which really look good but have not been ported to x64 (VU Meter, Channel Spectrum, PeakMeter Spectrum). My skin also heavily relies on (WillB) spidermonkey scripts and they are not going to be ported to x64 anytime soon. Another thing is my skin only looks good imo because of transparency and the possibilities that gives me or the user to control the art I want to see. Some promising new plugins don't support it and JS3 also stopped supporting it the other day.

Skin runs at 4 other locations (oled's/pc's) besides the 3 I run myself (main system, laptop, oled) for more than a year now. No complaints so far ;-)

I attached some examples ...
General - (fb2k) / Re: HDCD Alterative?
Last post by Cannonaire -
I just added a tag to all my HDCD tracks which I display alongside the codec. Upon playback it only keeps showing HDCD if it truly is HDCD, meaning it's easy to see if I mistagged something.
General - (fb2k) / Re: HDCD Alterative?
Last post by Defender -
The point about a player plug-in is not having to do that irreversible conversion.

I said consider.

It's lossless and stays lossless. Result is lossless 20bit inside a lossless 24bit container. The bonus would be you can see straight away in your ELP/NGP whatever that you have a HD source instead of having to play it to see that that particular track is more than 16bit.

I don't convert it myself but you might consider to do just that.
CUETools / CUETools: unrecognized or virtual drive
Last post by logitech44 -
Hello everyone,

I need your advice, please.
I have a new external CD/DVD drive: Verbatim 98938, which I use for ripping my rather large CD collection using EAC.
At the end of the EAC log, in the CTDB section, there is now an error message saying "unrecognized or virtual drive", meaning the rip results were not submitted to the CUETools Database. I know that it does not affect the rip quality, but I would like to contribute to that database, since it can be useful. I also tried ripping CDs using the CUETools ripper and got the same message about the unrecognized drive at the end.

Any ideas what the problem might be and how to fix it?

Two more things that might be important:
- The drive identifies as simply "DVD RW" without any further letters or numbers
- The drive seems to be working fine with AccurateRip database
3rd Party Plugins - (fb2k) / Re: [fb2k v2] SQL Tree (foo_uie_sql_tree)
Last post by fbuser -
It seems I can only define it once.
Yes, this is what I meant with "persistent".

If I change the name from "mv2json" then I can I can run it again
That's because you defined a new function with another name.

If I want to change the name of the function to "multivaluegenre2jsonarray", how do I delete the old one?
Code: [Select]
SELECT undefine('mv2json');

Also, after I define the JSON array function and run the following query with Omit Null checked, it works great in SQLite console but when I click OK I get the following error:
Code: [Select]
SQLite Error: (1) no such function: mv2json
This should not be the case. Is the function listed, when you execute the following command?
Code: [Select]
SELECT * FROM sqlean_define;
You might need to restart the application to get finally rid of it.

This query wouldn't work, even if you wouldn't get the "no such function" error. First because I missed to add path and subsong to the Genres CTE, second because of the "order by" that you added. Actually you would be able to create the tree, but clicking on a node would throw an error.

The make it work the query should be re-written like this:
Code: [Select]
  WITH Genres AS (
    SELECT path,
           mv2json(genre) genres
    FROM MediaLibrary
    genres->>0 AS Genre1,
    genres->>1 AS Genre2,
    genres->>2 AS Genre3,
    genres->>3 AS Genre4
  FROM Genres
ORDER BY Genre1, Genre2, Genre3, Genre4

Also, for unrelated reasons, Foobar2000 crashed a bunch of times while I was working on this.  I don't know if that contributed to the locked database problem.
Possibly. I already reduced the functionality of the define extension (see here.) because the internal default function handling was instable. However, after the adjustments I didn't face any issues anymore.
3rd Party Plugins - (fb2k) / Re: Foo_osd
Last post by Sancho -
Just discovered this thread and the renewed component (thank you!).

Wanted to give a shoutout to @fabiospark for the post @,43044.msg914190.html#msg914190

I'm not sure I could have figured out the syntax for the word wrap function. Thanks for sharing your code!

The component is a godsend, esp. the ability to have multiple lines and comments.

Here's my implementation of word wrap for displaying the Comment tag. While most of my files won't need word wrap, I'm pretty sure there are some that will benefit.

Code: [Select]
//start Artist, Album w/Year
$rgb(37,209,25,0,0,0) : ]
$rgb(255,223,2,0,0,0)$if(%title%,['('%date%')' %album%]
//end Artist, Album w/Year


//start Title
%title%,%_filename%)[ '['%_time_elapsed%']']$if(%_ispaused%,' [paused]')
//end Title


//start Comment tag

//If Comment tag length is greater than 85 than start to cut it in two lines
//otherwise show it on a single line

//First line of Comment tag, truncated at the last space before the 85th character
$puts(tae,$strrchr($substr(%comment%,1,85), ))

//Second line of Comment tag, from the first character after the last of the first line
//to the last space inside the next 85 chars or to the end of Comment tag if shorter.
$puts(tbe,$add($get(tbs),$strrchr($substr(%comment%,$get(tbs),$add($get(tbs),85)), )))

//end Comment tag

Here are a couple screenshots. I'm often running fb2k on a dedicated PC connected to via VNC, which is in the background while surfing or watching TV. It's handy to have the OSD persist in those situations; easy enough to switch to a timed setting otherwise.

Audio Hardware / Re: Decent portable audio player, that isn't a smart phone?
Last post by polemon -
Almost a year after my initial inquiry, I finally decided to get the Surfans F20. It's cheap enough, such that even if it's not exactly what I'm looking for, I can downgrade it to a shop or garage player.
I'm still sorta skeptical about he device, and I'll see if I can disassemble it such that I can replace the battery, should I need to do that.

So, yeah, for now it's the Surfans F20. I haven't used the Bt function so far, but it seems to be doing OK with all my wired headphones.