Collaboration / Merging tool(s)

Started by Skaven, August 08, 2010, 13:53:23

Previous topic - Next topic

Skaven

I've started collaborating with another musician to get this big project going faster, and also to get a breath of freshness into the music style.

Anyhow... we've been sending new versions of the music to each other, but its a bit tricky if only one of us can work on the song at a time. I've done some merging by, say, copy-pasting patterns from one .mptm to another, but all in all, if one of us does some little tweaks here and there while another is working on their own version, it can get a bit tricky to update the changes. And to keep things from breaking down, we have to be strict about any instrument changes (only one person should be allowed to do those).

Now... I know this is a large and tricky thing to implement, so don't consider this an actual request, just a "playing with the thought" thing.

So; what collaboration and merging would require, I presume, would be:
- Giving all the samples, instruments, patterns and sequences their own "last modified" date/time stamp
- Comparing two .mptm files
- Applying the latest modifications from the source to the destination, if newer

Here's a tricky part: what if I create a new pattern #113 for a sub-tune I'm writing (the first free available slot happens to be #113), and in the meantime my collaborator is creating another sequence and also creates a pattern #113 for something totally different? How would you go about whether to merge that pattern as a new pattern, or replace the existing #113 in the destination? GUIDs?

Yes... this is bound to get quite complicated, so this is low priority. Just thinking out loud here.

Saga Musix

As a first step, it would probably be handy to allow copypasting more than just one pattern at a time. It's possible to copy a whole selection of order items, but that only involves the pattern numbers, not the actual pattern data. Copying several patterns at once would at least allow merging two songs quickly. Maybe something like a sequence import/export would be handy?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Skaven

Yeah, copy-pasting multiple patterns at a time, as a sequence, sounds like a good idea. +1!

Rakib

How about save and load pattern(s), could it be an easier way to approach this problem.
^^

Skaven

Quote from: "Rakib"How about save and load pattern(s), could it be an easier way to approach this problem.
How exactly? Do you mean saving all the patterns of a song to a file, or just the selected ones?

I've usually done my merging by running two instances of OpenMPT side by side. I know one instance can open multiple songs, but I found it's easy to get the two songs confused in the Tree View. I have dual monitors, so two instances work great for merging.

Rakib

Just the selected ones. Like save this selection.

Lets say you are both working on pattern 15-17 and you want to listen to what your friend are working on, so then then selects those pattern and save it a file and sends it to you and you then load the file in your song but then it gets some other pattern numbers.
^^

Saga Musix

Quote from: Skaven on August 08, 2010, 14:37:18
Yeah, copy-pasting multiple patterns at a time, as a sequence, sounds like a good idea. +1!
This is now possible: http://sagagames.de/stuff/mptrack.exe
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Saga Musix

For a related request, I'm currently toying around with a module merging functionality. Unlike pure pattern copy&paste, this will also import all instruments, samples and plugins from another module. I guess it's not really useful for collaborating, though, unless you want to merge two completely different modules with different instrument sets...
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.