{"id":256,"date":"2010-09-25T09:16:00","date_gmt":"2010-09-25T08:16:00","guid":{"rendered":"http:\/\/www.celesteh.com\/blog\/2010\/09\/25\/dan-stowell-and-alex-shaw-supercollider\/"},"modified":"2015-06-19T00:23:33","modified_gmt":"2015-06-18T23:23:33","slug":"dan-stowell-and-alex-shaw-supercollider","status":"publish","type":"post","link":"https:\/\/www.celesteh.com\/blog\/2010\/09\/25\/dan-stowell-and-alex-shaw-supercollider\/","title":{"rendered":"Dan Stowell and Alex Shaw: SuperCollider and Android"},"content":{"rendered":"<p>Still live blogging the Sc symposium<br \/>\ntheir subtitle: &#8220;kickass sound, open platform.&#8221;<br \/>\nAndroid is an open platform for phones, curated by google.  Linux w java.  it&#8217;s not normal linux, though.  it&#8217;s NOT APPLE.<br \/>\nphones are computers these days.  they&#8217;re well-connected and have a million sensors, w microphones and speakers.  Andriods multitask, it&#8217;s more open, libraries and APKs are sharable.<br \/>\nDownsides is that it&#8217;s less mature and has some performance issues w audio.<br \/>\nsccynth on android.  The audio engine can be put in all kinds of places.  So the server has been ported.  The lang has not yet been ported.  So to use it, you could write a java app and use it as an audio engine.  Can control remotely, or control it from another android app.  ScalaCollider, for example.<br \/>\nAlex is an android developer.  Every android app has an &#8220;activity&#8221; which is an app thingee on the desktop.  Also has services, which is like a daemon, which is deployed as part of an app and persists in the background.  An intent is a loosely-coupled message. AIDL is Android Interface Definition Language, in which a service says what kinds of messages it understands.  The OS will handle the binding<br \/>\nthings you can do w supercollider on android: write cool apps that do audio.  making instruments, for example.  He&#8217;s playing a demo of an app that says &#8220;satan&#8221; and is apparently addictive.  You can write reactive music players (yay).  Since you can multitask, you can keep running this as you text people or whatever.<br \/>\nwhat languages to use?  sclang to pre-prepare synthdefs, OSC and java for the UI.<br \/>\nA quick demo!  Create an activity in Eclipse!<br \/>\nCreate a new project. Pick a target w\/ a lower number for increased interoperability. Music create an activity to have a UI. SDK version 4.Associate project w\/ supercollider, by telling it to use it as a library.  There are some icon collisions, so we&#8217;ll use the SC ones.  Now open the automatically generated file. Add SCAudio object.  When the activity is created, initialise the object. <\/p>\n<pre> \npublic void onCreate \n . . .\nsuperCollider = new SCAudio(\"\/data\/data\/com.hello.world\/lib\");\nsuperCollider.start;\nsuperCollider.sendMEssage(OscMEssage.createSynthMessage(\"default\", 1000, 1, 0); \/\/ default synth\n\u2026\n}\n\n . . .\n\n@Override\npublic void onPause(){\n super.onPause();\nsupercollider.sendQuit();\n}\n<\/pre>\n<p>Send it to the phone and holy crap that worked.<br \/>\nBeware of audio latency, 50 milliseconds.  multitasking also.<br \/>\nRon Kuivila wants to know if there are provisions for other kinds of hardware IO, kind of like the arduino.  Something called bluesmurf is a possible client<br \/>\nGetting to the add store, just upload some stuff, fill out a form and it&#8217;s there.  No curation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Still live blogging the Sc symposium their subtitle: &#8220;kickass sound, open platform.&#8221; Android is an open platform for phones, curated by google. Linux w java. it&#8217;s not normal linux, though. it&#8217;s NOT APPLE. phones are computers these days. they&#8217;re well-connected and have a million sensors, w microphones and speakers. Andriods multitask, it&#8217;s more open, libraries &hellip; <a href=\"https:\/\/www.celesteh.com\/blog\/2010\/09\/25\/dan-stowell-and-alex-shaw-supercollider\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Dan Stowell and Alex Shaw: SuperCollider and Android<\/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":[76,54,64,90],"class_list":["post-256","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-celesteh","tag-live-blog","tag-supercollider","tag-symposium"],"_links":{"self":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/256","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=256"}],"version-history":[{"count":1,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":2456,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/256\/revisions\/2456"}],"wp:attachment":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}