Skip to main content


If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: Biography Discussion (Read 99805 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Biography Discussion

Reply #425
I couldn't seem to reproduce the issue. However, I suspect the problem is in function on_notify_data. If you're comfortable with altering the code a little can you try replacing all of line 3295 with that below and let me know if it fixes the issue? I did a quick test & it seems fine. Otherwise I'll need to test it much more extensively...

Code: [Select]
function on_notify_data(name, info) {let copy; if (ui.local) on_cui_notify(name, typeof info === 'string' ? String(info) : info); switch (name) {case "chkTrackRev_bio": if (!p.server && p.inclTrackRev) {copy = Object.assign({}, info); copy.inclTrackRev = true; window.NotifyOthers("isTrackRev_bio", copy);} break; case "isTrackRev_bio": if (p.server && info.inclTrackRev == true) {copy = Object.assign({}, info); serv.get_track(copy);} break; case "img_chg_bio": img.fresh(); men.fresh(); break; case "chk_arr_bio": img.chk_arr(JSON.parse(JSON.stringify(info))); break; case "custom_style_bio": p.on_notify(String(info)); break; case "force_update_bio": if (p.server) {copy = JSON.parse(JSON.stringify(info)); serv.fetch(1, copy[0], copy[1]);} break; case "get_multi_bio": p.get_multi(false); break; case "get_rev_img_bio": if (p.server) {copy = JSON.parse(JSON.stringify(info)); serv.get_rev_img(copy[0], copy[1], copy[2], copy[3], false);} break; case "get_img_bio": img.grab(info ? true : false); break; case "get_txt_bio": t.grab(); break; case "multi_tag_bio": if (p.server) {copy = JSON.parse(JSON.stringify(info)); serv.fetch(false, copy[0], copy[1]);} break; case "not_server_bio": p.server = false; timer.clear(timer.img); timer.clear(timer.zSearch); break; case "blacklist_bio": img.blkArtist = ""; img.chkArtImg(); break; case "script_unload_bio": p.server = true; window.NotifyOthers("not_server_bio", 0); break; case "refresh_bio": window.Reload(); break; case "reload_bio": if (!p.art_ix && ppt.artistView || !p.alb_ix && !ppt.artistView) window.Reload(); else {t.artistFlush(); t.albumFlush(); t.grab(); if (ppt.text_only) t.paint();} break;}}

Re: Biography Discussion

Reply #426
@WilB , FYI, this error occurs when some object was not (deep-)copied properly in `on_notify_data` and was accessed outside of `on_notify_data`.

Re: Biography Discussion

Reply #427
Yes, hopefully I've got them all this time.

Re: Biography Discussion

Reply #428
Does someone know how to make this script and other jscript's working in foobar under linux mint? I didn't have sucess with wine?

Re: Biography Discussion

Reply #429
Hi there!
first of all, thank you for developing your excellent Biography script and all improvements!
Next, I will highlight several points that I noted in use it:

1. When the SeekBar for image scrolling feature is activated, the visualization freezes while the mouse pointer moves over the image area (for SeekBar "Auto" and "Show" modes). This appears even for the "Text Only" mode when you move the mouse over the text area. I think this is due to the processor resources spent on updating the image area.
In this regard, let me suggest reconsidering (if possible) the implementation of the SeekBar feature (probably it will be other name) as shown in the attached picture (see image_field.jpg). In my opinion, this can solve this problem.

2. I noticed that the feature "Artist History" does not save the name in the history list when changing artists of dynamic metadata radio streams. The artist name in the history list is saved only if you stop playback and start playback another radio stream.

3. With SeekBar feature, your script allows comfortably view images of artists. Please consider increasing the maximum number of downloaded images (perfect without limitation).

4. An error occurred while scrolling text ("Text Only" mode) (see error.jpg). Let me know if you need more information to fix this issue.

Thank you again for the possibility to use your all excellent scripts for fb2k!

Re: Biography Discussion

Reply #430
It's been a while since I've used this component. Apparently it's now on spidermonkey instead of jscript panel. I remember this component being able to download and display artist images (taken from Apparently none of this seems to be possible anymore. Is this from side? Why is there even a server settings option to switch on dowloading artist images? Even displaying already downloaded artist images seems to be not possible.

Re: Biography Discussion

Reply #431
Does someone know how to make this script and other jscript's working in foobar under linux mint? I didn't have sucess with wine?

I managed to make it works in ubuntu.

It is a little bit tricky.

Of course change USER with your username ;-)

first thing is make a new 32bits  wine profile for foobar.

