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