BLeeEZ / amperfy

Amperfy is an iOS app to play songs from an Ampache or Subsonic server
GNU General Public License v3.0
380 stars 34 forks source link

Navidrome not working if downloads are disabled (transcoding) #201

Closed stonie08 closed 2 days ago

stonie08 commented 7 months ago

I can't play any music with Amperfy 1.1.3 and Navidrome 0.49.3 if downloads are disabled on the server side. If "Auto cache played songs" is enabled in the app I get "API Error Status Code: 50 downloads are disabled", which seems fine given that caching the songs kinda implies downloading them. However, if the auto cache function is disabled, I don't get an error message but no music is playing either. Other clients can play music fine with the same Navidrome instance and config.

Steps to reproduce:

BLeeEZ commented 2 months ago

I think this error could be fixed when Amperfy gets transcoding support in the next big version.

BLeeEZ commented 2 months ago

Transcoding is implemented in 16e9bed.

BLeeEZ commented 3 weeks ago

This feature can be tested in the newest beta v1.2.1 (2): https://github.com/BLeeEZ/amperfy/issues/25

BLeeEZ commented 1 week ago

Did you have time test the feature? Is it behaving as you expected?

stonie08 commented 1 week ago

I just tried it and played around with the settings a bit. Overall it seems to work fine now. I tried some configurations for transcoding and caching and couldn't make the app not play a song. Thank you!

A small UX thing I did notice is that if downloads are disabled on the server and in the app I set a Max bitrate for streaming (wifi and cellular), set to streaming format (transcoding) to Raw/Original and the Cache Format (Transcoding) to Raw/ Original I get a big red "Download Status Code: 50 downloads are disabled", which makes sense given the descirpiton below on the settings page, but is a bit intrusive given that the music plays fine and the message reappears for every single song.

Likely worth mentioning, but also separate issue: the description below "Cache Format (Transcoding)" mentions a stream setting for server side transcoding, but there's no "stream" setting.

BLeeEZ commented 1 week ago

To avoid this error message you can do two things: Either activate transcoding for cache or deactivate "Auto cache played Songs".

The mentioned description: If you activate cache transcoding, Amperfy needs to use the Subsonic API action "stream" since the Subsonic API action "download" does not allow to provide a transcoding format. I display that info so the user knows that even if download is not allowed on server side it is still possible to save songs for offline play. I heard from other users that they don't want to use the API action "stream" and always want to use the API action "download".