Open console and write:

Code: [Select]
export WINEARCH=win32 && WINEPREFIX=/home/USER/.winefoobar2000 winecfg

This create the profile and open wine configuration.

Install foobar in this profile in portable mode and make sure the path have no spaces or points (when I install it in ~/.foobar2000 I have problem with the data write for several scripts). I install it in ~/bin/foobar2000 and never have any problem.

Code: [Select]
WINEPREFIX=/home/USER/.winefoobar2000 wine PATHTOFOOBAR2000INSTALFILE.exe

Now open winecfg again and select windows XP version.

Again in the console write

Code: [Select]
env WINEPREFIX='/home/USER/.winefoobar2000' winetricks

Select default profile, install dll and install the next ones in this order (this is important, don't know why ;-P)


Close winetricks, open winecfg and change window version to windows 7 again.

Another time I don't know why but with xp version foobar always freeze.

With this the panel works but when you try to open a link gives you a warning and doesn't open the navigator.

For making it open the default browser again:

1. Open Wine Regedit:

Code: [Select]
env WINEPREFIX='/home/USER/.winefoobar2000' wine regedit

2. Navigate to HKEY_CURRENT_USER (a.k.a HKCU) -> Software -> Wine and look for a key called "WineBrowser", if it does not exist, create it. Under the newly created "WineBrowser" key, create a string called "Browsers" with the following value:

Code: [Select]

Don't worry about the browsers order in the above code. Just make sure "xdg-open" is the first one, as that will make sure that when you click a link in a Wine application, your default native Linux browser will be used to open that link.

3. But we are not done! At this point if you click a link in Wine, you'll get the following error:

err:winebrowser:get_url_from_dde Unabled to retrieve URL from string L"\""
err:winebrowser:wmain Usage: winebrowser URL

To fix this, go to HKEY_CLASSES_ROOT -> http -> shell -> open -> command and edit the data value by adding "%1" at the end of the line, so that it looks like this:

C:\windows\system32\winebrowser.exe -nohome "%1"

Same for https

Close regedit and enjoy.

You can launch foobar from the console from the console with

Code: [Select]
env WINEPREFIX='/home/USER/.winefoobar2000' wine /home/USER/bin/foobar2000/foobar2000.exe

or create a launcher in /home/USER/.local/share/applications.

Create a file with the name foobar2000.desktop, open in text editor and write something like this:

Code: [Select]
[Desktop Entry]
Comment=Music Player
Exec=env WINEPREFIX="/home/USER/.winefoobar2000/" wine Z:\\\\home\\\\USER\\\\bin\\\\foobar2000\\\\foobar2000.exe

Note that you need to put a foobar2000 png in /home/USER/.local/share/icons/.
This is only cosmetic.

Save and close.
Make it executable in the permissions tab of propieties.

With this it will display in the shell when you search foobar.

Hope that it works for you too.

The only thing that I can't make it work is the download of artist and album images.

I use foo_discogs for this task.

Re: Biography Discussion

Reply #432
Before I'm spending some more frigging hours on this I would seriously want to know the answer to this simple question.....does this component still download artist images from or not? A simple yes or no would do, this is turning out to be some frustrating sh*t here. Image [Artist] Auto-Fetch is set to 1 on server settings.

Re: Biography Discussion

Reply #433
Before I'm spending some more frigging hours on this I would seriously want to know the answer to this simple question.....does this component still download artist images from or not? A simple yes or no would do, this is turning out to be some frustrating sh*t here. Image [Artist] Auto-Fetch is set to 1 on server settings.
@jazzthieve, Absolutely yes. The script works well and downloads images from the site You need to install the new version of the script.

Re: Biography Discussion

Reply #434
Hello Wilb!
Thank you so much for your work.
I updated the JScript Panel to version 2.3.0 and your script "Biography" no longer loads the text. Is there any way to fix this?

Re: Biography Discussion

Reply #435
I have prepared a JSP v2.3.0 compatible version. I'll release it shortly when I've confirmed all is working.

Re: Biography Discussion

Reply #436
Hi, @WilB 
Now that I'm mostly done with Library Tree, I figured I'm gonna try Biography and so far I'm amazed! But obviously after some tinkering I have a couple of questions/requests:

1. Separate "no effect / reflection / border / shadow" for artist images and covers

I could really use this to make both views more distinct. And it seems to me that if there's already an option to make separate layout styles for both, then unique image styles could follow. This is what I came up with for test purposes:
a) Artist biography view has images side-to-side with reflection blending downwards and it looks just stunning to me
b) Keeping the same image display style for covers looks great too, but I thought it could use some distinction like...
c) ...centering them and making them pop out thanks to underlying shadows

