Yet another problem with caches, songs > Rolling, albums > permanent

Issue description:

I am having difficulty trying to get my music into the rolling cache. As with most other users commenting, that is the normal and only cache where other players put music. I have now created 2 playlists and enable “Offline cache” for both: Favorite Songs and New albums last 90 days. Favorite Songs is saving to the Rolling cache, as I wanted. New Albums is saving to permanent cache. I have tried checking and unchecking “Use rolling cache” and clicking “Add to offline cache”, and no matter what I do, albums only go to permanent cache.

Also, every time I check the “Use rolling cache” setting, it is deselected. This happen also with the Favorite Songs, but at least they ARE going to rolling cache.

Very bewildering. There should be only 1 cache, there should be a maximum size setting for it, and anything played should go in that cache, and anything selected to be cached should go into it immediately. I got bit on my last phone when I was trying to cache on Wifi only, ended up downloading to wrong cache on cellular and cost me $50 for the data charge. Grrr!

Logs:

Upload description: rhauff

Additional information:

 

 

Reproduction steps:

 

 

Media provider:

Subsonic

Screenshots:

 

    

Then you miss read a lot of comments, most people want a stable cache to be sure that the media they cache are available when they want to play it and not removed because they cached the one more song …

That’s the whole point of an offline first app, having a constant controlled offline behavior…

Rolling cache is rolling, you can’t enable automatic cache to the rolling cache because this can’t work properly.

Have a cache size of 1Gb, enable rolling cache on 2 playlists that have more than 1 Gb of data.
Then what? the app keeps removing and downloading again the files since it can’t fill the cache? It randomly choose what is cached and what not? There’s no proper solution, if you say I want X cached but the result is that a part of X is not cached, then it’s a broken choice and implementation …

So to put things in rolling cache you either use the automatic rule that put played media there or you manually put things there.

Everything is documented and is logical and predictable.

1 Like

Well yes, I probably mis-read a lot of comments, and when I was searching for solutions I imagine mostly comments with my same frustrations showed up :frowning:

I have read the cache document you linked several times, but my confusion comes from all the different cache names: Are not all the caches “Offline cache”? (Except Playback cache, which should really be called playback buffer to prevent confusion.) So, in the hamburger menu from a playlist when you choose “Configure auto offline cache”:


and check Enabled, you don’t know if the songs are going to Rolling cache or Permanent cache.

In my example here Favorite Songs playlist appears to be automatic caching to rolling cache. And Settings document does not say that you can’t auto cache to rolling.

I’m trying not to use permanent cache, as there is no size limit. To me that is a worse scenario and cause problems with other apps on phone, wereas running out of Rolling cache is only an issue limited to Symfonium.

I can accept why a person would want a permanent cache, but really there needs to be a size limit setting. This same situation:

will happen if your phone runs out of storage :frowning:

It goes to permanent cache, you want them to be cached. Rolling cache on a fixed size list makes no sense. As you can’t at the same time want to have X item cached and say the limit is lower. It just can’t work, I don’t see what you do not understand here. There’s no good solutions, random deletion, constant refresh, no starting the download of anything at all.
None of those are a solution to your problem.

For the size limit, this is the same with your browser or a torrent client, if you download too much then your disc is filled.
Does your browser randomly delete previously downloaded files to make space for new ones? → No
Does a torrent client randomly delete previously downloaded files to make space for new ones? → No

Ok, maybe my lack of understanding comes from the use of “Permanent” and “cache” together, usually in computer lingo cache implies temporary storage. And the fact that in some settings it just says “Offline cache” without saying which one.

In any regard, my original question is:
Why is Favorite Songs playlist saving to Rolling cache, and New Albums saving to Permanent cache? I want New Albums to go to rolling cache so that albums that are not “new” any longer will be automatically flushed to make room for NEW New Albums.

I know I’m not native English speaker but still.

There’s no automatic rules to put things in the rolling cache except the played items.

If you enable automatic cache then it goes to permanent.

So to cache to rolling cache you need to manually do it on your playlists every time you need / want.

@rhauff, the most important paragraph from the cache doc for you is this:

Automatic caching only stores files in the permanent cache to avoid infinite loops (e.g. if your rules cache more media than the rolling cache size).

But that is not so important for your use case after all. What you want to achieve is:

You built your intelligent playlist to only contain these new new albums right? So when you enable automatic caching for that playlist, and an album falls out of the playlist, then it will also be removed from the permanent cache, because

Media that were cached by Symfonium version 9.0 or higher though an automatic rule are automatically removed from the cache when they are no longer covered by any rule.

So once an album enters the playlist it is being cached in the permanent cache. Once it leaves the playlist (and is not permanently cached for any other reason), it will be removed from the permanent cache.

You do not need the rolling cache at all.

There is one caveat: you cannot limit the size of the cache. If in one month you have a vast amount of new albums, they will all be cached until your phone runs out of storage. Why? Because Symfonium cannot decide which albums to get rid of. As long as they are part of the playlist, the order you gave is: cache them. There is no such notion as to only cache the newest 1 GB of the playlist, because Symfonium does not further interpret the playlist rules while caching. It simply caches everything that is in the playlist.

