Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for downloading complete library #21

Closed
sandersantema opened this issue Mar 30, 2021 · 7 comments
Closed

Support for downloading complete library #21

sandersantema opened this issue Mar 30, 2021 · 7 comments
Labels
enhancement New feature or request

Comments

@sandersantema
Copy link
Contributor

I'd be great if you could download the whole library in one go and if amperfy would do this automatically when new songs are added, similarly to iTunes match. Currently the only way to do this is creating a playlist containing all songs and downloading this manually but this is finicky and unreliable.

@BLeeEZ
Copy link
Owner

BLeeEZ commented Mar 30, 2021

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?

@BLeeEZ BLeeEZ added the enhancement New feature or request label Mar 30, 2021
@sandersantema
Copy link
Contributor Author

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.

@BLeeEZ
Copy link
Owner

BLeeEZ commented Mar 31, 2021

These are good and helpful ideas. Thank you.

@BLeeEZ
Copy link
Owner

BLeeEZ commented Jul 16, 2021

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.

@sandersantema
Copy link
Contributor Author

sandersantema commented Jul 16, 2021

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.

@BLeeEZ
Copy link
Owner

BLeeEZ commented Apr 19, 2022

This feature is now implemented. See also #114.

@BLeeEZ
Copy link
Owner

BLeeEZ commented May 25, 2022

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

@BLeeEZ BLeeEZ closed this as completed May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants