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: Last-List-SMP (Read 3778 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Last-List-SMP


This is a Spider Monkey Panel for foobar2000 that allows you create a playlist from a Last.fm url.
Any tracks not found in your library will be added to the playlist as a youtube link.

Some examples of pages to use the script on:
  • Your Lovef tracks
  • Your friend's Loved tracks
  • Genre Pages
  • Artist top tracks

Required:

Roadmap:
  • Simpler total pages
  • More user configurations
  • Better UI
  • Handling keywords instead of url, like a genre tag etc
  • Handling skipped tracks that the user owns

Links:
  • Github please if you like it, star it on github.


Re: Last-List-SMP

Reply #1
Great :)

Some questions/suggestions:
- This looks pretty similar to the listenbrainz thing I did, but for last.fm. Does last.fm use Musicbrainz IDs at all? You could match with those too. (not sure if it's relevant to identify different versions of songs)

- You can create a XSPF playlist with the results. That way results are not hardcoded, work on any library and it will always try to match againt library / youtube if possible. (I did something similar for importing Listenbrainz playlists).

- Youtube links are scrapped from last fm or created with a query artist+track? (I would want to implement the second on the listenbrainz version)

- I saw you created it as a button, I could rewrite it to be compatible with my buttons toolbar. It's done in 5 min really, so people can simply add your button to the toolbar instead of creating a whole new panel for the button. (you can easily have both versions at github, since it's just adding a new button file which points to the original one, and people can choose which one to use).

-You can add some kind of query filtering. Like... first try to match non live tracks, if there are no results, then allow live tracks. This is usually preferred in most cases. (it could be user configurable too)

- Matching with regexp.

- Duplications removal (but just saw its on your comments). You can just reuse my code, which does it by TF values.

Re: Last-List-SMP

Reply #2
Great :)

