Auto Save & Bak Files – Documentation and Best Practice

Auto Save & Bak Files – Documentation and Best Practice

The Auto Save function provides an additional safety net by creating automatic backups of an open project in the background. This is very helpful in case you experience a crash or you want to go back to a project state which has not been saved by a regular cpr file.

Unfortunatly, the manual is very brief and therefore misses crucial information about Auto Save and how it works. In order to avoid being at risk to accidently lose parts of your work or even a complete project it is important to fully understand this function.

Advice and Disclaimer

  • At the end of this post, you will find a table with an example project consisting of two sessions. This will help to visualize the described behaviour. The example project will be referenced by pointing at the timeline in the left columon, e.g. 1st Session - Min 80. It might be helpful to copy/paste the table to a separate document while reading the post.
  • The behaviour on newer MacOS slightly differs from the behaviour on Windows and older MacOs (see last article Differences on Windows and newer MacOS). Since the exact MacOS has yet to be determined these systems will be referred to as „newer MacOS“ for the time being. The text will highlight the deviation between different systems.

Content
Basics

  • Auto Save Settings
  • Naming Scheme

How it works

  • Overwrite Cycle
  • Deletion of Bak Files – Quitting a Session Without Save
  • Save Commands and bak files
  • Crash Procedure

Best Practice

  • Setting up Intervals and Maximum Number of bak files
  • At the Start of a Session
  • During a Session
  • Leaving a Session

Differences on Windows and newer MacOS
Example Project Consisting of Two Sessions

Basics
Auto Save Settings (Edit/Preferences/General > Auto Save)

  • The Interval defines the time in between Auto Saves. It is on pause when no changes occur in order to avoid identical bak files. Auto Save is also deterred if transport is running or when a modal window is opened (e.g. the Add Track dialog).
  • The Maximum Number of Auto Save files defines the maximum number of bak files with the same project name (see naming scheme below). Bak files are contained in a dedicated folder called „Auto Saves“ within the project folder.

Naming Scheme: Name-number-(last edit step).bak

  • The name reflects the name of the currently opened project file.
  • The number will increase each time a new bak is created that corresponds to the same name.
  • The last edit step refers to the last major editing step such as creating a track or modifying events. Parameter changes such as adjusting the level of a track/channel are not regarded as an edit step but still count as a noticeable change within an interval.

How It Works
Overwrite Cycle

  • If the maximum number of files has been reached the oldest existing file with the same name as the currently opened project will be overwritten. Bak files with a different name than the currently opened project remain untouched (1st Session - Min 70, 80 ff.: column bak deleted).

  • Important: All bak files with the same name as the currently opened project remain in the Override Cycle and are still at risk to be overwritten even if they were created in a previous session (2nd Session - Min 20,30). The only way to permanently protect bak files from being overwritten is to save the current project under a different name with a Save As command (see below).

Save Commands
Save

  • Temporarily secures all newly created bak files of a session. These bak files remain in the Overwrite Cycle and are still at risk to be overwritten later on (1st Session - Min 81: A-03.bak and A-04.bak are about to be overwritten).
  • Updates the current cpr file and protects associated files that have been created so far e.g. audio events and MIDI parts.

Save As

  • Permantly saves all remaining bak files with the current project name because a new series of bak files with a new project name will be put in the Overwrite Cycle instead (1st Session - Min 101: A-05 - 07.bak are permanently saved).
  • Creates a new cpr file and protects associated files that have been created so far (e.g. audio events and MIDI parts).

Deletion of Bak Files – Quitting a Session Without Save

  • On newer MacOS bak files are not deleted other than by being overwritten due to the Overwrite Cycle. Quitting a project without a Save command will not result in losing bak files.

  • On Windows and older MacOS, however, all newly created and unsaved bak files will be deleted by quitting Cubase without Save. For example, exiting a yet untitled and unsaved new project will not only result in the deletion of all bak files but also the loss of the entire project (1st Session - Min 0-30: Exit before the first Save command at min. 31). Another example are newly created and unsaved bak files including those which replaced existing bak files from previous sessions (2nd Session - Min 21: Quitting without Save would result in losing the newly created C-03-bak and C-04.bak as well as the overwritten C-01.bak from the 1st session).

Crash Prodedure

  • In case of a crash all bak files which have not yet been overwritten due to the Overwrite Cycle are kept. They serve as an anchor to revert back to the latest project state. By opening the last project cpr after a crash, Cubase automatically scans the Auto Save folder for bak files which are newer than the selected cpr file and a dialog pops open asking if this bak file should be opened instead. If the user confirms the latest bak file is now turned into a cpr file with an incremental number behind its name (2nd Session - Min 45: the temporary bak file C-06.bak turns into C-1.cpr).

