Skip to main content

Notice

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.
Topic: Biography Discussion (Read 224966 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Biography Discussion

Reply #450
^ I've added a SeekBar for image scrolling. It should be in the next version.

Re: Biography Discussion

Reply #451
New Version: Biography 1.1.1

FIX: Updated due to changes at lfm.

NEW: SeekBar for image scrolling. Enable menu > image > seekbar. Displays if > 1 image.

NEW: Album History, to compliment the already present Artist History. Displayed on "More Items Button" menu. Use "right click > menu > sources > show more items button" to enable the button if its not shown (button shows top left).

CHG: "More Items Menu Button" (top left), artist history & album history are now enabled by default on new installs.
   To configure which items are displayed use "More..." flyout on "More Items Button" menu.
   To hide "More Items Button", use menu > sources...

CHG: Simpler heading and subheading that are more language neutral. These are loaded by default on new installs. Existing installs should retain previous heading and subheading settings. Both can be configured in panel properties.

Re: Biography Discussion

Reply #452
Greetings, WilB!
Will the update "Biography 0.9.0.3" for the JScript Panel due to the update on the last.fm.
Thanks.

Re: Biography Discussion

Reply #453
Hello WilB!

Thanks for the Biography 1.1.1 update, worked like a charm!
Just love the new features! Much appreciated!
Best regards,
redorb
What is the opposite of music?

Re: Biography Discussion

Reply #454
@kutuzof

Quote
Will the update "Biography 0.9.0.3" for the JScript Panel due to the update on the last.fm

Please explain further why you have requested this. Why not use the Spider Monkey Panel version?

Re: Biography Discussion

Reply #455
Simply there is an assembly with scripts for the "JScript Panel". I would not want to use two components together.
Thanks!

Re: Biography Discussion

Reply #456
I've uploaded a JScript panel compatible version in the usual location.

Re: Biography Discussion

Reply #457
Thank you very much! I wish you success!

Re: Biography Discussion

Reply #458
Thank you very much! I wish you success!

Re: Biography Discussion

Reply #459
Hi WilB,

I would have a small request regarding the selection mode : would it be possible to halt the search for bio and imgs when the panel isn't visible, and trigger it only when the visibility changes? Otherwise, when this script is incorporated in a theme, it eats ressources when playback changes (or when selected track changes if nothing is played) even when it's not visible.

Re: Biography Discussion

Reply #460
i haven't had time to look into it, but I'm getting frequent panel errors when displaying new items (first time read into library).

Just FYI reporting:

Error: Spider Monkey Panel v1.2.1 (Biography v1.1.1 by WilB)
can't access dead object

File: <main>
Line: 3466, Column: 15

Stack trace:
  get_rev@<main>:3466:15
  Server/this.fetch@<main>:3348:93
  on_notify_data@<main>:3295:893
  Panel/this.getData@<main>:510:177
  Panel/this.changed@<main>:490:42
  Panel/this.focus_serv<@<main>:507:41
  T@<main>:18:174
  w@<main>:18:396
  l@<main>:18:300

Re: Biography Discussion

Reply #461
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 #462
@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 #463
Yes, hopefully I've got them all this time.

Re: Biography Discussion

Reply #464
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 #465
Hi there!
@WilB,
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 #466
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 last.fm). Apparently none of this seems to be possible anymore. Is this from last.fm 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 #467
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)

ie8
vcrun2017
msxml3

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]
xdg-open,firefox,konqueror,mozilla,netscape,galeon,opera,dillo


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]
Name=foobar2000
GenericName=foobar2000
Comment=Music Player
StartupWMClass=foobar2000.exe
Type=Application
Exec=env WINEPREFIX="/home/USER/.winefoobar2000/" wine Z:\\\\home\\\\USER\\\\bin\\\\foobar2000\\\\foobar2000.exe
Terminal=false
StartupNotify=true
Path=/home/USER/bin/foobar2000
MimeType=audio/basic;audio/vnd.wav;audio/x-wav;audio/x-aiff;audio/ogg;audio/vorbis;audio/x-vorbis+ogg;audio/mpeg;audio/mp4;audio/aac;audio/x-wavpack;application/vnd.apple.mpegurl
Categories=AudioVideo;Audio;Player
Icon=/home/USER/.local/share/icons/foobar2000.png

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 #468
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 last.fm 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 #469
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 last.fm 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 last.fm. You need to install the new version of the script.

Re: Biography Discussion

Reply #470
Thanks for the work; this all performs fine. But, when did the Allmusic and LastFM biogs become identical??? No matter which artist I choose, the wording from the two sources is exactly the same...

Re: Biography Discussion

Reply #471
Except for rare cases where the LFM site uses the AM biography, the LFM & AM bios should be different. I checked both sites and they seem to be working correctly.

Check the server settings in biography...ini. 1) Ensure you haven't set the same save locations for the two bios, which would cause them to overwrite each other and the behaviour you describe. 2) Check you haven't disabled [AUTO-FETCH] for one of the bio sources. If using the Spider Monkey panel version, server settings can simply be reset by: right click > menu > sources > server settings > reset to default.

Also by default, the bio falls back to whichever is available if only one is found. LFM requires matching the artist name as the bio usually includes all artists of the same name. AM bios only contain a single artist: so to discern artists of the same name the album name has to match as well. If the album name is missing or can't be matched at the site, a match to the track title is used instead (Spider Monkey Panel Version only).

If further discussion is required, please put it in the main discussion thread (linked above) so as to keep this thread free of clutter, so latest download links can easily be found.

Re: Biography Discussion

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

Re: Biography Discussion

Reply #473
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 #474
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!