Personally I believe that the cover art that is in 99% cases rectangular looks better when it's clearly isolated, whereas artist images that come in variety of ratios feel much better when they fill out the available space (side-to-side + auto-fill + fuzzy reflection downwards).

2. Don't calculate shadow as part of the image

I don't know whether it's just how the drawing function works, but for some reason positioning of the image takes shadow into account. So in order to achieve those perfectly centered covers with shadows like above, I had to manipulate "imL", "imR" etc. a lot. If I tried to set left and right both to zero or make the available cover space square, the image would be shifted to the left like in this example.
I think the shadow effect shouldn't count as part of the image, just like the reflection doesn't (at least when I'm trying to align it centrally).

3. Lock upscaling

This one isn't really indispensable to me and it's possible to get around the issue, but I think it could make things easier for some. That is, there could be an option for the image/cover to resize with the available area until the image's native resolution is reached.

4. Switching multi-value artists on biography overlay

Someone probably requested this before along the multi-value tag support, which resulted in the "More Items" button/menu. But this way additional track/album artists are treated as guests and only $meta(artist,0) is considered the main one. So I'm probably in the minority here if I treat the credited artists equally. Still, there are cases like collaborative albums where it's impossible to make it hierarchical. An example would be Sarah Davachi & Ariel Kalma - Intemporel.

I know that multiple biographies are auto-cycling anyway, but I would love to be able to switch between them from the position of biography, for example with arrows like these - it would also make the collaborative nature more pronounced visually.

5. Custom biography folders for multi-value artists

Again similar problem as I had with Library Tree and disambiguating by MBIDs. In biography.ini my [NAMES] are pretty much the same, that is, they query by $meta(some_tag,0) just the same. However I wanted to change the [SAVE] pattern to my own, using MBIDs. And that's where the problems began with multi-value tags.

%BIO_ARTIST% and %BIO_ALBUMARTIST% will separate multi-value tags and neatly put all the credited album and track artists to their respective folders. But if I change this to e.g. %musicbrainz_albumartistid%, it will treat the tag as single value. And then $meta(musicbrainz_albumartistid,0) will only save the first value. Maybe I just don't see it, but I think it's impossible to make it work from the biography.ini standpoint.

Spoiler (click to show/hide)

Ok, that's a lot. I hope at least some of these make sense to you!

Re: Biography Discussion

Reply #437
Question about image display in the review panel (v.1.1.1 smp 1.2.1).

I have sources>auto cycle images, and sources>cover: cycle from folder selected.
The review panel displays the cover art, but will not cycle, timed or mouse-wheel.

Artist biography panel (artist image) display (sources>photo: cycle from folder) cycles and works with mouse-wheel.

Anything I might be overlooking?

Re: Biography Discussion

Reply #438

Regarding a version that's compatible with JScript panel v2.3.0. Sorry for the delay in producing this. JScript panel v2.3.0 caused a full foobar2000 crash (Crash location: Module: foo_jscript_panel). I then couldn't start foobar2000 until I removed JScript panel v2.3.0...

If you're inclined, Shift+right click > configure > replace line 212 ( of with the following line:

Code: [Select] = function(n, l) {try {return utils.WriteTextFile(n, l);} catch (e) {return false;}}

That should get it working with v2.3.0, but due to other non-critical changes in JScript panel I will release a fully fixed version in due course.


1. I can probably do that.

2. Mostly shadow isn't calculated as part of the image, at least if layout outer padding left & right is >=10. Main exception is image only with autofill and that was by design. But on further thought it can be done better as you suggest and I'll likely change it so it all works automatically.

3. Lock upscaling. I'm not sure I understand exactly what you mean. I tried using image at native size if it's smaller than the panel, otherwise fitting to available area. But that results in some images being rather small and lots of blank space. So I wasn't that convinced. If it was added, what menu name would it be (i.e. a short name that's accurate and obviously conveys its meaning?)

4. Switching multi-value artists. You can use mouse wheel over the button. If you want a visual indicator, I might consider changing the button so it's in some highlight colour when extra tags are available.

5. Yes you're right, you can't do it from the ini. Sorry, but it's way too involved to implement.


I checked 1.1.1 & it's working for me. Check that the folder location is valid & contains more than one image. Folder is specified in biography.ini: [COVERS: CYCLE FOLDER]. Note also that cover cycling is only available for the current track. It doesn't attempt to load for look-up items, i.e. top albums, since album covers other than front won't be available (menu item grayed). .