Best Practice
Setting up Intervals and Maximum Number of bak files

  • In a intense phase of a project (e.g. a tracking session with an artist) short intervals can mirror and secure micro steps. In a more explorative project phase longer intervals might be sufficient. Rule of thumb: The interval should reflect the general pace of the workflow.

  • Maximum number of bak files: A first way to approach this question is to calculate the minimum amount of time it takes to create a new series of bak files until they reach the maximum number and are thus at risk of being overwritten one after another. Multiply the interval by the maximum number of bak files, e.g.: An interval of 6 minutes with a maximum number of 10 bak files would theoretically reach the maximum number of bak files within an hour (6 min x 10 = 60 minutes). However, this timespan only represents the shortest possible time span which will likely be longer in practice due to paused or deterred Auto Saves (see How does it work). Nonetheless, this way you will have a ballpark idea in case you are looking for a routine that aims at permantly saving all newly created bak files by executing a Save As command in time. If you don’t want to be bothered and the number of accumulated bak files in your Auto Save folder is not important to you then set the maximum to a high number and make sure to either exit or begin a session with a Save As command.

Starting a session

  • If you start a new and yet untitled project: As soon as it is going somewhere make sure to execute an initial „Save“ or „Save As“ command in order to have a base to build on. Both Save commands automatically open the Save As dialog. A new cpr with will be created and its associated files (e.g. audio events and MIDI parts) are protected. Moreover, all remaining bak files with the name untitled are saved permanently because they are no longer in the Overwrite Cycle. From here on, a new series of bak files will be initiated under the new project name (1st Session - Min 40 onwards: New bak series beginning with A-01.bak).

  • If you open an existing project and you want to preserve the latest bak files from previous sessions then start with a „Save As“ command instead. This way, these bak files will be permantly secured and you can come back to them at any time (2nd Session - Min 10 before C-01 – 03 are overwritten).

During a session

  • Whenever transport is running - Auto Save is deterred. E.g., you are cycling through a loop while adjusting parameters for an hour. Make sure to hit Stop in between if you want Auto Save to create bak files and document your latest changes.

  • If you are looking for a continuous bak file history make sure to execute a Save As command before the maximum number of bak files is reached and the Overwrite Cycle is activated. Set a timer on your mobile phone, insert a free plugin like HOFA 4U Project Time or pin a note to your screen to be reminded whenever a „Save As“ is due to avoid an Overwrite Cycle. Since Auto Save can be on pause or deterred it is only possible to predict the minimum amount of time it takes for an Override Cycle to set in.

  • Know how and when to use Save and Save As commands. Keep in mind:„Save“ will temporarily secure the latest bak files whereas „Save As“ will permanently secure these bak files and keep existing files from being overwritten. Both commands will permantly save the current state of the project and associated files which have been created so far (e.g. MIDI and audio files).

Leaving a session

  • The final Save command is crucial to secure not only the last created bak files on older MacOS and Windows but also to update/secure the latest state of a project via cpr file. Maybe pin a note to your screen or come up with any sort of check routine that works for you.

Differences on Windows and newer MacOS

  • Both Windows and MacOs handle bak files similarly, except for one major difference: On newer MacOS bak files are not deleted other than by being overwritten due to the Overwrite Cycle.

  • Older MacOs with same behaviour like Windows systems: M2 Max with Mac Ventura 13.6.5 (thanks @Babble).

  • Newer MacOS with new behaviour: MBP M3 Max and Studio M3 Ultra 15.x on (thanks @Thor.HOG). Maybe other Mac users can chime in to define the exact MacOS that defines the start of the new behaviour?

Example Project Consisting of Two Sessions

Thanks to @Thor.HOG for contributing and testing on his Macs. This has been a team effort!

Safe projects :wink:

8 Likes

Great write-up!

However, rather than using “Save As …”, I’ve taken to using Cubase “Save New Version”. It’s a faster workflow that way.

And of course, system backups are another vital component of being able to recover from technology or human malfunctions. :zany_face: e.g. All the project versions and .bak files aren’t of much help if there’s an SSD failure. Or if an inadvertent manual folder deletion wipes out the entire project folder.

Also an important workflow - unless money and/or SSD disk space aren’t a problem:

Having a deletion strategy for older .bak files. Either manually on a somewhat regular basis or with a script that can optionally be automated.

Especially with good system level backups, one can potentially be a bit more ruthless in deleting .bak files that have been safely backed up. e.g. if I have daily backups to another drive or server, it might be ok to delete .bak files that are older than 3 days. But careful: the .bak file extension is not necessarily unique to Cubase. And other file names may contain the letters “bak”, so if doing a search and delete, one wants to be sure, that it’s not deleting other stuff.

3 Likes

Thanks @Nico5 !
Indeed, technically speaking “Save New Version” works the same way like “Save As” with regard to bak files. I focussed on “Save as” because another additional layer of incremental version numbers on incremental bak file version numbers would have been overkill to explain. But you’re right, of course, that’s faster than Save As and somehow I totally forgot to mention it…

