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 106247 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Biography Discussion

Reply #600
@wcs13 : next version has the features you requested a while ago + a fully configurable image resolution filter for artist photos
THANK YOU SO MUCH @WilB ! I was really hoping for it. I can't wait to try it and see how it works :)

Re: Biography Discussion

Reply #601
Great news, looking forward to the next release.

Re: Biography Discussion

Reply #602
Hello WilB~ Thanks your Beautiful Bio script.

I have a problem.
I use the biography script as a cover panel.
Sources / Cover:/ Front option shows embedded front cover.
But Sources / Cover: / Cycle above option does not show embedded cover that only have one front cover file.
For example Hot100 chart music files has a embedded front cover.

Bio script.js and SMP is latest version.

Re: Biography Discussion

Reply #603
That's a bug I was aware of. It should be fixed in the next version.

Re: Biography Discussion

Reply #604
Hi
Is it possible to save both artist biographies (AllMusic & LastFM) to the same folder but with a different file name. Also, the same for album reviews? If not, could you please consider this as a request for the next version.

Re: Biography Discussion

Reply #605
I'd already done that for the next version!

Re: Biography Discussion

Reply #606
Thanks. Looking forward to that new version.

Re: Biography Discussion

Reply #607
Hi WilB,

As I mentioned in the Library Tree topic, I have updated from JScript panel to Spider Monkey panel (I am really grateful that you are still maintaining this script!) and I have managed to set up everything as it was before. In this case I have also encountered 2 minor issues, so I am listing them below if you'd be so kind to take a look:

1. The last.fm stats for Top Albums and Similar Artists are still being displayed despite setting them as disabled in panel properties. I have checked if this isn't a cached issue by removing the existing artist bio but it is still being displayed. Let me know if there is something I have missed. I have this info displayed at the bottom after the bio text. This is how it looks like:



2. I have been able to fix the second issue, however I will mention it just in case someone else runs into the same problem or if you decide that this behavior is a bug. Basically there is an issue with displaying accented characters (e.g. á, é, č) in the text. I have investigated why it happens and found out that the old cached files (from earlier versions of the script) have been saved in UTF-8 format. After converting all of the txt files into UTF-8-BOM they are now displayed correctly. Not sure if this is intended so I am mentioning it just in case. Here is how it looked before and after conversion:



Thank you for the feedback and thank you for maintaining this script!

Re: Biography Discussion

Reply #608
Hi WilB,
2 questions related to getting the country for a given artist: https://hydrogenaud.io/index.php?topic=120729.msg995115#msg995115
- Tried to save last.fm locale tag to some tracks but it doesn't work if the tracks were not played before. Is there an option to force downloading ALL data (at least the text) from selected tracks on demand (even if there are rate limits imposed and takes some time)? (never used the script so I'm not familiar with it)
- Could you consider notifying tags from current track to other panels?  this.write_tags has already the logic for a handle list the idea would be replacing the write part with:
Code: [Select]
window.NotifyOthers('Biography tags',JSON.stringify(tags));

The second would allow other scripts to re-use the data from the current track. My current script just uses tags from files (and that's what I want for myself), but having data directly from your panel would also cover other use-cases (and work as fallback when no tags are present).

Re: Biography Discussion

Reply #609
Is there an option to force downloading ALL data (at least the text) from selected tracks on demand

The best way I managed to do this (batch load all artist data) was to generate a playlist with one track by every artist (or album for reviews) in my collection (via Random Pools plugin).

Then I used autohotkey to automate skipping tracks every 5 sec. which seemed to be enough time to load the bios/reviews.
Code: [Select]
    #Persistent
    SetTimer, PressTheKey, 5000
    Return

    PressTheKey:
    Send, {NumpadDown}
    Return

Something similar should have worked via built-in seek control>preview, but it didn't for some reason that I can't recall.

btw Regor - I'm anxious for a public release - unfortunately I haven't had the time to keep up with your beta release schedule.

Re: Biography Discussion

Reply #610

Then I used autohotkey to automate skipping tracks every 5 sec. which seemed to be enough time to load the bios/reviews.
Code: [Select]
    #Persistent
    SetTimer, PressTheKey, 5000
    Return

    PressTheKey:
    Send, {NumpadDown}
    Return

Could've used foo_preview for that.

Re: Biography Discussion

Reply #611
Yep I know both methods as workaround, but the point is the procedure should involve the minimum steps. I think it should be done within the script scope, not requiring other scripts or plugins to simulate playback. Although I understand the rate limits if we talk about images, the text data may have more relaxed rules. Asking regular users to install my scripts, plus this one, plus another plugin to get a tag and make it work seemed too much.

My 2nd suggestion would at least partially solve the problem since variables would be exposed on playback. Thanks to both anyway!

Quote
btw Regor - I'm anxious for a public release - unfortunately I haven't had the time to keep up with your beta release schedule.
Will send you a PM next time I send links to people. Should be this week

Re: Biography Discussion

Reply #612
Hey WilB,

Just a minor request please. When Covers are set to 'Cycle From Folder' they load alphabetically, which for me means -

Back.jpg -> Disc.jpg -> Front.jpg

However, I'd much rather have the Front image appear first when an album starts playing, then the rest. I notice it already does that when 'Cycle Above' is also enabled, where the order preferably goes -

Front -> Back -> Disc -> Artist

Unfortunately that method is no use for me because I use the art threader for genre icons and would rather they not show up as album art. ;)

