Theoretically it would synchronise 2 or more Renoise clients, then watch for changes made to pattern, instrument, dsp,etc data. These changes would be updated to connected clients.
2 people ( User A and User B ) start up Renoise and each load up the same song with 1 pattern in it.
The network driver starts and synchronises the host with the connecting client. All relevant song data (instruments,patterns,dsp,etc) is checked and verified against the host upon connection. Input is halted and an “Synchronising” message displayed while the check/verify song data routine is run against the host and new client. After the song data is checked/verified then tracking can begin.
User A then loads Native Instruments FM7 VST into the instrument list. User B network driver sees this change and adds FM7 to the instrument list.
The network driver would check for existance and version of FM7 on User B’s client, then add FM7 if everything is ok. If User B doesn’t have FM7 or the version is different, alert appropriate warning and/or deny addition of FM7 to User A. If it checks out, the VST is added and tracking can continue.
As notes are inputed and patterns are added/changed, data is updated to the clients.
I imagine added samples would have to be verified similar to adding VSTs (filename & filesize perhaps). Prior to connection there might be a map of all available samples created per each client. The list of VSTs Renoise keeps could be used for host/client checking of VSTs. When samples or VST are added by any a client, other clients can check their map to see if the vst/sample is available.
Duplicate filename/filesize of samples could be an issue here (ie: Joe has snare.wav at 5k which sounds different than Bob’s snare.wav which is also 5k). One possibility could be, like Taktik mentioned, transfering samples. This could, however, pose it’s own problems such as some monkey adding a 300mb sample wrecking bandwidth havoc to all clients. Transfering samples is not a bad idea though probably not needed till later. There could be a sample filesize limit setup with the host. Transfering VST is probably not feasable and wouldn’t be expected.
Impulse Tracker always scattered those .ITS files all over the drive, maybe this had something to do with it’s Network Driver?
Functions such as playback and file saving would all run independently with no need for network communication. A chat server with channels would be a nice feature but initially you could just grab mIRC or an instant messenger. Benefits of having a chat server would be to be the ability to exchange messages inside Renoise, while tracking, without having to tab out to another program. A program such as Skype with voice conferencing could be used while using Renoise.
Sending RNS files via email is a simple solution but not quite the same as tracking realtime with other trackers over the internet. I don’t mean to get into comparing which features are more important and don’t claim this to be a high priority feature. I’m aware the Renoise team is very busy with many very needed features and bug fixes. This would just be an awesome, “fun” feature to see someday.
That looks like it might be along the lines of what I’m thinking of. I Didn’t get to read it all but perhaps more programs than Fruity Loops and Impulse Tracker will have these kinds of features in the future?
If this could be done it would seem like an incredible advantage for Renoise!