Multiplayer Renoise

Just curious here… as to how hard it would be to mirror song data in two Renoise instances over a network. Wouldn’t need to make the song play on both machines at the same time… just update the song as each person edits it. Could even add pattern check-out functions, or lock resources from editing… add a chat function, and some indication of what the other person is editing. I’m thinking 2-player… but more might be fun as well.

This is just a theoretical feature idea… I’m interested in hearing what the devs have to say regarding the complexity of such a feature.

What I would like is that it is easier to sync two pc’s with renoise together (over network), so one being the master who tells when to play and tells what the BPM is, and another as slave.

The way I do it now is with virtual midi cable and Wormhole (VST)… It works, but it can be tricky at times.

I’m thinking primarily of collaboration here… but yeh

I think XRNX format gives enough. U wanted additional service, i dont really think that its a good idea, just becouse of all limitations of working via network…u can easely use skype or something for this…what i really need - its translator in my head…what the devs have to say? =)

It wouldn’t be network intense at all sodiufa… it would simply be a matter of sending an updated XML to the other instance of Renoise when a change was made… or sending updated samples when those were edited. Wouldn’t even have to be realtime if it was using a checkout system.

until the 2 renoisers disagree on something, cue endless delete, undo, delete, undo … etc :lol:

And that’ll happen sooner than later. Ha ha. :lol:

That’s a very good idea. E.g. the Reaper community has the so called “ninjam” stuff. They can jam and collaborate over network and so on.
Seems to be pretty similar to your idea.

I’d like to see that for Renoise, but maybe a first solution would be
something like shared clipboard over network (e.g. “synergy” )
In that case you could exchange XML clipboard data.

BTW: what about simple plain Remote Desktop, VNC or XTerminal and so on ?

Remote desktop would only allow one person to edit one part of the song at a time… my solution would allow people to edit and play whatever they wanted without affecting or locking the interface of the other person.

Impulse tracker’s network driver is IPX based, you could mainly collaborate with eachother on local LAN or simply connect another workstation to the network and run two instances of IT to more or less divide power across two physical CPU’s (practically that was where the network driver actually was for). I never used this feature myself (could not afford two PC’s at that time).

Technically speaking, we might be able develop some kind of script that allows us to load and store renoise instruments and the song-file on a server so you have more or less a sort of CVS function to collaborate on a project.
If there is a Lua library that allows to use IRC, there is probably also a Lua library that works with FTP or SCP as well…

So we’ll be able to use external LUA libraries then? … kick ass

I missed this, what went wrong with max4live? Why is it unstable?…xes-for-live-8/

Thnx for the link.

I gotta say that although I am a Live stalwart, v8 has been noticeably crashier than 7. 8.0 crashed reliably basically by just using Follow Actions, which is the main thing I use Live for. QA fail.

Huh … gues that’s not so easy. Reminds me to the problems of version control systems like subversion / cvs. Pessimistic model (with locking) vs. optimistic model (conflicts + solution). Might not be easy to implement such a working model. I suppose the main problems are the locking, the conflicts AND the synchronization of the changed song data. Classicel error prone topics. But not impossible !

I think is this would & could work, slight modifications to the root idea, but overall yes.

I am looking forward to using OSC to sync 2 instances of renoise together over lan. :)

First thing I want to try with lua or possibly just osc is using Nick Collins’s bbcut library for SC3 to populate patterns! :) This is a different story & idea however.

So, I would swear I wrote a post somewhere or at the least wanted to about this actual subject a couple years ago. Essentially everything would be shared, only issue I ran into in my thought process was the sharing of samples. What I came up with was implementing some way of describing instruments into small text documents so renoise could then synthesize them locally.

However that idea is years and years beyond this idea, so the idea became that 1 XRNS is uploaded to a server to be handled by all users logged in, in a blind fashion.

Allowing the users of the XRNS to use their own instruments, essentially creating multitudes of different songs. Which I see it as promising in itself.

Tracks themselves could be locked to specific users, control of the global mix may need to be locally lockable. Instructions like global song settings, dsp chains+parameters and pattern data freely sent in -pseudo-realtime similar to chatting.

some brainstorming for the instrument swapping.
Suggestions for a instrument swap to work upon network.

the 1st gen instrument user would need to okay the send of the instrument, the instrument containing the sample + instrument instructions and a unique identifier for sample slot and no confusion with sample + instruction versions.

this would be for testing samples locally before transmitting them to 2nd gen users. connection speed & user discretion is inherently implied for this situation as the instrument would need to be verified and approved by users.

For possible instrument editing.

-real-time verbose updates on users actions

All Users editing the instrument, what was 2nd gen instrument user instructions becomes 1st gen instructions to be sent to 2nd gen users.

Taking all this into account, a method for direction & cooperation or even topic of the song could be disregarded or implemented.

-Also, charts/stats for user interaction with songs could be privately or publicly viewed on the server, as it is logged.

It gets interesting with the server as the server also could be having a copy of renoise. possibility for constant rendering of blocks and thus playing them in the appropriate sequence as the song revolves. playing either non-realtime through js or streaming This song based on overall user approvals of the user sent data types.

I kinda started feeling I was auto-writing for a bit there so take it however it seems.

Wondering what the process changes would be…
“Free live update”… only one?.. they think they will resolve this with one update?
Man we are already at Beta 4 and 5 still has to be tested…
What kind of Q/A program do they run?