That’s a feature I’ve dreamed of back when I was working on Hydrogen (GPL’d multiplatform drum sequencer), since I used to work on tracks with friends, but they moved to different cities - no idea how hard it would be to implement, though:
Basically, I’m talking about “online multiplayer” - two or more people connecting over the net to work on the same project at the same time. Everything one user changes will be instantly visible/ audible to every other user, samples one user loads will be copied to other connected users etc. VST/ AU plugins obviously won’t, but , you can talk about what both/ all users need/ have before loading a plugin so that shouldn’t be an issue. If users decide to continue working on a project on their own, the next time they connect, all other users will be able to preview the changes and decide to sync the project or revert to/ use their version. I don’t think there’s a need for advanced communication features, simple text chat should be sufficient - for voice chat, there are more than enough external cross platform applications like Skype or Teamspeak.
Another feature I’d love to see would be versioning (incremental saves with some additional metadata, stored in a “virtual directory”), but that’s probably something for a different post.
Been thinking about this too, far from completed/which tools to use, but it should be do-able for somebody with sufficient knowledge about it - it can even be done outside Renoise!
Basically, my idea went like this:
User A creates and saves a new song. When he exits the almighty Renoise, software B pops up or something, asking if he wants to ‘publish’. Publishing basically means: extract the software using unpacking tools (since XRNS == native ZIP format (confirmation?) )
After that, the unpacked folder will be uploaded to a specified server/host using FTP, and the magic just happened. If user B want to download the uploaded song from user A, all he has to do is download the folder, and compress it (with the XRNS extension of course… )
Guess it’s way easier to talk rather than actually doing it, but who knows.
Of course, there will always be a few glitches: VST’s/VSTi’s/AU’s won’t work, since they aren’t included in the XRNS. Basic hosting packages (100 MB data / 2 GB traffic) will get overflooded by this… But hey - it’s basically SVN for Renoise songs.
Nothing suggested so far is even remotely similar to what I proposed. I’m talking about working on the same project, at the same time. Not consecutively. And Ninjam simply streams the sound, the actual project isn’t in sync.
Yay, it’s the songdisk evolved! Having some “diff”-like functionality would be very handy, but such a tool should show patterns, instead of XML data.
And since I have this bad habit of saving my songs into so many versions that I sometimes loose track, I actually like this crazy idea. And I happen to have a 200gb hosting account that can host haxx-rns projects.
Although haxx-rns itself isn’t completely functional yet, I think the idea is worth discussing
Unfortunately, we need a full-fledged Renoise API to achieve this. But until then…
Impulse Tracker 2.15 had an IPX driver that allowed you to track on the same work all together.
I never used it though…
But with MID2NET you might also come somewhere.
Anyway:projects are never synced across the network, you always have delays like 20 to 40ms (if you are close enough to eachother that is!).
So if you would like to perform such project, a routine also would need to lock patterns or tracks which are being edited by a person.
Samples and instruments are only maintained by the creator. When using a VST in the project, the audio will have to be streamed.
All these kind of limitations always stick around unfortunately.