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

Re: Biography Discussion

Reply #1050
In addition to long file path, make sure there are no brackets in your folder names, if you're running portable. I know there was a fix for this posted on GitHub but I don't know if the fix was implemented in 1.4.2.

Re: Biography Discussion

Reply #1051
In addition to long file path, make sure there are no brackets in your folder names, if you're running portable. I know there was a fix for this posted on GitHub but I don't know if the fix was implemented in 1.4.2.
@Majestyk
My path folder look like:

Main location of foo
e:\Portable\DarkOne4Mod v1.0 (SMP)\foobar2000\
image
e:\Portable\DarkOne4Mod v1.0 (SMP)\foobar2000\yttm\art_img\

Re: Biography Discussion

Reply #1052
Try it without the brackets in SMP.

e:\Portable\DarkOne4Mod v1.0 SMP\foobar2000\


Re: Biography Discussion

Reply #1054
Try it without the brackets in SMP.

e:\Portable\DarkOne4Mod v1.0 SMP\foobar2000\
I remove brackets and nothig. Still without effect.
@ mygen
I can feel your frustration...

I don't know if this will help you but these are the "WilB JScript Biography 1.4.2" paths on my foobar 2000 2.1 (x86) DarkOne v.4 theme.
Not portable foobar 2000 (C:\Program Files (x86)\foobar2000) and all lyrics, texts, and images are saved to other hdd.
Works like a charm!

Best regards and Happy Holidays,
redorb

Code: [Select]
*hdd* = your drive.

*hdd*:\--=
*hdd*:\--=\Biography
*hdd*:\--=\Biography\yttm
*hdd*:\--=\Biography\yttm\art_img
*hdd*:\--=\Biography\yttm\bio_supplemental
*hdd*:\--=\Biography\yttm\bio_supplemental\rev_img
*hdd*:\--=\Biography\yttm\bio_supplemental\review
*hdd*:\--=\Biography\yttm\biography
*hdd*:\--=\Biography\yttm\biography\allmusic
*hdd*:\--=\Biography\yttm\biography\lastfm
*hdd*:\--=\Biography\yttm\rev_img
*hdd*:\--=\Biography\yttm\review
*hdd*:\--=\Biography\yttm\review\allmusic
*hdd*:\--=\Biography\yttm\review\lastfm
*hdd*:\--=\Biography\yttm\biography\wikipedia
*hdd*:\--=\Biography\yttm\review\wikipedia
What is the opposite of music?

Re: Biography Discussion

Reply #1055
Try it without the brackets in SMP.

e:\Portable\DarkOne4Mod v1.0 SMP\foobar2000\
I remove brackets and nothig. Still without effect.
@ mygen
I can feel your frustration...

I don't know if this will help you but these are the "WilB JScript Biography 1.4.2" paths on my foobar 2000 2.1 (x86) DarkOne v.4 theme.
Not portable foobar 2000 (C:\Program Files (x86)\foobar2000) and all lyrics, texts, and images are saved to other hdd.
Works like a charm!

Best regards and Happy Holidays,
redorb

Code: [Select]
*hdd* = your drive.

*hdd*:\--=
*hdd*:\--=\Biography
*hdd*:\--=\Biography\yttm
*hdd*:\--=\Biography\yttm\art_img
*hdd*:\--=\Biography\yttm\bio_supplemental
*hdd*:\--=\Biography\yttm\bio_supplemental\rev_img
*hdd*:\--=\Biography\yttm\bio_supplemental\review
*hdd*:\--=\Biography\yttm\biography
*hdd*:\--=\Biography\yttm\biography\allmusic
*hdd*:\--=\Biography\yttm\biography\lastfm
*hdd*:\--=\Biography\yttm\rev_img
*hdd*:\--=\Biography\yttm\review
*hdd*:\--=\Biography\yttm\review\allmusic
*hdd*:\--=\Biography\yttm\review\lastfm
*hdd*:\--=\Biography\yttm\biography\wikipedia
*hdd*:\--=\Biography\yttm\review\wikipedia
Can you put some screenshot to better uderstood for me?

