Re: Saving projects

mark_at_yahoo via Rosegarden-user <rosegarden-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Newsgroups gmane.comp.audio.rosegarden.user
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.