Skip to content

Conversation

@Jan125
Copy link
Contributor

@Jan125 Jan125 commented Oct 8, 2025

Each autosave now adds a patterned file based on the time, to have a version history of sorts.

I wager that people who have autosaves turned on will not be affected by too many files.

Each autosave now adds a patterned file based on the time, to have a version history of sorts.

I wager that people who have autosaves turned on will not be affected by too many files.
@Jan125 Jan125 force-pushed the versionedautosave branch from 48327b3 to 3d3ce31 Compare October 8, 2025 21:01
@sakertooth
Copy link
Contributor

I wager that people who have autosaves turned on will not be affected by too many files.

I think there are users that have autosave turned on, but do not really care for the entire history of the project each time it is saved and would only want the latest version.

@JMii63
Copy link

JMii63 commented Oct 9, 2025

I wager that people who have autosaves turned on will not be affected by too many files.

I think there are users that have autosave turned on, but do not really care for the entire history of the project each time it is saved and would only want the latest version.

maybe there could be an option to choose between the entire history of the project to just the latest save. Maybe like the past 3 saves could be kept. The user would be able to choose, however.

Main: Add m_modifiedautosave flag to reduce autosave spam for previous versioned/timestamped autosave commit.

Side: Remove weird Song *song thingy with the intended code.
@Jan125
Copy link
Contributor Author

Jan125 commented Oct 9, 2025

I'll see if I can understand the option stuff and GUI, and will add a checkbox next to enabling autosaves next.
Unsure if I trust myself with adding only keeping a specific amount of autosaves.

@JMii63
Copy link

JMii63 commented Oct 10, 2025

I'll see if I can understand the option stuff and GUI, and will add a checkbox next to enabling autosaves next. Unsure if I trust myself with adding only keeping a specific amount of autosaves.

i mean like a slider that goes between keeping only the latest save and keeping all saves.

@headquarter8302
Copy link
Member

Would adding an autosave file limit be too much for this PR? I agree that many users wouldn't mind having a ton of autosave files lying around, but having LMMS clean them up with a set limit should be a consideration. Plus, some users do mind their file counts

image

@irrenhaus3
Copy link
Contributor

Having a full version history would be very helpful (and eventually obsolete the "Save as new version" action), so I'm very much on board with this.
I did a quick ls -lRS on my LMMS project folder and the biggest project file I have is around 100kB (and that one's an outlier, the average is around 40kB).

So my most conservative estimate on my machine is that, if all project files were that big, the size of all version history snaphots would be around 60MB per project after 10h of work at one autosave every minute. Not too much overall, but significant enough that a cleanup function would make sense.

I see an issue with the idea of making this a GUI slider that the user can modify at any time though: Let's say you already have a project with a version history of 100 files, then you change that GUI slider from "keep all files" to "keep the last 3 versions" and then you open the project with that full history. What happens on the next timer-triggered autosave? Does the version history get wiped out?

-Add a toggle for versioned autosaves, checkbox in Performance->Autosave section.
-Make the timestamping easier to read.
-Make timestamp not use miliseconds. (Overkill.)
-Formatting fixes.
@Jan125 Jan125 force-pushed the versionedautosave branch from 9e4ac26 to 247308a Compare October 24, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants