Collaborative editing and version management

• Sep 20, 2020 - 05:24

I'm wondering what is the best practice for collaborative editing and version management with Musescore files. I know .mscz is essentially a zipped XML. Theoretically I can just use git to manage version of the XML file and enable others to fork and commit change to it. Does anyone have any recommendations on this topic? Or if Musescore in the future will support such features (e.g. resolving merge conflict), file "bug report" for scores, etc.


Comments

There is nothing in place to automate this, but there has been some thought given to these issues, and it's certainly not out of the question that more collaborative editing features will be added over time. See in particular https://musescore.org/en/MuseScore4.

Meanwhile, some observations:

MSCZ is indeed just a ZIP archive of a MSCX file and some supporting files (like any images you've inserted into your score). You can actually save as MSCX directly, I'd recommend that over messing with zipping/unzipping files.

MuseScore 3 introduced some pretty significant changes to the MSCX format that were designed in large part to make the scores more "diffable". So, measure numbers for instance are removed for the most part, so that inserting or deleting one measure doesn't cause everything else after that to show as different. The score comparison tool (see View menu) takes advantage of this, but it should also make management of MSCX files via Git or other revision management tools work more smoothly - fewer merge conflicts.

Of course, collaboration using something like Git requires all collaborators to understand the mechanism. Ideally it would be more Google Docs live, with live collaboration that "just worked".

Personally I collaborate with myself all the time - working on the same score on multiple computers. I keep the score on Google Drive and don't use any special revision management, I just make sure when switching devices that I reload any open scores I modified on the other device.

In reply to by Marc Sabatella

@Marc. How do you sync settings between machines?

I also collaborate with myself on two computers keeping the scores on a NAS drive. I keep things sort of synced manually as it is not clear to me which settings live "in the score" and which live "in MuseScore" and whereabouts the things that live "in MuseScore" can be found to sync them.

In reply to by SteveBlower

Settings, as in program preferences the things that are not part of the score? I don't, really. I have different customized workspaces on each, different keyboard shortcuts customizations, etc. This is actually necessary because the machines have different keyboards - shortcut customizations that make sense on one don't necessarily make sense on the other. Although I do wish I could easily synchronize the settings that are common.

Not sure which settings you have trouble associating with the program vertsus the score. Most should be obvious enough - if it affects how the scores look when printed or sounds when exported to audio, it's generally a score setting. If it only affects how the program behaves, it's a program preference. A bit of gray area for things like soundfonts that affect playback but are not saved with the score because that would make switching between scores too slow. Also, continuous view is a score setting for no really easy to explain reason other than people seemed to want it that way.

In reply to by SteveBlower

Preferences are stored in an INI file in some file in a OS-dependent location, probably AppData for Windows? So you could in theory copy that. Might not literally make as much sense as you might think, particular if their screen resolutions differ - there might be differences in default font sizes, default positions of dialogs, plus there could be different pathnames to default folders, different recent scores, etc. But wouldn't hurt to try, if you are sure to save the original version to restore if something goes bad.

Shortcuts

Do you still have an unanswered question? Please log in first to post your question.