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

Re: Biography Discussion

Reply #700
@mjm716
Thanks for the feedback.

1) I have fixed an issue for the next version with importing old ini settings during updating sometimes not working. It should also allow a one-time import of old ini settings by using: reset all server settings [options > Server Settings (All Panels)], where v1.2.0-Beta.1 was used for the initial update, if required.
2) Bios use the %BIO_ARTIST% definition (not %BIO_ALBUMARTIST%). Artist field isn't normally used for Various Artists. However, if they're various artists in the artist field, the standard playlist search can filter them out, e.g. NOT artist IS Various Artists.
3) I'll think about it.
4) Extra menu items. I've fixed an issue with 'Paste' not showing; others items seemed to be fine.

@kode54
I never instructed anyone to run the player with administrator access, that was @Air KEN  (I'm sure with the best of intention), and it isn't necessary.

Biography is installed in the profile location.

However, there is a bug with the spider monkey panel package installer with standard foobar2000 installations, which is outside my control. The bug causes spider monkey panel to try and create a tmp folder in the player location which can then cause the biography package (or any package) install to fail. The correct and easy way of overcoming this issue is in the spoiler link I posted above: it DOESN'T require running the player with administrator access. Instead, it just uses a simple manual install of the package to the profile location with standard foobar2000 installations. Once installed like that it works fine.

Re: Biography Discussion

Reply #701
Sounds like the plugin itself has a bug with that process, then. Maybe that can be fixed upstream.

 

Re: Biography Discussion

Reply #702
New version: Biography v1.2.0-Beta.2

Changelog

Fixed
- Various draw issues
- Old ini file settings sometimes not being imported
- Some issues with options

Re: Biography Discussion

Reply #703
@WilB I'm using the latest version which is great, thanks.

Can I change the album art file name to folder.jpg? Currently it uses folder.png.

Re: Biography Discussion

Reply #704
@WilB After updating to 2 beta, my player crash, I restored the portable build 2 times and still

Crash location:
Module: foo_spider_monkey_panel
Offset: 466A3h

Spoiler (click to show/hide)

Re: Biography Discussion

Reply #705
While working on the interaction with the world map script noticed the updated config part seems to be broken.
As far as I have seen (since I can not open the settings window without IE...) I have to set this config to true to get the tags.
Code: [Select]
		['Notify Tags: Current Track', false, 'boolean', h, 'notifyTags'],

With this
Code: [Select]
window.NotifyOthers('bio_newCfg', {notifyTags: true});


But...
callbacks.js
Code: [Select]
		case 'bio_newCfg':
cfg.updateCfg($.jsonParse(info, {})); //?? JSON.parse(JSON.stringify(info))
break;

settings.js
Code: [Select]
	updateCfg(new_cfg) {
for (const key of Object.keys(this.cfg)) { // Why are you iterating over this instead of the new config?
cfg[key] = this.cfg[key] = new_cfg[key + '_internal'].value; // undefined crash
}
this.parse();
}

There is another thing "missing" which I added in the previous release overwriting your 'on_notify_data' callback, a way to retrieve the current properties of the panel and to set them (to get the selection mode and synchronize it).

Code: [Select]
function on_notify_data(name, info) {
if (name === 'World Map' + ' notifySelectionProperty') {
ppt.focus = info; p.changed(); t.on_playback_new_track(); img.on_playback_new_track();
}

Code: [Select]
	t.draw = function() {
tag.notifyCountry(s.handle(ppt.focus)); // tags
window.NotifyOthers(window.Name + ' notifySelectionProperty', {property: 'focus', val: ppt.focus}); // selection property
return old_t_draw.apply(old_t_draw, arguments);
}

I simply did it for the selection ppt, but obviously it could be done in general. Following your new file structure:

callbacks.js
Code: [Select]
	switch (name) {
case 'bio_setPpt':
clone = JSON.parse(JSON.stringify(info));
for (const key of Object.keys(clone)) {
if (ppt.hasOwnProperty(key) && ppt[key] !== clone [key]) {
ppt[key] = clone [key];
... // I did it for the ppt.focus only since changing some ppts required additional checks on prev. releases
}
}
break;

And somewhere, when sharing tags too:

text.js
Code: [Select]
		this.currentTrackTags = $.debounce(() => {
const handle = $.handle(ppt.focus);
if (handle) tag.write(new FbMetadbHandleList([handle]), true);
}, 2000, {
'leading': true,
'trailing': true
});
window.NotifyOthers('bio_ppt', ppt); // This

Do you plan to add something like that (or just sharing/setting the focus mode)? Or should I simply inject my mod file as I did with the previous release?

EDIT: just seen tagger.js contains selectionMode (along the tags and handle) on window.NotifyOthers('biographyTags'), which covers the get ppt part but there is no way to set the selectionMode which would be missing piece to synchronize it with other panels.

Re: Biography Discussion

Reply #706
That's the missing piece to synchronize the focus mode in 1.2.X. (without caring about other ppts)
Code: [Select]
function on_notify_data(name, info) {
switch (name) {
case 'bio_focusPpt':
if (ppt.focus !== info) { // info -> true/false
  // Mimics setsDisplay()
ppt.toggle('focus');
panel.changed();
txt.on_playback_new_track();
img.on_playback_new_track();
}
break;
}

Re: Biography Discussion

Reply #707
@regor

I'll add that in reply #654 (^) for the next version.
Yes, the user has to enable notify tags by ticking the checkbox in options > server settings... > tagger.

@Black_Over_Bills_Mothers

I don't really understand where you mean?
Any last.fm covers saved automatically use the last.fm image extension. Photos use jpg, as the source list doesn't have the image type.
You can always use a wild card in file\preferences\display\album art... patterns, e.g. folder.*

@Mrakobes

The crash is in Spider Monkey Panel itself, and not an obvious biography issue. Last event seems to be GetSystemMetricsForDpi. Code for reading dpi hasn't changed for ages (it's same as in v1.1.3). Does Beta.1 still work on the same foobar2000 install? - it's possible some other change has exposed an instability within Spider Monkey Panel. I also note you're using some other components that can be problematical. Do you see the issue on a clean foobar2000 install with just Spider Monkey Panel & standard components.

You could try posting the full crash dump in the Spider Monkey thread to see if @TheQwertiest can see anything.

Re: Biography Discussion

Reply #708
^
Hi there.
A few days ago, the same crash started to occur when starting the player.
Here's a fragment:
Spoiler (click to show/hide)
Only reinstalling the foo_spider_monkey_panel and reinstalling all of its panels solved the problem.

Re: Biography Discussion

Reply #709
@regor

I'll add that in reply #654 (^) for the next version.
Yes, the user has to enable notify tags by ticking the checkbox in options > server settings... > tagger.
Thanks! Just released the world map with the same change too via a mod, so once you release the new version it will work out of the box without mods.
 
Code: [Select]
Yes, the user has to enable notify tags by ticking the checkbox in options > server settings... > tagger.
There is a problem with that though. Non IE users can not open the new config menu (like me). Just fyi. I have simply added some lines of code to automatically edit your biography.cfg file and set notifyTags to true when enabling integration.

Now time to code some additional panels which may use all those shared tags

Re: Biography Discussion

Reply #710
@Mrakobes
RE: Spider Monkey panel crash. @Sergey77  actually did more debugging than he let on and sent me a pm. Essentially the crash continued after removing the bio Beta.2 folder, and so appears unrelated to biography. After resetting the layout all has been OK for him so far with biography installed. He did send the crash dump to @TheQwertiest , so may be the real cause can be elucidated.

@regor  Well for occasional users who don't have internet explorer, biography.cfg can be opened with a text editor &  "notifyTags" set to true which isn't a lot different to when ini file was used, But I guess your way is simpler for the user, and so that's OK.

Internet explorer is a requirement for web look-ups as well the html dialog: I'm actually surprised the web look-ups are all working in the absence of internet explorer given the previous wine discussion in biography uploads and elsewhere.

@paregistrase beta.2 does have the BOM set to true for biography.cfg as we discussed, to see if it helps with your exotic character issue in wine. I forgot to mention it.

It will only get written when biography.cfg is resaved (e.g. toggle one of the write tags - presence can be confirmed in notepad++ or other text editor). Character garbling can be due to wrong codepage, and perhaps there is a wine issue here. So if issue persists it's possible to force a codepage (rather than rely on auto-detection). You only need to alter one instance: helpers line 204 change: utils.ReadTextFile(f) to utils.ReadTextFile(f, 65001). 65001 is utf-8. biography.cfg is written with UTF8 encoding, so that may be the one, but component has a list in docs.

Re: Biography Discussion

Reply #711
@regor  Well for occasional users who don't have internet explorer, biography.cfg can be opened with a text editor &  "notifyTags" set to true which isn't a lot different to when ini file was used, But I guess your way is simpler for the user, and so that's OK.

Internet explorer is a requirement for web look-ups as well the html dialog: I'm actually surprised the web look-ups are all working in the absence of internet explorer given the previous wine discussion in biography uploads and elsewhere.
Did he managed to download images and allmusic data without ie?

@paregistrase beta.2 does have the BOM set to true for biography.cfg as we discussed, to see if it helps with your exotic character issue in wine. I forgot to mention it.

It will only get written when biography.cfg is resaved (e.g. toggle one of the write tags - presence can be confirmed in notepad++ or other text editor). Character garbling can be due to wrong codepage, and perhaps there is a wine issue here. So if issue persists it's possible to force a codepage (rather than rely on auto-detection). You only need to alter one instance: helpers line 204 change: utils.ReadTextFile(f) to utils.ReadTextFile(f, 65001). 65001 is utf-8. biography.cfg is written with UTF8 encoding, so that may be the one, but component has a list in docs.

With this update is working well. No more strange characters.  8)


Re: Biography Discussion

Reply #712
@regor  Well for occasional users who don't have internet explorer, biography.cfg can be opened with a text editor &  "notifyTags" set to true which isn't a lot different to when ini file was used, But I guess your way is simpler for the user, and so that's OK.

Internet explorer is a requirement for web look-ups as well the html dialog: I'm actually surprised the web look-ups are all working in the absence of internet explorer given the previous wine discussion in biography uploads and elsewhere.
I use windows, but no IE. Sure wine adds other variables to the equation.
The entire panel works fine but the config menu. See this gif:
X

Find & Play is the same. Web look-ups work fine. The config menu is broken.
X

Re: Biography Discussion

Reply #713
Spider Monkey Panel: To do; next releases

ShowHtmlDialog v2:

 support for multiple engines.
 Chromium Edge support: https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32
 support for custom ico.
 modeless.
Added by TheQwertiest

Hopefully that will help users who use windows and choose not to install internet explorer or those who use WINE. In the meantime there isn't much difference between the previous method of editing biography.ini vs editing biography.cfg in a text editor if you can't open it by the provided means. Regarding Find & Play. With its predecessor, settings not on menu were all in panel properties. Now such settings are available through an HTML dialog as well as being in panel properties.

Re: Biography Discussion

Reply #714
Spider Monkey Panel: To do; next releases

ShowHtmlDialog v2:

 support for multiple engines.
 Chromium Edge support: https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32
 support for custom ico.
 modeless.
Added by TheQwertiest

Hopefully that will help for users of WINE. In the meantime there isn't much difference between the previous method of editing biography.ini vs editing biography.cfg in a text editor if you can't open it by the provided means. Regarding Find & Play. With its predecessor, settings not on menu were all in panel properties. Now such settings are available through an HTML dialog as well as being in panel properties.

Great news.

Will this help with the image download too?




Re: Biography Discussion

Reply #715
RE: image downloading

I tested this with a new Bio panel (beta 2) and by removing a previous artist folder which had 6 images downloaded by older Bio panel.

I have intial download set to 20/ auto add checked/ limit per artist: 0

It creates a new artist folder but only downloads 1 image. (?)

I've also tried deleting update.txt and force server update for other artists, but it does not seem to download additional images either.

No console messages appear.


Re: Biography Discussion

Reply #716
It all seems to be working here.

a) May be it was a temporary issue at the last.fm end.
b) Ensure you haven't disabled auto-download for last.fm photos (download tab), the save folder setting is OK & drive isn't full.
c) Ensure you haven't blacklisted the images, as that blocks downloading of the specific blacklisted images.

