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.