Well, it’s not a protocol, Subsonic is an app that became pretty famous in the MP3 era and had a nice API for which various clients were developed.
The source code was Open Source in the early days which was forked into e.g. AirSonic.
Both projects are dormant for a few years now. That’s why new ones have emerged that simulate the same API so all the client apps can still be used with them.
sxan@midwest.social 2 weeks ago
There is a project to standardize (and document) the API, called OpenSubsonic. It includes extensions, but the main value is that it tries to consistently document expected behavior. It’s an uphill battle, because the Subsonic API is a schizophrenic mess, and no two servers interpret API responses the same way, but it’s still a decent project. I contribute to a client, and we try to adhere to the OpenSubsonic documentation.
My only criticism about the API is that it’s focused on streaming, which means we can’t consolidate server control (e.g. mpd) and streaming, which would make writing versatile clients easier, but still.
Tempo is a fantastic client, BTW, and has largely replaced my local offline client use.