ModPlug Central

OpenMPT Development (Archive) => Feature Requests => Topic started by: Skaven on August 08, 2010, 13:53:23

Title: Collaboration / Merging tool(s)
Post by: Skaven on August 08, 2010, 13:53:23
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.
Title: Collaboration / Merging tool(s)
Post by: Saga Musix on August 08, 2010, 14:10:14
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?
Title: Collaboration / Merging tool(s)
Post by: 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!
Title: Collaboration / Merging tool(s)
Post by: Rakib on August 08, 2010, 14:41:32
How about save and load pattern(s), could it be an easier way to approach this problem.
Title: Collaboration / Merging tool(s)
Post by: Skaven on August 11, 2010, 08:37:02
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.
Title: Collaboration / Merging tool(s)
Post by: Rakib on August 11, 2010, 14:40:32
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.
Title: Re: Collaboration / Merging tool(s)
Post by: Saga Musix on March 12, 2013, 00:12:23
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
Title: Re: Collaboration / Merging tool(s)
Post by: Saga Musix on March 10, 2014, 17:11:14
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...