Networking

Started by nobuyuki, March 29, 2010, 22:46:30

Previous topic - Next topic

nobuyuki

What, I can dream, can't I? A way to effectively collaborate on music the same way a program like OpenCanvas allows users to collaborate with art would be ideal.  Besides that, it was fun wasting all morning making this in winforms  (Click for a larger view):



Most of the network interfacing windows are inspired by OpenCanvas, with some added extras to make it easier to figure out what other people are doing, and less likely to step on each other's toes.  Here are some of the changes:


Chat - Mostly self-explanatory.  Once networking has begun, a chat dialog pops up showing who has joined the session and who has quit.  Notice that the userlist has a marker for users who are not you.  These are color-coded markers which change the colors in the main window's interface (Patterns, samples, etc) to show where each user is when they're working.

Patterns Window - Color-coded markers indicate where the other users are currently tracking, as well as a small arrow indicator by the pattern they're in, if you're not in the same pattern as them.  Right now, the orderlist can be changed by anyone, but perhaps a lock or vote system should be put into place so that orders don't get changed in a weird way by accident.  

Channels are locked, and can be unlocked easily using the context menu so as to share your channel(s) with other users.  Otherwise, by default, each user gets their own channels dedicated to themselves, which are color coded in the window by the user's label.  New channels are locked by default and color-coded by the owner.  Similarly to OpenCanvas, starting a new mod from scratch sets X channels to each user by default based on the number of users available (for example, 2 users with 8 channels each will automatically give the host 8 channels and lock the last 8 for the next user who joins to be automatically assigned to).

Shared Samples - This toolbox helps maintain resources inside the song.  On opening an existing song without networking metadata embedded, the host gains ownership of all resources by default.  As the owner of a particular resource, hitting the Unlock checkbox shares the resources with any other user who also checks the box.  The user can then alter the sample or instrument.  Status shows what action is currently being taken on a resource.  Switching tabs or Unlocking once again commits the resource to all users. A resource being updated by its owner will always be locked, as well as all resources with transfers in progress.

History - It is a simple log which shows recent activity from all users.  Import, Export, and Filter options should also be included, but aren't shown in this mockup.  The History log allows a user to review changes that were made while inattentive or idle, as well as proposed changes that were done without forewarning.

Rakib

Don't think this will be implemented anytime soon, but I was thinking about something same but inside a browser with google wave, there you already have some great abilities to collaborate on many types of projects.
^^

nobuyuki

the key to implementing big stuff is to spec it out first, which is why I enjoy making huge posts and long, detailed interface mockups to go with features that would require these sorts of things in order to be anything but a moonshot.

Rakib

^^

Really Weird Person

Collaboration sounds like a neat concept, but that probably would be difficult to implement. No one would probably want to collaborate with me. :lol:

uncloned

Quote from: "Really Weird Person"Collaboration sounds like a neat concept, but that probably would be difficult to implement. No one would probably want to collaborate with me. :lol:

the fear there would be having to come up with a 1,024 pattern section.

Really Weird Person

Quote from: "unclosed"the fear there would be having to come up with a 1,024 pattern section.

With what I do, this would be no joke. It would likely be a bare minimum. In fact, I have some sound effets that I downloaded and have in the form of a "song." The length of the "song" so far:  1,189 patterns

There are currently 1,183 samples split into ten instruments (by using all 120 notes in all of the instruments except #10). The sample and pattern quantities may change at some point though.

uncloned

actually I'd love to hear something like that.

its is an incredible and unique extreme for a tracker.

could you post an mp3 someday?

Really Weird Person

If you were thinking that it was going to be something like this, you would be disappointed. That would be a neat thing to do, but it would take quite a bit of time to do.

Saga Musix

As a part of my master thesis, I will try to add collaborative features to OpenMPT. Stay tuned, but don't hold your breath. ;)
» 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.

LPChip

I wouldn't dare to hold my breath... I fear suffocation. :P
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

monsterovich

I've seen that in my sweet dreams...

Saga Musix

#12
For my thesis, the collaboration feature has to be evaluted in some sort of user study. This will happen in November, and it seems like a study with existing OpenMPT users would make the most sense. For this, I need about a dozen volunteers who want to give it a try and then fill in a questionnaire. The details are not known yet, but you will most likely have to set up a collaboration session with me over the internet, and I would need to see how you are handling the program (e.g. through a Skype call with screen sharing). Please let me know if you're interested in joining this study. The evaluation should be doable in under one hour.

Currect source code for this feature is available at https://github.com/sagamusix/openmpt/tree/networking
» 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.

monsterovich


Saga Musix

No. You will get them for the evaluation if you're part of the survey.
» 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.