So if any chance you could make 'Cycle From Folder' start with the Front.jpg / Cover.jpg, that would be cool. (Or an option?)

Cheers

Re: Biography Discussion

Reply #613
@anamorphic

'Cycle From Folder' loads all the images in the folder using SMP utils. They appear to be returned in a random order. Biography doesn't sort them. So the fact you obtained them in alphabetical order seems fortuitous. When I tried I happened to get Front first. It might be possible to sort the list alphabetically using a rule based method. But that may mean the user defining the rules & complex options hardly anybody would use. 'Cycle Above' can call the images in order.

In your case there seems to be a simple fix: use 'Cycle Above' and exclude the artist pattern. I could add check marks against the menu items to select which of Front, Back, Disc, Icon Artist are used, if the method works for you.

To test if the method works, change on line 3130:

for (let i = 0; i < 5; i++) to
for (let i = 0; i < 4; i++)

i.e. just replace the 5 with 4.

That will exclude the artist look up, then you can use 'Cycle Above'

@regor  It seems you've essentially solved the issue another way. It doesn't seem worth the effort of trying to supply data through notify for what may be a few residuals - it's not even clear that lfm would have missing ones anyway compared with listings on the MusicBrainz site.

@culinko Last.fm stats for Top Albums and Similar Artists are always in the bio. The setting you refer to controls display on the drop down menu.

Re: Biography Discussion

Reply #614
Thanks for the reply. I was wondering, would it be possible to add this as a setting so people could hide some of the sections from Last.fm?

Additionally, I have found that for some reason the Last.fm biography is not displayed for a Slovak group called Polemic. I was not able to figure out why, since it has a biography on the Last.fm page: https://www.last.fm/music/Polemic.

Only the Last.fm sections are being displayed, please see the following screenshot:


My Last.fm language for the script is set to EN and this is the only artist that I encountered where the discography is not being fetched properly.

Let me know if you need any more information regarding this issue, thank you for taking a look.

Re: Biography Discussion

Reply #615
Hi WilB :)

To test if the method works, change on line 3130:

for (let i = 0; i < 5; i++) to
for (let i = 0; i < 4; i++)
That works to exclude Artist, yes. I had to go further and set it to 1 to only show Front (and then it loads Back / Disc from folder) - this works perfect for me.

To clarify, my setup is a bit unconventional - for album art patterns I use Disc thread to load genre icons, and Back to load artist icons (in Facets). Artist thread loads artist photos in the parent folder.

Since probably no one else does that, I'm happy to just use that modification if you think is not worth changing the official script.

Cheers

Re: Biography Discussion

Reply #616
Greetings,

I have an issue with the %profile% placeholder in biography.ini

i'm using a portable installation and one of the folders that the portable installation is inside of starts with a period

so for example: %profile% = C:\Users\Me\MyStuff\.problematic_folder\foobar\profile

the problem is that the folder that begins with a period gets converted from .problematic_folder to _problematic_folder

so my reviews/bios, etc get saved to the wrong location

any ideas?

thanks



ah, i think i see the offending line

Code: [Select]
.replace(/\\\./g, "\\_")

not exactly sure why that would be necessary though

Re: Biography Discussion

Reply #617
@regor  It seems you've essentially solved the issue another way. It doesn't seem worth the effort of trying to supply data through notify for what may be a few residuals - it's not even clear that lfm would have missing ones anyway compared with listings on the MusicBrainz site.

