Open Sinono3 opened 3 years ago
I'm not sure if that is a feature everyone would want to have. I'm using psst exactly because it doesn't track and report everything I do in it to Spotify. So I'd at least vote for a settings option to disable tracking and reporting.
Spotify reporting is also useful for forwarding reports to other applications like Last.fm. I agree that this should be opt-in/opt-out.
I would love to have this because I do really use the generated playlists they make for me, so I would like them to make it more accurate with the songs I play in Psst. As Spotify has, we could have private sessions, like in #154, to solve the worry of tracking it. But maybe have it as a permanent setting instead of being a "session."
I too would like to turn on reporting (for last.fm purposes), but strongly agree that such a feature should have a permanent setting (either opt-in or opt-out) for those who do not wish to, or when one wants to temporarily turn it off.
I see that the API used by psst is the official Spotify API. Is it reversed engineered? I would like to implement this feature behind an opt-in flag, but I am not entirely sure how to do it. Do I have to send play/stop/pause events via the API? Any help with the API is appreciated.
Looks like librespot-java maybe supports this?
Original Issue https://github.com/librespot-org/librespot/issues/342#issuecomment-613425917
Implementation: https://github.com/librespot-org/librespot-java/pull/155
Callstack-ish overview of what's used to do that:
TrackTransitionEvent() https://github.com/librespot-org/librespot-java/blob/802ecf8cca8e30ca794f9fbd923a2486bf8630df/player/src/main/java/xyz/gianlu/librespot/player/metrics/TrackTransitionEvent.java
When using the web client and watching the network traffic, it looks like it may be using a json equivalent for some of the above (state changes and events).
i would also LOVE to have the option to enable listening activity reporting, so stuff like last.fm is able to keep tracking my music habits even though i'm not using the official spotify app last.fm is a really huge part of me and many others' music discovery (and logging) routine :( love Psst, excited to see what the future brings for you
In theory this might be an option: https://github.com/InputUsername/rescrobbled
Haven't been able to test it yet since my system doesn't appear to have the required GLIBC version, and I haven't tried building it from source.
In the config file would include a line like this for psst:
player-whitelist = [ "psst" ]
Since Spotify tracks user listening and makes charts, song playlists and algorithms according to it, I think this feature is important, lots of people care about this.
The discussion about this on librespot isn't active, but it seems the folks over at librespot-java had success with the reporting. Maybe we could take inspiration from their implementation.