Re: Biography Discussion

Reply #1056
@redorb i do this like you write and WORKING !!!  Thank You very much. Probably i don't uderstand how its work but work :)

And one question - bio supplemental if for what?

*hdd*:\--=\Biography\yttm\bio_supplemental
*hdd*:\--=\Biography\yttm\bio_supplemental\rev_img
*hdd*:\--=\Biography\yttm\bio_supplemental\review

Happy New Year 2024

Re: Biography Discussion

Reply #1057
I know this doesn't help but I just tried the latest kutuzof Darkone with Biography 1.4.1 and it works fine for me.

I didn't need to change paths/settings or anything, it just worked on startup.


Re: Biography Discussion

Reply #1059
I had that same problem on the first day I installed it, then it mysteriously went away and I haven't had a crash since.


Re: Biography Discussion

Reply #1061
@redorb i do this like you write and WORKING !!!  Thank You very much. Probably i don't uderstand how its work but work :)

And one question - bio supplemental if for what?

*hdd*:\--=\Biography\yttm\bio_supplemental
*hdd*:\--=\Biography\yttm\bio_supplemental\rev_img
*hdd*:\--=\Biography\yttm\bio_supplemental\review

Happy New Year 2024
I'm glad it worked out for you!

That's a very good question and I really don't know how and why the paths and folders therein were created.
In rev_img folder 2 subfolders named m and v, in m folder an artist image of Moondog.jpg and in folder v an artist image of Vieux Farka Toure - Vieux Farka Touré.jpg
In review folder 2 subfolders named allmusic and lastfm, in both these folders 2 subfolders, v and m, text files with Album Ratings and Top Tags of Moondog and Vieux Farka Toure.
And I have no idea how they got there... a bit of a mystery and I like mysteries so I just left them there. :)

Happy New Year 2024
What is the opposite of music?

Re: Biography Discussion

Reply #1062
I had that same problem on the first day I installed it, then it mysteriously went away and I haven't had a crash since.

The “init” in line 446 of the server.js file causes the program to exit and crash. It will not crash after changing to “search”.

Re: Biography Discussion

Reply #1063
I had that same problem on the first day I installed it, then it mysteriously went away and I haven't had a crash since.

The “init” in line 446 of the server.js file causes the program to exit and crash. It will not crash after changing to “search”.

Allmusic doesn't work if you do that. It will show if you already have it downloaded before making the change, but it will not download after making the change.

Re: Biography Discussion

Reply #1064
I had that same problem on the first day I installed it, then it mysteriously went away and I haven't had a crash since.

The “init” in line 446 of the server.js file causes the program to exit and crash. It will not crash after changing to “search”.

Allmusic doesn't work if you do that. It will show if you already have it downloaded before making the change, but it will not download after making the change.
This is a temporary solution to deal with the crash and will have to wait for WilB to follow up on it

Re: Biography Discussion

Reply #1065
I doubt this will work but you could try adding a setTimeout like below. I haven't had the crash in a few days so it's hard for me to trouble shoot.

Code: [Select]
		if (this.album) {
if (!onlyForceLfm) {
const art_upd = cfg.dlAmBio && (force || this.expired(am_bio.pth, this.exp, 'Bio ' + cfg.partialMatch + ' ' + am_rev.pth, false) && !$.open(am_bio.pth).includes('Custom Biography'));
let rev_upd = false;
if (cfg.dlAmRev) {
rev_upd = force;
if (!rev_upd) {
rev_upd = !$.file(am_rev.pth) && !this.done('Rev ' + cfg.partialMatch + ' ' + am_rev.pth, this.exp);
}
}
let dn_type = '';
if (rev_upd || art_upd) {
if (rev_upd && art_upd) dn_type = 'review+biography';
else if (rev_upd) dn_type = 'review';
else if (art_upd) dn_type = 'biography';
setTimeout(() => {
        const dl_am_rev = new DldAllmusicRev;
    dl_am_rev.init(server.url.am + 'albums/' + encodeURIComponent(this.album + (!va ? ' ' + this.albumArtist : '')), 'https://allmusic.com', this.album, this.albumArtist, artiste, va, dn_type, am_rev.fo, am_rev.pth, am_bio.fo, am_bio.pth, art, force);
    }, 1200);
}
}
} else this.getBio(force, art, 1);




Re: Biography Discussion

Reply #1066
I doubt this will work but you could try adding a setTimeout like below. I haven't had the crash in a few days so it's hard for me to trouble shoot.

Code: [Select]
		if (this.album) {
if (!onlyForceLfm) {
const art_upd = cfg.dlAmBio && (force || this.expired(am_bio.pth, this.exp, 'Bio ' + cfg.partialMatch + ' ' + am_rev.pth, false) && !$.open(am_bio.pth).includes('Custom Biography'));
let rev_upd = false;
if (cfg.dlAmRev) {
rev_upd = force;
if (!rev_upd) {
rev_upd = !$.file(am_rev.pth) && !this.done('Rev ' + cfg.partialMatch + ' ' + am_rev.pth, this.exp);
}
}
let dn_type = '';
if (rev_upd || art_upd) {
if (rev_upd && art_upd) dn_type = 'review+biography';
else if (rev_upd) dn_type = 'review';
else if (art_upd) dn_type = 'biography';
setTimeout(() => {
        const dl_am_rev = new DldAllmusicRev;
    dl_am_rev.init(server.url.am + 'albums/' + encodeURIComponent(this.album + (!va ? ' ' + this.albumArtist : '')), 'https://allmusic.com', this.album, this.albumArtist, artiste, va, dn_type, am_rev.fo, am_rev.pth, am_bio.fo, am_bio.pth, art, force);
    }, 1200);
}
}
} else this.getBio(force, art, 1);
fb2k still has a chance to crash when exiting

Re: Biography Discussion

Reply #1067
I doubt this will work but you could try adding a setTimeout like below. I haven't had the crash in a few days so it's hard for me to trouble shoot.

Code: [Select]
		if (this.album) {
if (!onlyForceLfm) {
const art_upd = cfg.dlAmBio && (force || this.expired(am_bio.pth, this.exp, 'Bio ' + cfg.partialMatch + ' ' + am_rev.pth, false) && !$.open(am_bio.pth).includes('Custom Biography'));
let rev_upd = false;
if (cfg.dlAmRev) {
rev_upd = force;
if (!rev_upd) {
rev_upd = !$.file(am_rev.pth) && !this.done('Rev ' + cfg.partialMatch + ' ' + am_rev.pth, this.exp);
}
}
let dn_type = '';
if (rev_upd || art_upd) {
if (rev_upd && art_upd) dn_type = 'review+biography';
else if (rev_upd) dn_type = 'review';
else if (art_upd) dn_type = 'biography';
setTimeout(() => {
        const dl_am_rev = new DldAllmusicRev;
    dl_am_rev.init(server.url.am + 'albums/' + encodeURIComponent(this.album + (!va ? ' ' + this.albumArtist : '')), 'https://allmusic.com', this.album, this.albumArtist, artiste, va, dn_type, am_rev.fo, am_rev.pth, am_bio.fo, am_bio.pth, art, force);
    }, 1200);
}
}
} else this.getBio(force, art, 1);

No way.

On output, especially after a radio stream, it crashes.

It cannot be used.

I remove SMP and return to Bio Panel JS3.

Re: Biography Discussion

Reply #1068
I'll try again.

Windows 11 version 23H2 (OS Build 22631.3007)
Foobar2000 V2.0 [x86]
Spider Monkey Panel 1.6.1
Biography v1.4.2

The panel is downloading and displaying data from allmusic, but when attempting to tag files (select all album tracks in playlist>shift+rt. click on Bio panel>tagger->tag files...) panel crashes with 2 popups pictured below.