Some questions/suggestions:
- This looks pretty similar to the listenbrainz thing I did, but for last.fm. Does last.fm use Musicbrainz IDs at all? You could match with those too. (not sure if it's relevant to identify different versions of songs)

- You can create a XSPF playlist with the results. That way results are not hardcoded, work on any library and it will always try to match againt library / youtube if possible. (I did something similar for importing Listenbrainz playlists).

- Youtube links are scrapped from last fm or created with a query artist+track? (I would want to implement the second on the listenbrainz version)

- I saw you created it as a button, I could rewrite it to be compatible with my buttons toolbar. It's done in 5 min really, so people can simply add your button to the toolbar instead of creating a whole new panel for the button.

-You can add some kind of query filtering. Like... first try to match non live tracks, if there are no results, then allow live tracks. This is usually preferred in most cases. (it could be user configurable too)

- Matching with regexp.

- Duplications removal (but just saw its on your comments). You can just reuse my code, which does it by TF values.

PM'd you



Re: Last-List-SMP

Reply #5
Updated: (v1.0)
https://github.com/L3v3L/foo-last-list-smp/releases

If you have been holding off updating, this one is the one to get, full of new features.

Some highlights:
  • foo_youtube is now optional but recommended. Without it, only your local tracks are shown.
  • Last List now has multiple options making searching for that specific playlist easier.
  • You can now set your Last.fm username, allowing to get your top tracks easier.
  • Results are now cached, so no waiting for repeated searches.

Credits to regor for all the help and the helper scripts.

Re: Last-List-SMP

Reply #6
I got this
Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({BCCA5F42-2417-40A3-96AF-3086324B6C7E}: foo-last-list-smp v1.0 by Ivo Barros)
g_theme is null

File: button.js
Line: 63, Column: 17
Stack trace:
  SimpleButton/this.draw@button.js:63:17
  drawAllButtons@button.js:98:20
  on_paint@button.js:118:5

Re: Last-List-SMP

Reply #7
@paregistrase

are you able to load the sample script that comes with spider monkey panel called:

Code: [Select]
basic\SimpleThemedButton.js

Re: Last-List-SMP

Reply #8
@paregistrase

are you able to load the sample script that comes with spider monkey panel called:

Code: [Select]
basic\SimpleThemedButton.js
No
Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({BCCA5F42-2417-40A3-96AF-3086324B6C7E}: SimpleThemedButton by T.P Wang)
g_theme is null

File: SimpleThemedButton.js
Line: 52, Column: 17
Stack trace:
  SimpleButton/this.draw@SimpleThemedButton.js:52:17
  drawAllButtons@SimpleThemedButton.js:78:20
  on_paint@SimpleThemedButton.js:94:5

I forgot to said to you that I'm running it with wine-linux.
I remember that I got problems with the buttons in regor's script before and he makes some changes when it load in wine. Don't know if could be same problem.

Re: Last-List-SMP

Reply #9
@paregistrase

Please change  foo_spider_monkey_panel v1.6.1
https://github.com/TheQwertiest/foo_spider_monkey_panel/releases

------
Previous garbled problem. Can you help?
segoe-ui-linux
https://github.com/mrbvrz/segoe-ui-linux
https://github.com/mrbvrz/segoe-ui-linux#how-to-install-it
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD 490 PRO, DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH-ULT900N (ULT WEAR) (made a Upgrade/Balanced Cable by myself)

Re: Last-List-SMP

Reply #10
Regarding themes, the window.CreateThemeManager in SMP utilises a windows API called OpenThemeData and I'm almost certain I've seen this working on WINE before?? It might be a search term to use if anyone wants to check WINE changelogs/bugs.

edit: seems like the SMP docs are incomplete....

https://theqwertiest.github.io/foo_spider_monkey_panel/assets/generated_files/docs/html/window.html#.CreateThemeManager

It should be documented that the method returns null if it fails. This generally doesn't happen on windows so long as you pass a valid class name and are not using windows 7 classic where theming is completely disabled.

another edit: the theming code is probably unchanged since ye olde WSH panel mod days which supported windows XP. Not really sure why it wouldn't work in WINE??

Re: Last-List-SMP

Reply #11
@paregistrase

Please change  foo_spider_monkey_panel v1.6.1
https://github.com/TheQwertiest/foo_spider_monkey_panel/releases

------
Previous garbled problem. Can you help?
segoe-ui-linux
https://github.com/mrbvrz/segoe-ui-linux
https://github.com/mrbvrz/segoe-ui-linux#how-to-install-it

Do you have it working with that version?

Edit; I test with v1.6.1, Also fail.

Right now, I'm using
Spider Monkey Panel v1.6.2-dev+7c0928bf by TheQwertiest
Based on JScript Panel by marc2003
Based on WSH Panel Mod by T.P. Wang
Build: 15:49:00, Feb 24 2022

I just want to be sure before  because I lost the archive and right now there is no dev build available to download.

About Segoe UI:

I never used this script.
I just downloaded the font from here, Iput it in /home/<user>/.local/share/fonts and rebuild font cache with "fc-cache -f -v"
After that the font can be selected in wine and foobar.
Also you can take a look here to make Segoe UI fall back to others fonts to display others languages correctly.




Re: Last-List-SMP

Reply #12
v1.6.2: Cannot be used in other scripts.

Wine 7.1/8.0/8.2
Xubuntu, Linux Mint 21.1

> I just want to be sure before  because I lost the archive and right now there is no dev build available to download.
Yes, I know
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD 490 PRO, DT 1990 PRO, HiFiMAN Edition XS, Bowers & Wilkins P7, FiiO FT5, 水月雨 (MOONDROP) 空鳴 - VOID, Nakamichi Elite FIVE ANC, SONY WH-ULT900N (ULT WEAR) (made a Upgrade/Balanced Cable by myself)

Re: Last-List-SMP

Reply #13
v1.6.2: Cannot be used in other scripts.

Wine 7.1/8.0/8.2
Xubuntu, Linux Mint 21.1

> I just want to be sure before  because I lost the archive and right now there is no dev build available to download.
Yes, I know

It also crashes with 1.6,1

Re: Last-List-SMP

Reply #14
Regarding themes, the window.CreateThemeManager in SMP utilises a windows API called OpenThemeData and I'm almost certain I've seen this working on WINE before?? It might be a search term to use if anyone wants to check WINE changelogs/bugs.

edit: seems like the SMP docs are incomplete....

https://theqwertiest.github.io/foo_spider_monkey_panel/assets/generated_files/docs/html/window.html#.CreateThemeManager

It should be documented that the method returns null if it fails. This generally doesn't happen on windows so long as you pass a valid class name and are not using windows 7 classic where theming is completely disabled.

another edit: the theming code is probably unchanged since ye olde WSH panel mod days which supported windows XP. Not really sure why it wouldn't work in WINE??

No idea. Others samples load. But SimpleThemedButton.js and this script fail.

Re: Last-List-SMP

Reply #15
This is a known problem on Wine, already reported it long time ago. Buttons on Unix must be drawn manually, not using theme manager.
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/172

Anyone can re-use my buttons helper which does manage Wine fine and replicates the Win theme manage behavior (and improves it with animations, multiple drawing styles, etc.). And yes, it should have been added to the FAQ or docs.

For people using Playlist Tools or any of my other button-scripts,  L3v3L and I have been working together to make it compatible with my toolbar. Will release an update today, and people can just load last-list-smp as a button within my buttons toolbar (compatible on wine). Only requisite is to have the package imported on SMP (not loaded on a panel).

I only reuse their web-scraping file, so some features may differ.
Spoiler (click to show/hide)

EDIT: already uploaded the update.

Re: Last-List-SMP

Reply #16
This is a known problem on Wine, already reported it long time ago. Buttons on Unix must be drawn manually, not using theme manager.
https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/172
Anyone can re-use my buttons helper which does manage Wine fine and replicates the Win theme manage behavior (and improves it with animations, multiple drawing styles, etc.). And yes, it should have been added to the FAQ or docs.
For people using Playlist Tools or any of my other button-scripts,  L3v3L and I have been working together to make it compatible with my toolbar. Will release an update today, and people can just load last-list-smp as a button within my buttons toolbar (compatible on wine). Only requisite is to have the package imported on SMP (not loaded on a panel).
I only reuse their web-scraping file, so some features may differ.
Spoiler (click to show/hide)
EDIT: already uploaded the update.

Great.
I started to use "ListenBrainz" (importing last.fm and such) and was thinking how convenient will be to have a last.fm button in the same toolbar that do what the Last-list-smp do....
And voilà

Thanks




Re: Last-List-SMP

Reply #19
Updated: (v1.1)
https://github.com/L3v3L/foo-last-list-smp/releases 
please if you like it, star it on github.

Some highlights:
  • Listen to similar artists
  • Listen to user's neighbours
  • Listen to album
  • More custom search options
  • Only Show buttons with found meta values

Re: Last-List-SMP

Reply #20
Still crash as independent panel

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({F752751E-F30F-4371-A23B-87461CC73B72}: foo-last-list-smp v1.1 by Ivo Barros)
g_theme is null

File: button.js
Line: 63, Column: 17
Stack trace:
  SimpleButton/this.draw@button.js:63:17
  drawAllButtons@button.js:98:20
  on_paint@button.js:118:5

Re: Last-List-SMP

Reply #21
Still crash as independent panel

Code: [Select]
Error: Spider Monkey Panel v1.6.2-dev+7c0928bf ({F752751E-F30F-4371-A23B-87461CC73B72}: foo-last-list-smp v1.1 by Ivo Barros)
g_theme is null

File: button.js
Line: 63, Column: 17
Stack trace:
  SimpleButton/this.draw@button.js:63:17
  drawAllButtons@button.js:98:20
  on_paint@button.js:118:5
(?) Nothing has changed, obviously it will crash forever while using window.CreateThemeManager('Button') activeX on wine, like the button sample on SMP. The fix is on Wine developer's side or SMP providing an alternative.

Just saying, don't expect it to be fixed on new releases XD Unless the SMP sample is sent to the trash and buttons are drawn with 100% SMP code like I did.

Re: Last-List-SMP

Reply #22

(?) Nothing has changed, obviously it will crash forever while using window.CreateThemeManager('Button') activeX on wine, like the button sample on SMP. The fix is on Wine developer's side or SMP providing an alternative.

Just saying, don't expect it to be fixed on new releases XD Unless the SMP sample is sent to the trash and buttons are drawn with 100% SMP code like I did.
Ok, I understand it wrong. I thought that you will be replacing the button with your code.
Can still use the toolbar button.
Very useful to discover new music easily.
Very addictive too ;)

