[done] Autobackup "Save While Playing" Behavior

I am configured to backup songs every 30 minutes, up to 3 backups and not backup while playing.
The location is “near song”.

This configuration is not something I have created in Renoise 2 - it was automatically imported from my 1.9.1 install.

It did not seem to work for me, or at least not working as before - there is no “_backup” older.

Was this functionality changed, or is this a [known] bug?

With this configuration its simply very very unlikely that backups are saved at all.

every 30 minutes:

  • check if the song is modified
  • if its modified, check if you are not playing the song
  • if you are not playing the song, save a backup
    -> wait again 30 minutes and repeat

You should use something like 10 minutes or 30 minutes with the “backup while playing” option enabled

Well, this configuration worked in 1.9.1.
The logic I would expect is this:
every 30 minutes:

  
If( Song is modified ) {  
 If( Playing ) wait until playback is stopped  
 Save song  
}  
  

If it is working as you described this is even more worrying.
It means that the “dont save when playing” function is very problematic - it can mean that backups are not saved at all for hours and hours, even if it is set to save every 5 minutes.

Also, changing the backup interval to a short time can be very space consuming - since you would want to save much more than 3 backups in this case.

Consider the above logic proposal, I think it is much safer.
If the song is playing, Renoise should not wait another 30 minutes, it should raise a flag that will cause a backup to be generated on the “OnStopPlayback” event.

It worked exactly the same way in 1.9.1. The only difference in 2.0 is that backups are now not saved when song was not modified since the last backup. 1.9.1 always saved backups in the specified interval as soon as you haven’t saved the “main” song.

No, that would be also annoying. If you just want to quickly stop and start playing again you dont want to wait for a backup. If we do something like this then the backup interval should be shortened to lets say 1 minutes as soon as the regular interval detected a change but the song was playing:

  
Every BackupInterval minutes:  
 If( BackupSong is modified ):  
 If( NOT Playing OR SaveWhilePlaying ):  
 Save Backup  
 Else:  
 Every ShortBackupInterval minutes:  
 If( BackupSong is modified):  
 If (NOT Playing)  
 Save song  
 Else:  
 break  
  

Obviously, it is your call.
The thing is this:

A. If you stop playback, just in order to start it again, and in that split second, the backup is starting - you (as a user) have a choice - increase the backup intervals. Otherwise, I think it is completely acceptable that every once in a while (30 minutes in our example), Renoise will stop for a second, to do what YOU (the user) asked it to do - save your song.

B. I was quite panicked, when I looked for a backup of a song I worked on for three days, and could not find ANY. The folder itself was not even created. This is - I think unarguably - a bad behaviour. You think you have backup turned on, and yet, it was not delivered to you. It means that for three days, whenever Renoise wanted to save, I was playing the song - which is of course no surprise, since Renoise is used to play songs… :)

Luckily, Renoise saves many “undo” steps - so I used it to go back to the non damaged version, and saved it with another name, then used redo and copied the damaged patterns from one song to another.

Maybe there is a hidden bug there, or maybe my tracking style revealed an issue that is not noticed by others - I dont know.

Ok, taktik - something is definitely off with this backup change.

A couple of hours ago, I enabled the Save while Playing and continued working with Renoise.
No backup folder was created at all.

Now, it can be one of two things:

  1. I am used to pressing Ctrl+S every few minutes, to save my work. I still expect a backup copy to be created for me - since the fact that I saved the file, does not mean it is a good save. So if the behavior is changed to NOT save a backup if Save was initiated by the user, I think this is a bad behavior.

When I enabled the “backup every 30 minutes, with up to 3 copies” feature, I expected to always have three backup songs created in the last hour and a half.

  1. I am starting Renoise by double clicking a shortcut to an XRNS file. So, if the above is not the case, maybe there is a bug related to the fact that I start it like this? Long shot but thought I’d mention it, in case Renoise tries to save a backup but does not know where due to some path or working directory issues.

I really see no reason why it should save a backup in such cases. The backup is though as a fallback for Application/Computer crashes.

What do you others think about this?

Maybe you are looking for a quick and easy “save a new version” feature as you have it in for example photoshop?

Let me more this to the suggestion forum, as this obviously needs discussion…

Backup to me is not only for computer crashes. It is a version to revert to, no matter what the reason is.
Personally, I found myself using the backup files a lot and not because of crash reasons.

Imagine this:
You work on a song, and do some damage that you do not notice (for example, delete unused patterns that you needed, or paste over an important pattern, or anything else) then you save it and close Renoise.

In this case, there is no way to revert and your changes are lost forever.

This is the purpose of backup for me - not only crash protection, but also a short version history.
I do not think this should be a separate feature.

If you have no intention of bringing back the functionality as it was in 1.9.1, then at least I would love to have a button that forces the creation of a backup - for example Ctrl+Shift+S. This should also obey the maximum number of backups.

This is done now and should, unless you never rarely stop your songs, solve your problem…

Thanks taktik, thats excellent.

Hey, I did this manually all the time: saving a song into two separate files rotary. How nice this can also be accomplished using the auto backup functionality!