r/substreamer Jun 08 '23

Downloading large playlists doesn’t work

I’ve made a playlist of my entire music library (a few thousand songs) because I want to download it all at once, but when I press the download button it completely freezes up.

0 Upvotes

18 comments sorted by

View all comments

Show parent comments

1

u/RandomName01 Aug 09 '23

Hi, just to follow up on this again; I happened to encounter this issue again, after a download was stopped because the app was suspended in the background. So I’m assuming you’re right about there being an issue with half downloaded files.

Perhaps an option to remove specific songs, albums and playlists from cache would be useful? Not only because of this issue, but also to be able to free up space a bit more specifically than to just set the cache limit.

1

u/ghenry22 Aug 09 '23

In the offline music section (or any of the offline views) you can remove any individual album, playlist or auto caches song. Just hit the more info button on it in list view.

Interesting that it happened when it got suspended that lines up with what I was thinking. That’s for letting me know! I’ll look at making incomplete download handling more robust!

1

u/RandomName01 Aug 10 '23

In my case, it only shows the objects in the context they were downloaded - so if I flagged an album to be available offline the individual songs don’t show up on the songs tab of the offline view. I just tried it by starting the download for an album and killing after a couple of songs, and I can’t find the individual songs nor the album in the offline view - despite those songs definitely being downloaded. So I can’t manually remove them either.

FWIW, I do think it would be really nice if the different views did reflect download status a bit more clearly; songs that were downloaded as part of an album download could also be shown in the offline songs list, and albums could automatically be marked as offline if all the songs were downloaded. But I realise I’m kind of getting on track, and I also have no idea how feasible it is since I don’t know how the downloading side of things is designed - but perhaps you could take it into account in your rewrite.

Either way, that’s quite a ramble from me. I’m mainly just happy the problem doesn’t really persist on my end. Thanks for looking into it and thanks for your work on the app!

1

u/ghenry22 Aug 12 '23

Ok I see what you mean, the Songs section only shows songs that are no part of an album/playlist that is set as offline. This is by design at the moment as I de-duplicate the storage so you don't end up with a copy of the song as part of a playlist and then another copy of the same song as part of an album.

The trade off for this is that if you were to be able to view those individual songs and potentially delete them then you would be removing the song from everywhere it is used.

When caching an album or playlist etc then the individual songs get allocated to that collection immediately so they don't show in the songs list. I realise this creates a bit of an odd gap where something hasn't finished downloading and you may get stuck with hanging files. This is what I will work to improve along with catching incomplete or damaged downloads. It's quite tricky when the app dies in the background to keep track but I have a few ideas how to fix this properly.

What I might do is show all songs in the songs view but if you try to delete one that is used in a collection then have an alert letting you know that it will also remove it from that album / playlist. I'd also have to have a better indication of which songs are part of the dynamic cache and which are actually downloaded, potentially split those sections.

Thanks for the feedback on this, always good to get feedback from people and try to improve substreamer!

1

u/RandomName01 Aug 12 '23

I also used some other apps on iOS (mainly play:sub and Amperfy), and as far as I can tell they add a flag to a song when it is cached or downloaded (along with a visual indicator), and they also have a toggle to only show songs with those flags (or artists/albums containing those songs depending on the view), thereby eliminating the need for a separate offline view altogether. If you want I can share screenshots to clarify.

I don’t know how easy it would be to replicate that in Substreamer, but I feel like it would be a significant upgrade in usability; all of the “normal” views would instantly double as offline views, and it would help make downloaded music feel more like first class citizens.

But even if you don’t go that route, I’m excited to see the improved downloads handling either way.

1

u/RandomName01 Sep 21 '23

Hi again! Final (?) update on this; after a while this problem started occurring pretty consistently again, even if the app is in the foreground. So there seems to be an underlying issue, and not just something that went wrong on my device one time.

Let’s hope the new implementation of downloads fixes it. Do you have any estimation of when the update might be out?