If the issue persists:

1) Can you view images in internet explorer at last.fm at the URL below?
https://www.last.fm/music/Madonna/+images
Artist can be changed to the problematical one.

2) Try force update on the artist that yields one image

3) Note that force update won't increase the number of images if there aren't any new popular ones in top 5.

4) Try at default settings by using 'Reset all server settings' (original should be backed up) as this will exclude lot of possibilities

5) If the problematical artist still yields one image, give me the name, and I'll take a look.

Re: Biography Discussion

Reply #717
It all seems to be working here.

I'm not sure myself - I did have multiple instances of the Bio panel; after updating them all, it seems to work now

Thanks WilB!

Re: Biography Discussion

Reply #718
deleted.

Re: Biography Discussion

Reply #719
Hopefully that will help users who use windows and choose not to install internet explorer or those who use WINE.
I'm not sure if it'll help WINE-using folks, since it's still Internet Explorer, just a new one and Chromium-based (and I'm sure it's not a pure Chromium clone).

Re: Biography Discussion

Reply #720
Hopefully that will help users who use windows and choose not to install internet explorer or those who use WINE.
I'm not sure if it'll help WINE-using folks, since it's still Internet Explorer, just a new one and Chromium-based (and I'm sure it's not a pure Chromium clone).

Too soon to have a build to test it?