Re: Last-List-SMP

Reply #23

(?) Nothing has changed, obviously it will crash forever while using window.CreateThemeManager('Button') activeX on wine, like the button sample on SMP. The fix is on Wine developer's side or SMP providing an alternative.

Just saying, don't expect it to be fixed on new releases XD Unless the SMP sample is sent to the trash and buttons are drawn with 100% SMP code like I did.
Ok, I understand it wrong. I thought that you will be replacing the button with your code.
Can still use the toolbar button.
Very useful to discover new music easily.
Very addictive too ;)

Ehm no. I said you can find a wine/toolbar compatible version on my own scripts. (on the last update of Playlist Tools), reusing L3v3l's package.

Apart from that, I offered other developers to use my code for buttons instead of the current SMP samples, but that's up to them.
If you check the thread, there is no indication that would happen at any point. So right now is just a suggestion by my side. I'm not going to replace other developer's code  ;)

Related to the provided SMP samples, it was also issued on June 22, and there has been no answer on a year. There has been zero interest on updating any of the outdated samples provided on SMP since years (or adding new ones), so...

Re: Last-List-SMP

Reply #24

Ehm no. I said you can find a wine/toolbar compatible version on my own scripts. (on the last update of Playlist Tools), reusing L3v3l's package.

Apart from that, I offered other developers to use my code for buttons instead of the current SMP samples, but that's up to them.
If you check the thread, there is no indication that would happen at any point. So right now is just a suggestion by my side. I'm not going to replace other developer's code  ;)

Related to the provided SMP samples, it was also issued on June 22, and there has been no answer on a year. There has been zero interest on updating any of the outdated samples provided on SMP since years (or adding new ones), so...

I get it now, simply a misunderstanding from my part.

Yeah, I look back a bit in previous posts because I started to have a dejá vu feeling. This crash was discussed, the clipboard fails too. You do the new buttons for your scripts, the clipboard function was removed for wine because it crashed. Then someone, could be mark?, do a fix from the clipboard. A dev version of SMP was posted (v1.6.2-dev+7c0928bf ({ECD3EE08-6384-481A-AC50-7FC86600CEFE). With this one, a can use the copy and paste (in v1.6.1 - Hotfix is simply disabled). TheQwertiest said that he was going to release a fix for the hotfix, but then the real life hit him, and he was forced to take a break from the development and this fix never saw the daylight.

A year has passed.....time is fast  ;) Real life is b***h, I hope TheQwertiest could solve his problems (that is the important thing) and will have a new SMP with all pending fixes.

Anyway, I'm very pleased with the current situation, some issues still remain in wine, but overall I can use a lot of thing now that was a no no before.

So I want to send a big thanks to all of you.

Enough sensitivity, I'm hijacking the thread