"Last Correct-Shutdown Backup" of Preferences/critical .xml files

It has definitely happened more than once in my 20 years of using Cubase that a .xml file has become corrupted due to Cubase crash.

Just yesterday, it was the Defaults.xml file, which is causing the program to completely lockup when soloing a track.

Definitely annoying, It’s the one thing about Cubendo that always has me pondering in my head as I’m recommending it to another industry professional - “should I be recommending this program to this person” as I’m having flashbacks to all the times .xml preferences got screwed up or preferences had to be disabled.

Imagine this happening in the middle of a big session, with a famous/prestigious artist on expensive studio time…

Luckily, I’m just doing some template/program maintenance and revisions during down time, so I’m the only person annoyed to hell.

Creating a 'backup last-correct shutdown of preferences" would be fairly easy to code for any experienced computing coder,

  • users can set # of .xml/preference backups, and or a schedule… Then instead of only having the options “Disable Preferences” or “Delete Preferences” which are good for nothing other than abstractly finding out if it’s some needle-in-a-haystack problem in one of the preference/.xml files The user in the safe-start prompt, can select from a list of backup dates.
  • The way it works, is when Cubase starts and detects that the last shut down was proper, it creates a backup of preferences/critical.xml files.
  • If Cubase then crashes, when the user restarts and is prompted with the safe start menu, they now have a drop down menu to select previous Preference states.
    • Cubase then interchanges those specific files with the potentially problematic ones.
  • User should be able to set # of preference/.xml backups, as well as the ability to “Always Keep Preferences of last correct shut down”
  • After a user has safe-started a preferences/.xml back up, and correctly shuts down the program. The next time they boot Cubase, they are asked if they want to complete the functioning preferences/.xml merge.

I really appreciate people who build their software as if it is mission critical, as if it is NASA control software in which peoples lives depend on it being stable, but in the event stability is lost - a series of stacked quick fix protocols.

I don’t have a comment on this FR, but the simplest thing to do, which can be done now, is to backup the User Settings folder, and then you can restore from the backup and lose very little, in a case where the crash really is caused by corrupt prefs.

Saving a Profile can also do this, but that’s a bit convoluted to use, and one hopes for improvement in that area of Cubase.

In my recent experience crashes have not been caused by pref problems; years ago this was more of a problem – nowadays when I have a crash I don’t delete preferences, and am able to carry on working immediately.

Usually I do have backups of this stuff, and I do have some, just not as of the recent immediate revisions/maintenance I’ve been doing, of which… I was about to do a backup of. I even have a Macrium reflect schedule of the AppData folder.

But as if with anything - there can “by chance” be multiple points of failure, so the more multiple points of data protection, the better. Macrium Reflect isn’t able to differentiate between good and bad.

Also, many newer users who are new to the software, might not be privy to these dilemmas and might not have a backup system in place.

Like you, most the time I’m able to reboot Cubase fine, and most of the time when Cubase crashes, it’s a soft crash with a warning in which you can still save a new project version and close…

But, as I’ve now learned, these problems can still happen especially if it’s a hard-crash when something was in the middle of being written - essentially what has been written either didn’t complete its write thus leaving a trail of unfinished code, and or it has injected a bunch of non-sense code… or there is some sort of misdirection between or mis-targeted communication between aspects of preferences/current state/etc.

Safe-Start is a start… But it has always been a fairly blunt solution if the user doesn’t have their own back up.

I’d imagine a lot of Cubase users, especially as of recent new ones, have no idea they need to back up the AppData folder. So while it’s easy to say to someone experienced like me, “should have backed up the AppData Cubase folder” - many people simply won’t know about this, and thus there is some data protection responsibility on Steinbergs side.

Yeah, I hear that.

Here’s what I do, using Autohotkey. One could use Task Scheduler too, it just runs this Windows shell command:

robocopy C:\Users\me\AppData\Roaming\Steinberg "C:\Users\me\Documents\Steinberg User Folder Bak" /mir


SteinbergUserBak:
TheDay := A_WDay
TheTime := A_Hour A_Min
 If (TheTime = "1214"  )
{
Run, robocopy C:\Users\me\AppData\Roaming\Steinberg "C:\Users\me\Sync\Documents\Steinberg User Folder Bak" /mir
}
return

That’s interesting, thanks. I might end up implementing that.