Code Monkey home page Code Monkey logo

Comments (13)

BLeeEZ avatar BLeeEZ commented on August 11, 2024 5

It is implemented in 2716126.
Simulator Screenshot - iPhone 15 Pro Max - 2024-04-22 at 21 03 21

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024 3

This feature can be tested in the newest beta v1.2.1 (2): #25

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024 1

I am interested in this feature and I put on the list for the next version.

from amperfy.

hugoghx avatar hugoghx commented on August 11, 2024

I'm not very well versed in Swift or iOS dev, but here's some findings.

The functions that generate the calls for stream and download would need to take in the format the user chose in the settings.

We'd have to receive a format argument and pass that into createAuthApiUrlComponent, which would have to support adding that as a new parameter, much like we already do for id.

urlComp.addQueryItem(name: "format", value: format)

I'm not sure if the response body would change if this parameter is included on a stream or download call - but since Subsonic is designed to be REST, I'd expect it to stay the same, just with the media data transcoded to be in the requested format.

Since this seems to be the lowest layer present that interacts with the API directly, from here we just need to go up the stack until we have access to the user settings objects and add/change logic on the functions that request the stream/download from a Subsonic API server.

from amperfy.

stonie08 avatar stonie08 commented on August 11, 2024

I just want to add that this would be a usefull addition. Also the same call also supports a max-bitrate setting which would come in handy for a mobile device with data-caps, limited bandwidth, storage,.. So allowing for a certain number of file format and bit-rate settings would be great. Given that specifying format and bitrate seem to work in other subsonic-api compatible apps, this should be feasible as it is part of the protocol.

from amperfy.

JOJ0 avatar JOJ0 commented on August 11, 2024

@BLeeEZ Hi, I tried switching from Navidrome to Ampache only for the possibility to download and transcode using Amperfy.

Now Ampache brought me into a hell load of other problems and I'm not sure I want to further go down that path...

Now, I somehow suppose you are an Ampache user and download+transcode with Subsonic servers might not be on your top prios list but is there any chance you might want to look into it? It's actually the one thing preventing me from using Amperfy as my go to app for offline listening. Just here to ask :-)

from amperfy.

yuygfgg avatar yuygfgg commented on August 11, 2024

It is implemented in 2716126. Simulator Screenshot - iPhone 15 Pro Max - 2024-04-22 at 21 03 21

Is this feature available in the latest release version? I can't find the setting

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

This feature is currently not available via TestFlight. I will notify here when a new Beta is available with this feature.

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

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

from amperfy.

brokoler avatar brokoler commented on August 11, 2024

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

Joined testflight since I had the same feature request in my mind and was pleasently surprised about added transcoding in the newest beta.

My feedback:

  • Transcoding works when set to 320kbps or .mp3
  • Downloaded files are much reduced in size, FLAC files with around 60 MB per song were reduced to around 8MB per song
  • For the user it's complicated to verify the bitrate -> Could we get an option to show the bitrate for the currently played song or downloaded files?
  • Would be great if Transcoding for downloads (Caching) could be set to 320kbps and a second option would allows unlimited bitrate when streamed via WiFi. That way downloads would be small in size when on the go, but at home when streamed to audio equipment the bitrate would be as high as possible

Really a beautiful app and I'm excited what features are introduced in future.
Gonna beta test every version from now. Thank you!

from amperfy.

WilsontheWolf avatar WilsontheWolf commented on August 11, 2024

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

I joined the test flight and have been using it all week. It's been working really good, but I had some issues when streaming some songs (which I don't normally do, but was doing because I invalidated my entire cache). When streaming music, I found that it does not show the end time in the player (and as a consequence, I can't seek and the Lock Screen doesn't show progression).
I've also had it where a song that was streaming randomly started playing from the beginning, but the playback time didn't go back to zero or anything. Only happens when streaming and I'm not sure how to replicate, but it seemed to be more likely to happen on longer songs.
downloaded songs have been working flawlessly, and I can actually listen to music formats Amperfy doesn't support.
I've also noticed some weird behaviour with scribbling. I haven't dug into exactly what happened, I'll try to figure that out later.

from amperfy.

stonie08 avatar stonie08 commented on August 11, 2024

This might be a Navidrome issue in the end, but I also noticed that it seems like server transcoding might always be overwritten by the settings for some reason. I tried to set the session to something obviously low and bad (32kbps mp3) and Amperfy to its default limits and settings, and it seemed like the audo was fine. Can anyone confirm?

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

I think you can limit the bitrate on server side.

from amperfy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.