Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Subsonic API for audioserve #59

Open
izderadicka opened this issue Sep 8, 2021 · 4 comments
Open

Implement Subsonic API for audioserve #59

izderadicka opened this issue Sep 8, 2021 · 4 comments
Labels
enhancement New feature or request low priority

Comments

@izderadicka
Copy link
Owner

This can help with limited clients - especially mobile clients - as there are already couple of Subsonic API clients.
Not sure if we can match Subsonic API to audioserve, but at least it worth to research.

@izderadicka izderadicka added the enhancement New feature or request label Sep 8, 2021
@wtanksleyjr
Copy link

wtanksleyjr commented Sep 8, 2021 via email

@ghost
Copy link

ghost commented Sep 13, 2021

I believe there was a issue over at Gonic (A Similar application that is more specialized for music) sentriz/gonic#89. This application might run into similar issues, since the folder structure is more loosely defined?

On that thought, I think this is also why Mstream (https://github.com/IrosTheBeggar/mStream/) decided to not support subsonic and roll their own flutter application. I can't seem to find the issue, however.

@izderadicka
Copy link
Owner Author

I have been looking into Subsonic API, key thing is that it's very much database oriented, each object - and Directory and Child are main objects that would be interesting for us - has unique key, which is string (as per XSD definition, but in practice (airsonic) server uses integer key. Easiest way for us would be using collection_id+path as key, but it'll mean that key can be quite long (up to 4096 characters). Though XSD does not have any limitation on id string size I doubt that clients will support support it.
The disparity between our model based on paths only and relational model Subsonic API is first think to solve, and I think practically it'll mean to somehow assign persistent ids to folder and audio file, which was something I wanted to prevent.
Will give it some thoughts, but it's not priority now.

@izderadicka
Copy link
Owner Author

After a while I reconsidered it and I think it'll not worth to invest effort into subsonic API.
Main points are:

  • Subsonic "logic" is much different from audioserve, implementation will be complicated and will force some constructs which we will not need otherwise
  • Subsonic API is not well designed generic API, it's much focused on particular application, use case. Audioserve API is not much better, but two are not much compatible, so why to care to introduce another legacy.
  • I think Subsonic is declining anyhow.
  • Main reason for Subsonic was broader platforms support, but with new PWA client it is achieved with some limitations, where most is around opus transcoding, which Subsonic API will not solve.

I'll keep issue opened, for other arguments to come, but do not expect much progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low priority
Projects
None yet
Development

No branches or pull requests

2 participants