quodlibet / quodlibet

Music player and music library manager for Linux, Windows, and macOS
https://quodlibet.readthedocs.io
GNU General Public License v2.0
1.45k stars 224 forks source link

Support streaming from Subsonic #3724

Open ghost opened 3 years ago

ghost commented 3 years ago

The proposed change

Quodlibet has soundcloud support through RemoteFile so maybe it's possible to also support Subsonic (API).

Benefits of this change

Subsonic is a protocol for a self-hosted Spotify. It was briefly opensourced during which multiple forks were made (Airsonic, Airsonic advanced, Ampache, etc.) There aren't many subsonic clients but most of them are bespoke, and lack the existing ecosystem of plugins and community. Quodlibet has all of that.

Any issues this might cause

I don't know if one would benefit from the existing browsers, playlists, etc. . It's not yet clear to me whether:


I'd be willing to take a shot at implementing this if uncertainties above can be answered.

declension commented 3 years ago

RemoteFiles are treated the same as normal files

Yes mostly, but also no. Depends on the context...

It's possible to hook into events like rating, playlist CRUD, playqueue modifications

In order: No (but see #963), no (but see #3424), no (without hackery)

See also related #3474 and #607

Hope that helps

ghost commented 3 years ago

Thanks for responding. From what I'm reading, it seems like RemoteFiles are second-class citizens:

I'm asking because I'd like to use the features in the existing browsers but simply with remote files. The Soundcloud API seems to be broken / deprecated so I can't really test.

declension commented 3 years ago

Thanks for responding. From what I'm reading, it seems like RemoteFiles are second-class citizens:

* Is it possible to create smart playlists with them?

Not sure what you mean by smart playlists, but normal playlists can contain them yes. Searches can return RemoteFiles too (though might not depending on filters / browser).

* Is a separate browser strictly necessary?

Perhaps not though it might be the easiest. Other options are a generalisation of the Soundcloud browser (but might be painful) or of the Internet Radio browser, depending on what clients actually look like.

I'm asking because I'd like to use the features in the existing browsers but simply with remote files. The Soundcloud API seems to be broken / deprecated so I can't really test.

Do you mean the API itself? In terms of QL, the changes to update to the new security model (and other fixes) should all be there now (see #3768, #3803)

ghost commented 3 years ago

I won't have time to look deeper into this or create an MR as my priorities have shifted for the upcoming year. Thanks for your time nonetheless.

Do you mean the API itself?
In terms of QL, the changes to update to the new security model (and other fixes) should all be there now (see #3768, #3803)

I seem to remember (maybe incorrectly) that soundcloud had deprecated their API and were planning on killing it entirely. It's even part of the reason I deleted my account there :sweat: Nice that it didn't happen and good job on the updates!

gessel commented 2 years ago

But Subsonic or Ampache support would still be cool tho....

margaretjoanmiller commented 11 months ago

I would also be interested in seeing this implemented, I'll take a look at seeing if writing a plugin would work

joshp23 commented 10 months ago

I would also be interested in seeing this implemented, I'll take a look at seeing if writing a plugin would work

Wondering if anything came of this?