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: [development suspended] Spotify Integration (foo_spotify) (Read 46590 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Spotify Integration (foo_spotify)

Reply #100
SqrSoft Advanced Crossfader probably needs to buffer a significant chunk ahead, and possibly even needs to buffer across multiple files at once. The Spotify plugin is both rate limited in how fast it can decode, and instance limited to only work with a single track at once.

Re: Spotify Integration (foo_spotify)

Reply #101
Hi,

One of my favorite Fb2k plug-ins is the SqrSoft Advanced Crossfader. Whenever I have it enabled and use this plug-in, it takes quite a long time to start playing tracks. Can you look into this? I've attached a screenshot of my current settings for Sqr.

Thanks for this fantastic plug-in!

As Mario (plugin developer) suggest me, when i aak him same question, you must increase output buffer.
Recomended value is between 5000 up to  7000 ms.

 

Re: Spotify Integration (foo_spotify)

Reply #102
Does foo_spotify come with a 3rd party copy protection called Themida?

This software clearly seems to have snuck onto my system and it gets triggered when I want to start foobar2000 after I have run Sysinternal's Process Monitor once. Procmon doesn't have to be currently running for the error message to pop up, all it takes is that Procmon has run at least once. Only after I reboot the system, the error message goes away. Or when I start foobar2000 in safe mode or remove the foo_spotify component from the user-components folder.

I also can't re-install foobar2000 once Themida has been triggered. Weird.

The reason I post it in here is honestly a wild guess. Spotify has come up in connection to Themida and foo_spotify is the only link between Themida and foobar2000 here. Running Spotify after having run Process Monitor doesn't give me an error though. Even weirder.

Does your fb2k component use some Spotify binary blob? If so is it possible that that blob has secretly installed the Themida licensing "protection" software, or was it installed by the Spotify app and it only gets triggered by a binary blob in your dll? I immediately uninstalled Spotify from my system but a simple uninstall didn't help, Themida is still persistently monitoring my system if I am monitoring my system with a legit tool like Process Monitor.

Re: Spotify Integration (foo_spotify)

Reply #103
libspotify does come with Themida, yes. Blame Spotify, it's their library.

Re: Spotify Integration (foo_spotify)

Reply #104
Ah, ok. Makes sense.

Does anyone know if Themida has somehow persistently installing itself on the system? Or does it only check at startup if a tool like Procmon has left some of its traces on the stack? I suppose the later seems to be case. I hope.

libspotify seems to be deprecated since early 2015, and I guess with it the Spotify app dropped the Themida software, that's why the error only pops up when starting foobar2000+foo_spotify and not Spotify itself.

Btw, this' kinda worrying...
https://pyspotify.readthedocs.io/en/latest/
Quote
libspotify’s deprecation
Note that as of May 2015 libspotify is officially deprecated by Spotify and is no longer actively maintained.

Spotify has published newer libraries intended for Android and iOS development, as well as web APIs to access track metadata and manage playlists. Though, for making apps with Spotify playback capabilities, on any other platform than Android and iOS, there is currently no alternative to libspotify.

libspotify has been the main way of integrating with Spotify since 2009, and is today a part of numerous open source projects and commercial applications, including many receivers and even cars. There’s no guarantees, but one can hope that the large deployment of libspotify means that the library will continue to work with the Spotify service for a long time into the future.

Re: Spotify Integration (foo_spotify)

Reply #105
Does anyone know if Themida has somehow persistently installing itself on the system? Or does it only check at startup if a tool like Procmon has left some of its traces on the stack? I suppose the later seems to be case. I hope.
AFAIK it's an in-process tool.

Btw, this' kinda worrying...
There are no alternatives available on Windows anyway. If it happens, it happens. Either way, nothing much can be done about it until Spotify creates a new library for streaming.



Re: Spotify Integration (foo_spotify)

Reply #108
Hi,

One of my favorite Fb2k plug-ins is the SqrSoft Advanced Crossfader. Whenever I have it enabled and use this plug-in, it takes quite a long time to start playing tracks. Can you look into this? I've attached a screenshot of my current settings for Sqr.

Thanks for this fantastic plug-in!

Try to set the buffer between 5000 to 7000 ms. This is what Mariano (plugin developer) suggest me for general settings for local files, but maybe it can work for Spotify too.

Re: Spotify Integration (foo_spotify)

Reply #109
just started receiving this error today whenever I try to add a playlist:

The following error(s) occurred during loading of the location(s):
[json.exception.type_error.302] type must be string, but is null

I have disabled youtube source and this was all working fine last night.

I guess it is unable to read the metadata of playlists now? existing playlists still play just fine. This is frustrating.

Re: Spotify Integration (foo_spotify)

Reply #110
just started receiving this error today whenever I try to add a playlist:

The following error(s) occurred during loading of the location(s):
[json.exception.type_error.302] type must be string, but is null

I have disabled youtube source and this was all working fine last night.

I guess it is unable to read the metadata of playlists now? existing playlists still play just fine. This is frustrating.

How very odd. I just added some other playlists and they work fine. does the component glitch with specific playlists, and why?

Re: Spotify Integration (foo_spotify)

Reply #111
It stopped working tonight (6/23/2021) at about 1 AM PDT. Suddenly nothing would play; the plugin claimed I needed to log in again but logging in didn't work. The time when it happened is suspicious; it looks all too much like a scheduled shutoff.

Playing through the desktop application or open.spotify.com still works, so it's not a shutoff of my account.

Re: Spotify Integration (foo_spotify)

Reply #112
Can't know for sure yet, but it might be caused by Spotify fully deprecating LibSpotify integration library. If that's the case, then it would be the end for this project =(


Re: Spotify Integration (foo_spotify)

Reply #114
Someone in the mopidy forum suggested that the cause of the problem is that the 'ap.gslb.spotify.com' address no longer is responding. The 'apresolve.spotify.com' does respond.

Adding this to the c:\Windows\System32\driver\etc\hosts did the trick for me at least:


# apresolve.spotify.com has replaced ap.gslb.spotify.com, but the libspotify has
# the FQDN hard-coded; hence this attempt to alias "ap" to one of the host listed
# from apresolve
35.190.242.176     ap.gslb.spotify.com # gew1-accesspoint-a-dfff.ap.spotify.com


I hope this is helpful in anyway.


Re: Spotify Integration (foo_spotify)

Reply #115
Hm... I wonder if there are any binary integrity checks in libspotify. If there are not, I might try hacking around the host in binary, so that users won't have to.

Re: Spotify Integration (foo_spotify)

Reply #116
If it's possible to "patch" the binary - that would be an interesting approach. Seems however that the "hack" proposed by the other forum, has it's limitations. - It appears as if there are some other changes to the protocol.

The /etc/host hack, stopped working after a while - and any further attempts to find another address, based on the responses from the apresolve service has come up the same 410 failure code.

Could the librespot serve as an alternative to the deprecated libspotify ?

Re: Spotify Integration (foo_spotify)

Reply #117
If it's possible to "patch" the binary - that would be an interesting approach. Seems however that the "hack" proposed by the other forum, has it's limitations. - It appears as if there are some other changes to the protocol.

The /etc/host hack, stopped working after a while - and any further attempts to find another address, based on the responses from the apresolve service has come up the same 410 failure code.

Could the librespot serve as an alternative to the deprecated libspotify ?
See https://github.com/TheQwertiest/foo_spotify/issues/39

Re: Spotify Integration (foo_spotify)

Reply #118
Oops, I wasn't aware it was written RUST.

Re: Spotify Integration (foo_spotify)

Reply #119
Stumbled upon a repo for C++ binding for librespot here: https://github.com/kraxarn/librespot-cpp

Thought it may interest you in case Spotify finally flipped the switch on libspotify.

Re: Spotify Integration (foo_spotify)

Reply #120
Hi @TheQwertiest . I know this component is for Spotify premium users. Can I make a suggestion? I didn't know where to ask and I remembered about this component. Can you do something for Spotify free users? Something like this plugin for MusicBee https://getmusicbee.com/addons/plugins/306/musicbeesynctoservice/ It will allow us syncing Foobar playlists to Spotify , and from Spotify to Foobar. It will be great to be able to do this inside Foobar, and you don't need a premium account for this.
Hopefully you'll like the idea

Re: Spotify Integration (foo_spotify)

Reply #121
Hello the Qwertiest,

thanks a lot for this add-on. I really liked it and would use it a lot.

So if you find the time to continue working on it, it would be fantastic. I'm sure, there are others who like the add-on too!

Frankie

Re: Spotify Integration (foo_spotify)

Reply #122
If it's possible to "patch" the binary - that would be an interesting approach. Seems however that the "hack" proposed by the other forum, has it's limitations. - It appears as if there are some other changes to the protocol.

Would be difficult.

Themida is designed, like Denuvo & VMProtect, to stop basic things like binary patching (as well as many other things), whether on disk or in memory. Bypassing internal integrity checks of Themida to do this is completely against the HA Terms of Service.

Its feasible. The question is whether you want to encounter Spotify Technology S.A's legal wrath. And if someone does a similar component for another streaming service (like Deezer, which has a much more permissive API, albeit all reverse engineered), there is similar legal problems for reversing private APIs.

Re: Spotify Integration (foo_spotify)

Reply #123
When - thanks to foo_spotify -  listening to a spotify track in foobar, I get multiple scrobbles for this track (e.g. 5 times)

I'm experiencing this as well. Getting double scrobbles (with different timestamps) as well as scrobbles for skipped tracks. Weird thing is that the dupes don't show up on Last.fm for a day or so. I thought it was an issue with the official (legacy) last.fm scrobbler app so I disabled that. I thought that Spotify-Last.fm-integrated scrobbling happened on Spotify's side which could explain the delay. But now I'm getting no scrobbles at all (even after waiting a day).

Can any other last.fm users share their experience with this? Should I be re-enabling the scrobblers when streaming using foo_spotify?

Re: Spotify Integration (foo_spotify)

Reply #124
Adding new songs seems to have broken. I can play anything that's already in a playlist, but trying to add anything gives an error popup:

The following error(s) occurred during loading of the location(s):
Not Acceptable (406)

Versions: foo_spotify 1.1.3, foobar2000 1.6.7