As far as I know, and from some inferences, Renoise will use “memory” to store “temporary configuration” that the user has changed, both for Renoise and for the tools API.
When the user closes Renoise, both the changes in Renoise and the API changes are dumped into the respective configuration files.
The question I ask myself is, why does this have to be the case?
Why are changes not saved “on the fly” at the time of change?
These files are needed to reload Renoise or reload the respective Lua tool. It seems like something of a “safety measure” to avoid saving something you shouldn’t in the configuration files that makes the next time you load Renoise, it doesn’t return an error or malfunction.
I don’t know if there is much sense in these thoughts, but everything in Renoise about configuration is set to be saved on logout, and that data is only accessible in memory or in some temporary/staging file. If Renoise crashes, this save operation is not executed.
So there are these 2 things (speaking individually):
- A: The save configuration file, which will be used when starting Renoise again.
- B: The memory (or temp file or whatever it uses). This is accessible at all times by Renoise. And it has been a problem in the API in some cases, not having access to said “memory” available.
So, it’s like asking Renoise to be “smarter” with the use of the save configuration, watching everything that happens with errors.
In theory, the user should not know anything about this. He should just compose music without worrying…
There are also examples with the API. As far as I know, there is no access to “memory” for keyboard command changes. So if a user changes commands, the API cannot find out. Another example is color themes (but things are being fixed)…
From my experience, Renoise can hang if it doesn’t find a file it needs (for example, deleting a picture or icon it needs).
It’s also a bit unstable (or very slow) if the computer has multiple sound cards and while Renoise is running, the user switches sound cards (internal sound card, wireless headset, usb sound card, or the sound card of the image monitor, or something like that). For some reason it’s not agile in some cases, at least under Windows 11 (which is not the case with other sound editing software). In these cases Renoise should be rock solid. It seems like switching sound cards is a “delicate matter”, when it shouldn’t be.
There can be problems with external plugins, of course, and in many cases the problem is with the plugin.
I don’t know how it behaves with multiple instances.
But a super tracker should be able to load multiple songs in a single instance, and be able to switch between them “on the fly”. This would allow migrating data from one song to another with just one exe.
I’m just commenting on some thoughts…