OpenSubsonic extensions
OpenSubsonic is a community-driven evolution of the Subsonic API. It adds new endpoints and richer response fields that the original Subsonic spec never standardized.
SwiftSonic implements OpenSubsonic extensions where they are part of the published spec. The matrix below tracks what is supported in 0.6.x.
Support matrix (0.6.x)
Section titled “Support matrix (0.6.x)”TODO: this section MUST be verified against the actual source before publishing. Walk through the methods on
SwiftSonicClientand the response models in 0.6.1, cross-reference against opensubsonic.netlify.app, and fill in the table.
| Extension | Supported | Notes |
|---|---|---|
openSubsonic field on SubsonicResponse | TODO | TODO |
OpenSubsonicExtension discovery | TODO | TODO |
Multi-artist tracks (artists, albumArtists) | TODO | TODO |
played / bookmarkPosition enrichment | TODO | TODO |
sortName fields | TODO | TODO |
Detecting server capabilities
Section titled “Detecting server capabilities”TODO: document how to call
getOpenSubsonicExtensions(or equivalent) to discover what the connected server actually implements, and how SwiftSonic exposes that data.
Falling back to vanilla Subsonic
Section titled “Falling back to vanilla Subsonic”A vanilla Subsonic server does not advertise the OpenSubsonic schema. SwiftSonic detects this transparently — calls that depend on OpenSubsonic-only fields will return nil or empty for those fields rather than failing.