On 12/7/23 10:14, Lorenzo Sutton wrote:
Not a direct solution, but for some projects I (mis)use git. And I also use it for related Yoshimi sate files as I'm often tinkering with sound and then re-consider, but saving different file names is cumbersome.

Yes, git isn't theoretically made for binary files, but the file size orders of magnitude are relatively small and the commit metadata helps :-)
I use RCS, for two reasons. One, that more complex revision control systems like git offer little advantage when used for a single Rosegarden file as opposed to "projects" with multiple files. And two, because RCS stores only the differences between file versions rather than each complete version separately, as does git.

This is partly a conceptual preference for me. I have decades-old source files, with hundreds to over a thousand revisions, for which the RCS file is typically only twice the size of the current working version. And others, like log files which only get appended to, where they're only slightly larger due to the included metadata.

Of course this isn't an issue given the small size of Rosegarden files compared to modern storage capacities. Also git compresses its individual revisions, although that probably doesn't do much here because Rosegarden files are already compressed by default.

To partly address the issue, I added a "Save .rg files uncompressed" option in my rosegarden-fork. It defaults to false/off for user experience compatibility sake, and all versions of Rosegarden load either compressed or uncompressed files transparently. It also doesn't help much with RCS because the order of elements in a Rosegarden file tends to be pseudo-randomized (add one note in the middle of a composition and a large portion of even the uncompressed .rg file changes).

But the larger idea behind all of this is a future feature I'd like to see in Rosegarden: The ability to "diff" two versions of a composition. Load two different files -- either two revision control versions, or any two arbitrary files -- and visually show the differences between them. Something like highlighting the parts/measures/notes that have changed, in the track/notation/matrix/etc editors.

Of course this is mostly applicable to sequencer/MIDI tracks, and wouldn't work for audio tracks that have been separately recorded.




_______________________________________________
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user

Reply via email to