A NOTE has been added to this issue. ====================================================================== https://tim.klingt.org/mantis/view.php?id=22 ====================================================================== Reported By: mescalinum Assigned To: tim ====================================================================== Project: nova Issue ID: 22 Category: gui Reproducibility: N/A Severity: feature Priority: none Status: assigned ====================================================================== Date Submitted: 09-16-2007 21:11 CEST Last Modified: 09-17-2007 12:31 CEST ====================================================================== Summary: [feature request] networked collaborative patching Description: many programs are moving towards this conception of collaborative work. also you are on the easy way (I hope) because your young and new project, and things are more facilitated by the gui/server separation.
basically the concept is: N users participate to a patching session. every user uses a different machine, so there will be one gui and one server for each user. the operation of one user is reflected in the patch of all active participants users. to achieve this users connect to a network server - let's say a IRC-like server for convenience - and every action a user does, is broadcasted to all other guis through the IRC server. this enable people to collaborate on works, work together even when distances are big, do jam sessions and more I hope you like the idea, and be able to implement it. I'm here for any hep you might need. ====================================================================== ---------------------------------------------------------------------- tim - 09-16-07 22:03 ---------------------------------------------------------------------- i have an idea, what you are trying to propose ... it reminds me on the netpd patches ... in principle, this could be done in nova, but i guess, the way to go would be to provide the necessary means that this can be implemented ontop of nova ... i don't think, that it would be necessary to implement in inside the core ... the question is, what would one require in the nova language to implement a system like this? possibly only dynamic patching and network io ... ---------------------------------------------------------------------- mescalinum - 09-16-07 22:58 ---------------------------------------------------------------------- yes, it is inspired by netpd, but one step beyond. netpd requires patches being developed using netpd abstractions, and with a "restricted" set of "interaction" (what is broadcasted is just what comes out of iemlib guis) what I mean is instead: a user press CTRL+1, create an [osc~], connects it somewhere. other users should see exactly these three steps happening in their patches. I also tried adding this functionality in desiredata, using freenode server and Tcl irc library (if you were on #desiredata in the past week, you could relly have enjoyed :)) but what I discovered is that the pd protocol (and also the desiredata protocol, despite the efforts made by matju & chun to remove any track of gui in the server process communication) still is not suitable for that. it exchanges too much stuff about gui, pointers and so on with the server, and it is too much LOW LEVEL before starting, I tought the pd client/server protocol could have worked something like this (just a pseudo protocol): create_obj x,y "osc~ 100" move 0 x,y connect 0 0 1 0 rename 0 "osc~ 200" ... instead what I discovered made me give up this stuff, waiting for matju eventually rewrite the protocol split in layers, or with a semantic meaning suitable for such job about pd: as far as I know, this would NOT be possible also in pd with [tot] and alike... but may be I am disinformed about.... I hope now you understand the point/issue anyway, you don't like the idea, simply you don't have to care about that. perhaps I made wrong suppositions about nova's internals ---------------------------------------------------------------------- tim - 09-17-07 12:31 ---------------------------------------------------------------------- there has been quite an active discussion on the nova-dev list about it (feel free to join) the way that you propose could actually be implemented as an _additional_ gui client, as nova provides the means to use several independent gui clients with the same server ... i could think of something like this: - everybody runs the normal nova client/server on his machine - everybody runs an additional communication client on his machine this communication client "observes", what happens in the running nova instance and synchronizes is with a global session server. this session server synchronizes all communication clients ... this could be implemented in a minimal intrusive way independent from the rest of nova, it might even be possible to implement it python external :) Issue History Date Modified Username Field Change ====================================================================== 09-16-07 21:11 mescalinum New Issue 09-16-07 21:11 mescalinum Status new => assigned 09-16-07 21:11 mescalinum Assigned To => tim 09-16-07 21:12 mescalinum Issue Monitored: mescalinum 09-16-07 22:03 tim Note Added: 0000019 09-16-07 22:03 tim Priority normal => none 09-16-07 22:58 mescalinum Note Added: 0000020 09-17-07 12:31 tim Note Added: 0000021 ====================================================================== _______________________________________________ nova-dev mailing list [email protected] http://klingt.org/cgi-bin/mailman/listinfo/nova-dev http://tim.klingt.org/nova