@culinko Last.fm stats for Top Albums and Similar Artists are always in the bio. The setting you refer to controls display on the drop down menu.
Nope, the problem is not solved at all. Data is only downloaded with playback and makes no sense to ask users to playback their entire library to fetch a tag, then write them and then use my plugin...

Anyway I don't understand your reticence, since the main point of getting tags from the lastfm/allmusic servers is to use them (?) Obviously since they are not available to other plugins, no one is using them outside your panel. That may change if you share the tags, just saying. (for sure I would create much more things if I could use tags like similar artist, etc. shared by your panel)

Apart from that... it's a matter of changing 3 lines to do it, and that's just a dirty edit I made to check it:
tagger().this.notifyCountry already has all the code, unused.. (at least for the country tag, the tag writing routine has code for all tags)
Code: [Select]
	this.notifyCountry = (handles) => {
       if (!handles) return;
        let a = "", a_o = "####",  aa = "", aa_o = "####", l = "", l_o = "####";
        let locale = [], rem = [], sa = [], tags = [], artTags = []; // THIS
        const tf_a = FbTitleFormat(p.tf.a), tf_aa = FbTitleFormat(p.tf.aa), tf_cue = FbTitleFormat("$ext(%path%)"), tf_l = FbTitleFormat(p.tf.l);
        const artist = tf_a.EvalWithMetadb(handles).toUpperCase(), album = tf_l.EvalWithMetadb(handles).toUpperCase();  // THIS to metadb
if (!name.alb_strip) l = l.replace(/CD(\s*\d|\.0\d)|CD\s*(One|Two|Three)|Disc\s*\d|Disc\s*(III|II|I|One|Two|Three)\b/gi,"").replace(/\(\s*\)|\[\s*\]/g, " ").replace(/\s\s+/g, " ").replace(/-\s*$/g, " ").trim();
else l = l.replace(/CD(\s*\d|\.0\d)|CD\s*(One|Two|Three)|Disc\s*\d|Disc\s*(III|II|I|One|Two|Three)\b|(Bonus\s*Track|Collector's|(Digital\s*|Super\s*|)Deluxe|Digital|Expanded|Limited|Platinum|Reissue|Special)\s*(Edition|Version)|(Bonus\s*(CD|Disc))|\d\d\w\w\s*Anniversary\s*(Expanded\s*|Re(-|)master\s*|)(Edition|Re(-|)master|Version)|((19|20)\d\d(\s*|\s*-\s*)|)(Digital(ly|)\s*|)(Re(-|)master(ed|)|Re(-|)recorded)(\s*Edition|\s*Version|)|\(Deluxe\)|\(Mono\)|\(Reissue\)|\(Revisited\)|\(Stereo\)|\(Web\)|\[Deluxe\]|\[Mono\]|\[Reissue\]|\[Revisited\]|\[Stereo\]|\[Web\]/gi,"").replace(/\(\s*\)|\[\s*\]/g, " ").replace(/\s\s+/g, " ").replace(/-\s*$/g, " ").trim();
if (artist != a_o) {
// remove any reference to [i] changed to var
a_o = artist;
if (p.tag[6].enabled || p.tag[7].enabled || p.tag[8].enabled && p.tag[8].enabled < 7) {
const lfmBio = p.cleanPth(p.pth.lfmBio, handles, 'tag') + artist.clean() + ".txt";
if (s.file(lfmBio)) {
const lfm_a = s.open(lfmBio);
if (p.tag[6].enabled) {ix = lfm_a.lastIndexOf("Top Tags: "); if (ix != -1) {artTags = lfm_a.substring(ix + 10); artTags = lfmTidy(artTags, artist, l);}}
if (p.tag[7].enabled) {
let loc = lfm_a.match(RegExp(kww, "i")); if (loc) {
loc = loc.toString();
ix = lfm_a.lastIndexOf(loc);
if (ix != -1) {
locale = lfm_a.substring(ix + loc.length);
locale = locale.split('\n')[0].trim().split(", ");
}
}
}
}
}
}
window.NotifyOthers(window.Name + ' notifyCountry', locale);
}

Then on text()
Code: [Select]
 this.draw = gr => {
tag.notifyCountry(s.handle(ppt.focus));
...

And don, country is notified to the world map
X

Re: Biography Discussion

Reply #618
@culinko

Polemic. There are issues at last.fm. The main wiki page (https://www.last.fm/music/Polemic/+wiki) is giving a 503 error.

To exclude similar artists from the bio you can change line 3999 to :
Code: [Select]
/*if (simArtists.length) simArtists = "\r\n\r\n" + similar[p.lfmLang_ix] + simArtists.join(", "); else*/ simArtists = ""; s.doc.close();

To exclude top albums from the bio you can change line 4021 to :
Code: [Select]
/*if (topAlbums.length) topAlbums = "\r\n\r\n" + topAlb[p.lfmLang_ix] + topAlbums.join(", "); else*/ topAlbums = "";

@regor
Well I thought Pickard could do it based on your other post??? I can look into adding something for the next version. Probably it will be after on_playback_new_track() when it has the data. I think this.draw is called too frequently.

@FritzLn From the documentation:
Quote
The script always replaces leading dots in metadata with underscores in folders and file names. This is because foobar2000 doesn't automatically handle this case and won't load images* if any folder in the search pattern has a leading dot "."
* this means if you try & load saved images through fb2k preferences\display\album art patterns. Without the fix images for artists like .38 Special don't seem to load through this route & so won't be available to other album art viewers & playlists. Anyway you found what to change so it works for you.

Re: Biography Discussion

Reply #619
@culinko

Polemic. There are issues at last.fm. The main wiki page (https://www.last.fm/music/Polemic/+wiki) is giving a 503 error.

To exclude similar artists from the bio you can change line 3999 to :
Code: [Select]
/*if (simArtists.length) simArtists = "\r\n\r\n" + similar[p.lfmLang_ix] + simArtists.join(", "); else*/ simArtists = ""; s.doc.close();

To exclude top albums from the bio you can change line 4021 to :
Code: [Select]
/*if (topAlbums.length) topAlbums = "\r\n\r\n" + topAlb[p.lfmLang_ix] + topAlbums.join(", "); else*/ topAlbums = "";

@regor
Well I thought Pickard could do it based on your other post??? I can look into adding something for the next version. Probably it will be after on_playback_new_track() when it has the data. I think this.draw is called too frequently.

@FritzLn From the documentation:
Quote
The script always replaces leading dots in metadata with underscores in folders and file names. This is because foobar2000 doesn't automatically handle this case and won't load images* if any folder in the search pattern has a leading dot "."
* this means if you try & load saved images through fb2k preferences\display\album art patterns. Without the fix images for artists like .38 Special don't seem to load through this route & so won't be available to other album art viewers & playlists. Anyway you found what to change so it works for you.
No I would have to write a plugin for picard to make it work. Can be don (no ETA), but obviously using your plugin during playback is more convenient. Also having other tags, apart from locale, would open a world of possibilities -specially for similar artists- (while I would be restricted to just locale tags using Picard+plugin). And yep, my dirty edit was just to test it, better on new track. Thank you so much!

Re: Biography Discussion

Reply #620
@WilB Thank you so much with the script change for Similar Artists/Top Albums, I can confirm the sections are now gone after forcing the data to update :)

As for the 503 page, I will wait to see if it comes back up at some point in the future and if not I will just report it on Last.fm forums.

Thanks once again for the awesome support!

Re: Biography Discussion

Reply #621
WilB, Is it possible to make a search successful when both the artist's name and the song's name are in the title?
for example like in this internet radio:
Code: [Select]
http://broadcast.infomaniak.ch/energylove-high.mp3
Please consider this question for Bio and YTTM scripts.

Re: Biography Discussion

Reply #622
Hi, my composer tag is like "Franz Liszt [1811 - 1886]" Obviously no last.fm response when I select it within the "More Tags" menu. Is there a way to trick  the last.fm query sending only "Franz Liszt"?
Thank you

Re: Biography Discussion

Reply #623
Hi there!
@eamatag71,
from my side the following worked:
In the biography.ini file of the Bio script settings, which is called by the right mouse button from the context menu "Sources / Server Settings... / Configure...", change the line:
Code: [Select]
[NAMES]
%BIO_ARTIST%=$if3($meta(artist,0),$meta(album artist,0),$meta(composer,0),$meta(performer,0))
to the next view:
Code: [Select]
[NAMES]
%BIO_ARTIST%=$if($left(%artist%,11),$left(%artist%,11),$if3($meta(artist,0),$meta(album artist,0),$meta(composer,0),$meta(performer,0)))
Perhaps there is probably a more elegant way.

@WilB , сould you consider the possibility of increasing the sensitivity of recognition of song artists in the new version of the script (especially important for Internet radio streams).
Alternatively, the ability to manually edit the title in the script panel.

Re: Biography Discussion

Reply #624
Sorry...it doesn't work

 
SimplePortal 1.0.0 RC1 © 2008-2021