koel / koel

🐦 A personal music streaming server that works.
https://koel.dev
MIT License
15.91k stars 1.96k forks source link

Subsonic API #1085

Closed alex-phillips closed 2 months ago

alex-phillips commented 5 years ago

More of a feature request than an issue. Would you be willing to accept a PR that implements the subsonic API into koel?

phanan commented 5 years ago

Hey! TBH I'm not familiar with Subsonic. What extra capabilities will it bring?

alex-phillips commented 5 years ago

It's another self hosted music app but it's got a standard API that a lot of mobile apps use. This will essentially make it so you can use any of the mobile apps with koel.

For android, I use dsub.

phanan commented 5 years ago

That sounds great. How exactly will the integration/implementation look like, though?

alex-phillips commented 5 years ago

Here are the docs on the subsonic API: http://www.subsonic.org/pages/api.jsp

Obviously the endpoints will need to match, so although it would be nice, we wouldn't be able to do a 'subsonic' path prefix. Also, it looks like the response is all XML output. I know Koel uses JSON currently, so XML support would be added in. Again, this would only be for the subsonic endpoints though.

phanan commented 5 years ago

Sounds good! I'm all for it.

Am Mi., 18. Sept. 2019 um 15:50 Uhr schrieb Alex Phillips < notifications@github.com>:

Here are the docs on the subsonic API: http://www.subsonic.org/pages/api.jsp

Obviously the endpoints will need to match, so although it would be nice, we wouldn't be able to do a 'subsonic' path prefix. Also, it looks like the response is all XML output. I know Koel uses JSON currently, so XML support would be added in. Again, this would only be for the subsonic endpoints though.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/phanan/koel/issues/1085?email_source=notifications&email_token=AB5O3UT2WVY62CROAB3L5TDQKIW4FA5CNFSM4IXOYTO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7AEFCQ#issuecomment-532693642, or mute the thread https://github.com/notifications/unsubscribe-auth/AB5O3USTZAUST3LWJAI4VS3QKIW4FANCNFSM4IXOYTOQ .

legobuild commented 4 years ago

I currently use Airsonic with play:sub on iOS. I've really wanted to switch over to Koel, but need offline caching on iOS. Would love this.

JuniorJPDJ commented 4 years ago

Is it going in any way?

phanan commented 4 years ago

@JuniorJPDJ I'm open to this but unfortunately won't have time to work on it, so I'm relying on you folks ;)

alex-phillips commented 4 years ago

I'll see if I can start working on it this week

antipiot commented 4 years ago

Subsonic API Would be a real + :-)

alex-phillips commented 4 years ago

Unfortunately with the way Koel is built, I won't be using Koel anymore so adding in a Subsonic API isn't something I am interested in pursuing. Its method of populating the standard UI causes PHP to run out of memory with a rather large library, so continuing to use this isn't possible for me. Sorry :-/

JuniorJPDJ commented 4 years ago

You could leave this issue open as I think that maybe someone would like to implement it in the future.

alex-phillips commented 4 years ago

@JuniorJPDJ Sure thing!

deanlongstaff commented 4 years ago

+1, i would like to use KOEL but i wont be switching until there is an API that i can use on a mobile app.

Hukuma1 commented 3 years ago

Wish someone made this. :/

legobuild commented 3 years ago

Wish someone made this. :/

You can look at Navidrome as an alternative with the subsonic API.

bilogic commented 1 year ago

Unfortunately with the way Koel is built, I won't be using Koel anymore so adding in a Subsonic API isn't something I am interested in pursuing. Its method of populating the standard UI causes PHP to run out of memory with a rather large library, so continuing to use this isn't possible for me. Sorry :-/

@alex-phillips could you clarify on the out of memory issue? Do you mean the scanning of the music path from a browser?

phanan commented 1 year ago

@bilogic Previously Koel loaded pretty much the whole library into the client. I deliberately chose to do so because I built Koel for my own needs, and my music library was/is never that big. However, newer Koel versions load songs/artists/albums progressively on demand, so memory should not be an issue anymore.