As Tolriq said, it would cause unforeseeable conflicts if you enable automatic caching AND a cache size limit at the same time. For one playlist you could apply a FIFO scheme (first in first out) here, but as soon as you create a second playlist that also should be automatically cached and that already would exceed the size limit, then what? Your first playlist would never be cached - or the next album entering the first list would be cached, because it is the latest entry, or …?

Therefor the rule stands: automatic caching only goes to the permanent cache.

The rolling cache is more suited to auto-cache your currently playing songs to not only “buffer” them but make them reliably available if you go offline. Or to manually cache distinct albums now manually, because you want to go jogging and want to be sure to have these few albums available while offline, but do not care of they fall out of the cache next time.

There is one caveat: you cannot limit the size of the cache.

While this is true, you can also combine the smart playlist with their “Max item count” functionality, which would allow you to make a playlist along the lines of “Gimme albums added in last 3 months, or 100 latest albums, whichever is smaller”.

Given that the album sizes usually do not wary too much on most albums, this would be pretty effective at solving this use case. Of course, this would only limit the size taken by the cache of this playlist, and not other stuff that’s in the cache.

1 Like

Weww, thank you for the long response @splinter and the many responses @Tolriq!

I had missed this part in the documentation, which made me afraid to use the permanent cache

I guess, my remaining question is why the Favorite Songs playlist went into Rolling cache? I do have Settings>Offline, Cache and Download>Media>Automatic offline caching of favorites Disabled.

Depends on where you enabled the caching:

If you had enabled automated caching (yellow arrow), then it would have been in the permanent cache. But you probably used offline cache and download (red arrow), and enabled rolling cache there. Which means the current state of the playlist is cached, but once something is dynamically added to the list, it will not be cached.

I used offline cache and download (red arrow) on both and toggled “use rolling cache”. Interestingly both revert to toggled off when I go back in to view settings

As I said, that option is for caching in that moment only. Don’t understand the “Use rolling cache” switch as a permanent decision. There could as well be two buttons: “Store in permanent cache” and “Store in rolling cache”. And when you hit either of those buttons, whatever is in the playlist in that moment gets cached.

When you return next time and the playlist contents has changed, you can decide again where you want to cache it. (If you chose “permanent” before, those files will still be in the cache, and only files that are new in the playlist will be additionally cached.)

What you need to use for your new new albums caching is the auto offline cache behind the yellow arrow. Before that, tweak your playlist like Roukanken suggested.

Well, it really Should be button to click for rolling cache. Having a sliding toggle makes it look like a setting that is supposed to be maintained.

Thanks for all the help, I think I understand how to make it do what I want now

What you still seem to not get is that the red menu entry is one shot, 1 time, unique action, … :slight_smile:

You configure what you are doing at the moment you are doing it, it will not be automatic on playlist change.

Since there’s possibly 4 settings and any combination of them that would mean 16 buttons, while now the UI is clear about each different settings to build the combination you need at that moment.

What you still seem to not get is that the red menu entry is one shot, 1 time, unique action, … :slight_smile:

I really do get it, that’s why I said it should be a button you click for a 1-time action, not a sliding toggle that looks like it should hold.

Since there’s possibly 4 settings and any combination of them that would mean 16 buttons

Not sure where you see 4 settings, my screen only show 2 plus the clickable buttons for Manage auto offline rule, Remove from cache, and Add to offline cache. I assume that last one sends to permanent cache.

That’s the important word, it depends on your settings and your providers to add transcoding option for example.

So yes there’s possibly a large combination of settings and so providing buttons for all the cases makes no sense.

Configuring what you want to do then press the do it button is logical and how in works nearly everywhere.

Paint.net save screen, you configure and press OK button…

Except my screen doesn’t have any “do it” or Ok or Apply button

Well in another it would be save or export in the save or export page.
Here you are in the offline cache page and it’s name add to offline cache.

It’s for sure a really strange choice …

So if you want to Export to Downloads folder you have to slide the toggle then click Add to Offline cache?? What if you only want to export?

In that case the button label change, but there’s still only 1 action possible that you configure.

It’s always funny to see people that do not read but still keep arguing till the end.

So let’s loose time again to stop this non sense.

The simple transcoding case:

So now the actions are:

Add to permanent cache at original,
Add to permanent cache at transcoding rate,
Add to rolling cache at original,
Add to rolling cache at transcoding rate,
Export to downloads at original
Export to downloads at transcoding rate,

That’s already 6 buttons how would 6 buttons be better and easier for the user to understand?

Now imagine one more option and it’s a lot lot more buttons.
Now imagine that the quality part is not just a toggle but you can select the quality and the format.
Now imagine …

As I said there’s many settings, you configure your settings then click on the button to do the action corresponding to the settings you choose.
It works like that in every apps, the fact that in your very specific case that screen only have 3 choices does not means that there’s no other choices for other users and so consistency prime.

So next time, try to understand what the guy say, instead of assuming you know better?