EDIT: Aaaaand I just noticed that there is a new version from a few days ago that addresses this very issue. Thank you, dev! You are pretty awesome.
Desired Feature:
An option in the settings (or a command line flag) that allows to set a maximum amount of RAM that SoundShow uses for storing clips. Once that limit is reached, SoundCloud would either refuse to load new clips and display some sort of warning or (probably harder to implement) start unloading clips in a least-used or least-recently-used fashion.
(Maybe this already exists in the Windows version. I am on Linux.)
Why this would be useful:
If you work with long, uncompressed clips, because SoundShow fully loads them into memory (is that actually necessary, by the way? Regular media players do not do this), it is very easy to run out of RAM space. I have 64G memory on my machine, of which at most 5G are used by things other than SoundShow, including the OS, and I still regularly crash the program when I forget to manually unload clips before loading the next batch. As soon as SoundShow runs into swap space, it essentially freezes entirely and I have to kill the process in order to use my system again.
Current workarounds:
- Have a memory monitor running alongside SoundShow at all times and manually unload clips when RAM runs low. This is obviously terrible when you want to focus on running a show.
- I suppose a workaround would be to compress the clips since SoundCloud probably does not decompress them in memory. But that only scales the problem by an order of magnitude, which does not help smaller machines.
- Of course, I can just run SoundShow in a container that is not allowed to allocate more than 55G of memory. Doing so prevents my system from freezing, but then SoundShow simply crashes when it runs out of memory.
I hope it is possible to add this :-)