Re: Biography Discussion

Reply #439
1. & 2. Thank you for considering both! This will help a lot to make the panel look like I wanted.

3. Menu names: "No resize", "Don't resize" or "Block resizing" maybe? Honestly though if you don't think it's necessary, then I won't insist. I have already decided to keep square constraints in dimensions that won't resize my covers.

4. If you don't want to implement the option for two arrows on the left and right side of the image/bio (which I still low key think would be lovely - to switch multiple artists like that), then maybe there could be appropriate lines in panel properties for "more items" button customization? Changing its colour or symbol or size? But I do agree, what's most important is the option to toggle the button's visibility only on the condition when there are more tags available. And only then maybe changing the size of the button? The scrolling between biographies option is great, but when it's a small and transparent area, then I suppose it doesn't stand out enough to separate it from scrolling/cycling through singular artist's images.

5. I wrote this post before I read your answer in 'Library Tree" discussion, so I understand now it's too complicated to implement.

Thanks so much, again. I really appreciate the lengths you go to fill everyone's requests for your scripts!

Re: Biography Discussion

Reply #440
4. You can already change the button size: mouse over then CTRL + wheel. I'll look into conditional highlighting or something similar.

Re: Biography Discussion

Reply #441
Hello Wilb!
Thanks, I replaced the string and for now it works.
I will look forward to a new version for JSP v2.3.0.

Re: Biography Discussion

Reply #442
Biography 1.1.1 NOT working on Windows 10 Pro 32bit ITA version with Spider Monkey Panel 1.2.2-preview

@WilB: I have 2 identical instances of FB 1.5 beta 18 running on Win7 Ultimate and on Win10 Pro (both 32bit ITA).

On Win7 all fine, no crash so far, but on Win10 I have a blocking error just after few seconds from the start.

See attached PDF for details.

PS: Already informed also TheQwerties for SMP.

Thanks and regards,

Re: Biography Discussion

Reply #443
@WilB : Hello WilB, Biography 1.1.1 was running fine since a week on my new Windows 10 Pro 32bit PC.
But, since this morning I am getting this annoyng blocking error (see attached screenshot).
I restarted the PC and Foobar a couple of times, but no solution.
What's changed over this week, it is only that yesterday I run the new monthly "big" Microsoft updates for Win10 1903.

Re: Biography Discussion

Reply #444
The only thing I can suggest here is to find the image, that's being resized (and causing the error), and check if it's a valid image.
I.e. to diagnose the issue, it first must be narrowed down: does it happen with every image? does it happen with a specific image?

Re: Biography Discussion

Reply #445
@AndreaT I had fixed something that may be related to your issue, though it was a rare event. I've sent you a pm with a link to a test version. Hopefully it fixes the issue. If not then more info on the lines @TheQwertiest suggested may help. I'm running Win10 1903 and all is OK here, but it's not 32 bit & it's not pro though...

Re: Biography Discussion

Reply #446
@WilB and @TheQwertiest
The new script ver 1.1.2 beta1 changed the error to "out-of-memory" (see attached screenshots) even if I am having plenty of free memory available.
I don't know if related to a single picture or not. Now it is happening showing the biography of the Pink Floyd.
Fortunately, now I can simply "reload" and survive for some time without having to reboot Foobar.
Kind regards, Andrea

Re: Biography Discussion

Reply #447
Hello WilB, I tried also to set/enabled "Image => Enlarge on hover" and the error is not anymore popping-up so often, but it is still there... Just a matter of tens of minutes intead of tens of seconds...
And I am still speaking about the same biography "case" of the Pink Floyd.
Regards, Andrea

Re: Biography Discussion

Reply #448
@AndreaT I've sent a pm with some debug info to try & work out whether the issue is a script problem or lays elsewhere.

Re: Biography Discussion

Reply #449
And I am still speaking about the same biography "case" of the Pink Floyd.
Regards, Andrea

One indirect tip.

Often the artist images that get auto downloaded are very large. You may want to check your PFloyd artist image folder.

I've also received similar errors from the SMP scripts (esp. thumbs) when I have many artist or album images. It always happened when there are several images with sizes over 1mb in the source folders.

I've found a good batch fix is to use a WIN app like "agent ransack" which can mass search folders by file size or dimensions. All image results can then be bulk resized using the WIN Image Resizer utility.

SimplePortal 1.0.0 RC1 © 2008-2021