Can anyone see what is causing this crash? What is the Script Error box referring to? Any help is appreciated.


Re: Biography Discussion

Reply #1070
Can anyone see what is causing this crash? What is the Script Error box referring to? Any help is appreciated.

UPDATE

I suppose I should have mentioned that on my Tagger settings page I had all Last.fm tags unchecked (and have for years). After much experimenting I've found that checking 'Artist Genre Last.fm' has the panel working properly without crashing. Ideally this wouldn't be necessary as I don't need last.fm tags, but I'll take it.

Re: Biography Discussion

Reply #1071
Latest versions have bugged notification of selection mode.
In any mode, keeps sending notifications with both values, totally breaking other panels relying on it.

Quote
[13:29:58] Prefer nowplaying
[13:29:59] Prefer nowplaying
[13:29:59] Opening track for playback: ...
[13:29:59] Using decoder shim instead of DSP: Skip Track
[13:30:01] HDD wakeup - touching file: H:\{A53AE67A-5343-4E7C-9C19-63BC430EA8C7}
[13:30:01] HDD wakeup - touched file: H:\{A53AE67A-5343-4E7C-9C19-63BC430EA8C7}
[13:30:01] Biography Server: last.fm album review: Angie - Silver train / The Rolling Stones: not found Status error: 404
[13:30:02] Prefer nowplaying
[13:30:02] Follow selected track (playlist)
[13:30:02] Prefer nowplaying
[13:30:02] Follow selected track (playlist)
[13:30:03] Biography Server: wikipedia: Angie - Silver train: not found
[13:30:04] Opening track for playback: ...
[13:30:05] Using decoder shim instead of DSP: Skip Track
[13:30:09] Prefer nowplaying
[13:30:16] Prefer nowplaying
[13:30:19] Prefer nowplaying
[13:30:21] Prefer nowplaying

I suppose it was introduced here:
https://github.com/Wil-B/Biography/commit/b8086ec822095570ff5095410b558df9ac75bc32


Re: Biography Discussion

Reply #1072
There sure are a lot of images missing at Last.fm. With Biography, many of my artist are now either pulling in just three or less images (when they were pulling in 10 before) or are no longer pulling in images at all.

I wonder what's up?

 

Re: Biography Discussion

Reply #1073
Here's a few lines of code that tests connectivity/images found with JScript Panel 3. I'm not suggesting anyone has to use it - it's just a debugging tool.

Install panel from here...

https://jscript-panel.github.io/docs/

....and add code. Then watch the fb2k console each time you play a new track.

Code: [Select]
// ==PREPROCESSOR==
// @import "%fb2k_component_path%helpers.txt"
// @import "%fb2k_component_path%samples\js\lodash.min.js"
// @import "%fb2k_component_path%samples\js\common.js"
// ==/PREPROCESSOR==

var artists = {};
var tfo = fb.TitleFormat('$meta(artist,0)');

var type = {
GET : 0,
POST : 1,
};

var headers = JSON.stringify({
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0',
'Referer' : 'https://www.last.fm',
});

function on_playback_new_track() {
var artist = tfo.Eval();
if (artist.length) {
var url = 'https://www.last.fm/music/' + encodeURIComponent(artist) + '/+images';
var task_id = utils.HTTPRequestAsync(window.ID, type.GET, url, headers);
artists[task_id] = artist;
}
}

function on_http_request_done(task_id, success, response_text, status, response_headers) {
var artist = artists[task_id];
if (!artist) return;

if (!success) {
console.log('Web request for', artist, 'failed:', response_text);
return;
}

console.log('Web request for', artist, 'completed.');

if (status != 200) {
console.log('Status:', status);
return;
}

var urls = _(_getElementsByTagName(response_text, 'li'))
.filter({ className : 'image-list-item-wrapper' })
.value();

console.log('Image urls found:', urls.length);
}