Code Monkey home page Code Monkey logo

Comments (7)

BLeeEZ avatar BLeeEZ commented on August 11, 2024 1

These are good and helpful ideas. Thank you.

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

I will add this as a feature request. It sounds interesting. Do you want a button in the Amperfy->Settings->Library to toggle this functionality?

from amperfy.

sandersantema avatar sandersantema commented on August 11, 2024

I suppose a simple toggle will be perfect. Now that I'm thinking about it actually isn't immediately clear to me what name this would need to have to be indicative of it's function. For instance Download All wouldn't do the job, since that doesn't indicate all songs added to the library afterwards will be downloaded to. I think a good approach might be to call the toggle Auto Cache or alternatively Automatically Cache (I prefer auto cache) and add the following explanation Automatically cache new songs added to ampache catalog such as is done in this screenshot from the iOS settings:

image

On another note: for function to be useful downloading should be quite robust or at least somewhat deterministic. By robust I mean that downloads should for instance preferably work in the background too, if I for instance add some song to my ampache catalog in the evening and would like ot listen to it the next morning while on my commute without any internet service I shouldn't have to think about it. Furthermore when initially downloading I wouldn't expect the download to work perfectly and go trough without any error but in as much as possible after an error downloads should resume automatically and if not possible the user should be able to for instance completely stop all pending downloads and the remaining downloads with a clean slate.

In another ampache client (via the Subsonic API) play:Sub this is a particularly bad experience, whenever the app is quit while downloading, it will stop and on startup the app will hang and crash. After which downloads will at times get stuck and other times won't, sometimes clearing all pending downloads and starting the downloads on all remaining songs will work and other times it won't. This is the opposite of what I meant by deterministic, it's finicky and the user doesn't know what to expect. Better to maybe even download somewhat slower but always work.

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

Via the switch to library updates via search functionalities Amperfy has no complete list of songs on the server. So a function like "Download all songs from server" is not possible. The only feature I can think of is an option "Auto cache songs". This would start the download automatically when the meta info has been fetched.

from amperfy.

sandersantema avatar sandersantema commented on August 11, 2024

I think here again the function of retrieving a list of all songs on the server is important enough to be implemented in the api at some point but as an alternative creating a playlist without any criteria such that it matches all songs and downloading that might be a solution?

EDIT: forgot to mention that this is actually how I currently do this, namely downloading a smart-playlist which automatically adds all songs.

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

This feature is now implemented. See also #114.

from amperfy.

BLeeEZ avatar BLeeEZ commented on August 11, 2024

I assume this can be closed. If not feel free to reopen it again.

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.