Bak files can be real life saver in case you need them. They fill a very specific gap within the different safety layers that Cubendo offers. Each of these layers is important if you want to be on the safe side, I totally agree!

If one knows how to correctly handle bak files they are a really powerful feature. But getting there - definetly a trip if you rely on the manual alone. Unfortunatly, the manual forgot to mention many of the relevant details so I thought I jump in and share :wink:

3 Likes

Good work. Being a software dev, I appreciate the work of a good BA. (Or maybe you are a software dev, who also appreciates a good BA!)

1 Like

I would just comment that auto-save is not a replacement for the user hitting save, save as or save version. and disk backups.

I could never trust any automated action for something so crucial, and the forum has many posts from people who lost work because they only used auto-save. It is truly unfortunate that the manual does not include this info.

And I apologize to you @Reco29, you and the others have done a ton of work here, but it’s not easy to understand, in my opinion, for a new user or even an advanced user.

I do use auto-save – in my view it’s a safety net for when Cubase crashes or the power goes off, or similar catastrophes.

I view *.bak files as not user-focused project files. I concluded that upon learning eons ago that they are deleted when when you close a project and choose not to save it. This to me showed the developer’s intent, regardless of documentation.

Auto-save saves the current project, it’s really just that simple. It does not work when the transport is running, nor when there are no changes to be saved.

And, there are times when using auto-save is near impossible, for example in a giant project, or where some plugin slows down the saving process – then, you’re in the middle of an edit and now you have to wait for a file save to finish it.

In my view the best workflow is to make a habit of invoking a save command by hand frequently, and to have a proper file (disk and OS) backup system. A workflow like this ensures one does not lose work.

5 Likes

First of all, awesome research and writeup of the autosave functionality, thank you so much for that!

In the end, I’m with Steve here. The autosave functionality is great in case of crashes etc., but you really want to checkpoint your progress manually at key points in the evolution of a project (say, when you’re sending interim mixes to others) by doing a manual save, and then storing a history of those manually saved CPR files.

This checkpointing is orthogonal to any backup regimes you hopefully have implemented, whether that’s system-level backups and/or file-level backups.

I personally have my Cubase projects backed up in six different locations (on premise on a variety of mediums and off premise in different cloud geographies) at different backup frequencies, so I can easily deal with ripple deletes etc.

This might seem overkill but if the cost of losing one of those files is high, you’ll thank me later :slight_smile:

1 Like

Thanks @Dave_Thomas , @steve and @Timo00 for your kind words, much appreciated.

Actually, I’m totally with you all when it comes to the Auto Save functionality and its place within an overall security/backup routine.

Auto Save is not meant to be a replacement for proper backup routines. Everyone who has ever experienced a fatal project crash with a very strict deadline looming over their heads (e.g. air time being booked) will not rely on bak files alone. Given they don’t want to tempt fate.

If only it was as simple as that… It’s not working like this on newer MacOS for starters. Moreover, there are routine based exceptions, too. Unfortunatly, none of this is documented in the manual. The reason why I started to write these things up was the lack of documentation on this topic and numerous threads about bak files which keep on showing up in this forum. If I had known that this was such a rabbithole…anyways, I started it so I thought I finish it and share.

Absolutly, that was my best practice recommendation with regard to bak files, too. Saving not only the project but also the entire system via proper backup routines is key, no doubt about it. But that was not my topic, here. I was merely aiming at filling the gaps and undocumented blind spots with regard to the Auto Save functionality.

Haha, no, I am not. The documentation just got a bit out of hand length wise. I added bits and pieces over a period of weeks whenever I had a little extra time on my hands. That’s all.
Nonetheless, thanks for your kind comment, much appreciated :+1:

On another note: My old ILok2 dongle decided to break, today. I didn’t see that one coming, so much for safety nets. Replacing the Ilok and/or transferring licenses is insanly expensive, time consuming and nowhere near as consumer friendly as handling Steinberg’s licenses. ILok: Piracy against Anti-Piracy. Clever. Or not.

Oh no ! :scream:

Did you have the ZDT coverage?

If yes, I’ll be curious to hear your experience using it - because I keep paying for that every year.

I bought the dongle about 15 years ago with just one license on it. Today I am at around 200. I don’t have ZDT but it seems like it doesn’t even cover shipping costs or a new dongle anyways. I am looking at 120$ for shipping costs to Europe plus 2 to 3 weeks waiting time. Luckily, I have unused activations for most plugins so it’s basically just pricy and annoying.

Very useful Rico. Many thanks. So having got to the point where I want to mix am I better creating New Version and rename so I can delete the midi files which have already been mixed down so I have the orig version with its bak files with midi and the new one which will create new bak files with just the audio? As you have probably gathered i am not quite in your league yet lol.