And I saw that you merged the marc2k3's pull requets about playcount stats.

Thanks both of you.


Re: Biography Discussion

Reply #721
Edge Chromium is available as a native Linux app. A windows application running in WINE cannot interface with that in anyway. Someone would have to be insane enough to try and get the windows version running in WINE. That's very unlikely....

Re: Biography Discussion

Reply #722
Edge Chromium is available as a native Linux app. A windows application running in WINE cannot interface with that in anyway. Someone would have to be insane enough to try and get the windows version running in WINE. That's very unlikely....

Maybe I don't understand correctly but we are talking about WebView2 right?

So, what's the connection with a edge browser instaled in the system?

Some kind of WebView2 is already in wine to make work some game instalers and of course you don't need edge chromium instaled, only a implementation in wine to translate this calls to linux calls.

Maybe i miss something

Re: Biography Discussion

Reply #723
It seems you only need the WebView2 runtimes then?? My mistake. I assume this installs fine for you in WINE?

https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section

It's nearly 100MB which is a hefty requirement for fancy dialog boxes. Note @TheQwertiest hasn't even started work on it yet (edit: judging by github activity - no idea what he's doing offline :P)

Re: Biography Discussion

Reply #724
It seems you only need the WebView2 runtimes then?? My mistake. I assume this installs fine for you in WINE?

https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section

It's nearly 100MB which is a hefty requirement for fancy dialog boxes. Note @TheQwertiest hasn't even started work on it yet (edit: judging by github activity - no idea what he's doing offline :P)

Of course not.

And not avaible to install direct 12 and i can paly direct12 games.

Because wine work is to translate windows api calls to linux world.

That whay I show you that there are already implementations of WebView2 in wine to make online game instaler to work and you don't need to install WebView2 windows runtime to make it work.

Nobody espect that you can install some windows component in wine and it will work at that.

The new implementation will work of not, but it will depends of wine implementation not the instalation of a windows component.

This is what i'm surprised for your response. Nothing in wine works in that way and never will be.

Wine is not an emulator ;)