{"id":64,"date":"2014-07-02T11:22:00","date_gmt":"2014-07-02T10:22:00","guid":{"rendered":"http:\/\/www.celesteh.com\/blog\/2014\/07\/02\/communication-control-and-stage-sharing\/"},"modified":"2015-06-19T00:23:01","modified_gmt":"2015-06-18T23:23:01","slug":"communication-control-and-stage-sharing","status":"publish","type":"post","link":"https:\/\/www.celesteh.com\/blog\/2014\/07\/02\/communication-control-and-stage-sharing\/","title":{"rendered":"Communication Control and Stage Sharing in Netowrked Live Coding"},"content":{"rendered":"<p>Collaborative live coding is more than one performer live coding at the same time, networked or not, he says.<br \/>\nNetwork music can by synchronus or asynchornos, collocated or remote.<br \/>\nThere are many networked live coding environments.<br \/>\nYou can add instrumental performers to live code stuff, for example by live-generating notation. Or by having somebody play an electronic instrument that is being modifies on the fly in software.<br \/>\nHow can a live coding environment facillitate mixed collaboration? How and what sould people share? Code text? State? Clock.? variables? How to communicate? How do you share control? SO MANY QUESTIONS!!<br \/>\nThey have a client\/server model where only one machine makes sound.  No synchronisation is required. There is only one master state.  However, there are risks of collision and conflict and version control.<br \/>\nthe editor runs in a web browser because every fucking thing is in a browser now.<br \/>\nShows variables in a window and a chat window and a big section of the text. shows the live value of all variables in the program state.  Can also show the network\/live value.<br \/>\nNow showing collusion risk in this. if two coders use the same variable name, this creates a conflict.  Alice is corrupting Bob&#8217;s code, but maybe Bob is actually corrupting her code. Anyway, every coder has their own name space and can&#8217;t access each other&#8217;s variables, which seems reductive. Maybe Bob such just be less of a twat.  The live variable view shows both Alice&#8217;s and Bob&#8217;s variables under separate tabs.<br \/>\nHis demo says at the top (&#8216;skip this demo is late&#8217;<br \/>\nHow do people collaborate if they want to mess around with each other&#8217;s variables? They can put some variables ina  shared name space.  click your variables and hit the shared button and woo shared.<br \/>\nHow do you share control?<br \/>\nChat messages show in the mobile instrument screen for the ipad performer.  The programmer can submit a function to the performer in such a way so that the performer has agency in deciding when to run the function.<br \/>\nthe tool for all of the this is called UrMus<\/p>\n<h4>Questions<\/h4>\n<p>Would live coders actually be monitoring each other&#8217;s variables in a performance?<br \/>\nOf course, this used in general coding, and hand waving<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Collaborative live coding is more than one performer live coding at the same time, networked or not, he says. Network music can by synchronus or asynchornos, collocated or remote. There are many networked live coding environments. You can add instrumental performers to live code stuff, for example by live-generating notation. Or by having somebody play &hellip; <a href=\"https:\/\/www.celesteh.com\/blog\/2014\/07\/02\/communication-control-and-stage-sharing\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Communication Control and Stage Sharing in Netowrked Live Coding<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[1],"tags":[54,59,55],"class_list":["post-64","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-live-blog","tag-live-code","tag-nime"],"_links":{"self":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":1,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/64\/revisions"}],"predecessor-version":[{"id":2256,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/64\/revisions\/2256"}],"wp:attachment":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/media?parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/categories?post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/tags?post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}