[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] SF.net SVN: quarks:[2679] OpenObject



Revision: 2679
          http://sourceforge.net/p/quarks/code/2679
Author:   redfrik
Date:     2013-12-28 23:05:48 +0000 (Sat, 28 Dec 2013)
Log Message:
-----------
OpenObject: removed old html helpfile and added new granulator example

Modified Paths:
--------------
    OpenObject/HelpSource/Classes/OpenObject.schelp

Added Paths:
-----------
    OpenObject/examples2/
    OpenObject/examples2/oo_soundfiles.maxpat
    OpenObject/examples2/oo_soundfiles.scd

Removed Paths:
-------------
    OpenObject/OpenObject.html

Modified: OpenObject/HelpSource/Classes/OpenObject.schelp
===================================================================
--- OpenObject/HelpSource/Classes/OpenObject.schelp	2013-12-28 22:05:02 UTC (rev 2678)
+++ OpenObject/HelpSource/Classes/OpenObject.schelp	2013-12-28 23:05:48 UTC (rev 2679)
@@ -14,6 +14,13 @@
 
 There is only one instance for each instance of sc-lang. Any functionality within sclang can be remote controlled, for instance by using environments with functions (example below).
 
+NOTE::
+There are examples for Processing, Max/MSP and PureData bundled with this Quark. You'll find them next to where you installed this class.
+CODE::
+OpenObject.filenameSymbol	//post the installation filepath of this class
+::
+::
+
 CLASSMETHODS::
 
 PRIVATE:: initClass, addResponder, removeResponder, getObject, oscPerform, oscPerformKeyValuePairs, setProxySource, interpretOSC, sendReply
@@ -56,7 +63,7 @@
 
 code::
 a = [1, 2, 3];
-OpenObject.put(\sans, a);		
+OpenObject.put(\sans, a);
 OpenObject.keyFor(a);
 ::
 
@@ -95,7 +102,7 @@
 Ndef(\zz, { |freq=20, numharm = 200| Blip.ar(freq * [1, 1.2], numharm) * 0.3 } );
 n.sendMsg("/oo", \Ndef_zz, \play);
 n.sendMsg("/oo", \Ndef_zz, \fadeTime_, 2);
-n.sendMsg("/oo", \Ndef_zz, \xset, \freq, rrand(17, 80), \numharm, rrand(3, 100));		
+n.sendMsg("/oo", \Ndef_zz, \xset, \freq, rrand(17, 80), \numharm, rrand(3, 100));
 n.sendMsg("/oo", \Ndef_zz, \end);
 
 p = ProxySpace.push(s);
@@ -201,7 +208,7 @@
 OpenObject.start;
 n = NetAddr("127.0.0.1", 57120); // loopback IP for this test
 // for replies (normally on the remote system):
-r = OSCresponder(nil, "/oo_reply", {|t,r,msg| msg.postln }).add; 
+r = OSCresponder(nil, "/oo_reply", {|t,r,msg| msg.postln }).add;
 
 
 a = [1, 2, 3, 3, 4]; // an object ...
@@ -250,8 +257,8 @@
 q = ();
 q.publish(\madrid);
 q.openWindow = { |q|
-	defer { 
-	try { q.window.close }; 
+	defer {
+	try { q.window.close };
 	q.window = Window("remote", Rect(800, 300, 400, 250));
 	q.slider = Slider(q.window.view, Rect(50, 30, 300, 30));
 	q.window.front;

Deleted: OpenObject/OpenObject.html
===================================================================
--- OpenObject/OpenObject.html	2013-12-28 22:05:02 UTC (rev 2678)
+++ OpenObject/OpenObject.html	2013-12-28 23:05:48 UTC (rev 2679)
@@ -1,351 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";>
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Style-Type" content="text/css">
-<title></title>
-<meta name="Generator" content="Cocoa HTML Writer">
-<meta name="CocoaVersion" content="1038.25">
-<style type="text/css">
-p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
-p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px}
-p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #0000ee}
-p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px}
-p.p6 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p7 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica}
-p.p8 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica; min-height: 14.0px}
-p.p9 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #0000bf}
-p.p10 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
-p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #bf0000}
-p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
-p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Monaco}
-p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Monaco; min-height: 19.0px}
-p.p15 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #bf0000; min-height: 12.0px}
-p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p18 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #007300}
-p.p19 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #606060}
-p.p20 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #007300; min-height: 12.0px}
-p.p21 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
-p.p22 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
-span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #0000bf}
-span.s3 {text-decoration: underline}
-span.s4 {color: #000000}
-span.s5 {font: 9.0px Monaco}
-span.s6 {font: 12.0px Helvetica; color: #000000}
-span.s7 {font: 12.0px Helvetica}
-span.s8 {color: #007300}
-span.s9 {color: #606060}
-span.s10 {color: #bf0000}
-span.s11 {font: 14.0px Monaco}
-span.Apple-tab-span {white-space:pre}
-</style>
-</head>
-<body>
-<p class="p1"><span class="s1"><b>OpenObject<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b></span><b>talk to objects over the network</b><span class="s1"><b><span class="Apple-tab-span">	</span></b></span></p>
-<p class="p2"><br></p>
-<p class="p1"><b>Inherits from: </b><a href="SC://Object"><span class="s2"><b>Object</b></span></a></p>
-<p class="p3"><br></p>
-<p class="p1">Publish any object for remote access via network (OSC, see <span class="s3">http://opensoundcontrol.org/)</span></p>
-<p class="p1">This allows to create easy access for other languages and systems, such as pd, Processing or Max.</p>
-<p class="p2"><br></p>
-<p class="p4"><span class="s4"><b>See also:</b> <a href="SC://OSCresponder"><span class="s3">OSCresponder</span></a>, <a href="SC://NetAddr"><span class="s3">NetAddr</span></a></span></p>
-<p class="p2"><br></p>
-<p class="p1">OpenObject API has two levels:</p>
-<p class="p1"><span class="Apple-tab-span">	</span>• access to registered objects and to send results back to the sender (safe)</p>
-<p class="p1"><span class="Apple-tab-span">	</span>• use the sc interpreter to execute code and to send results back to the sender (unsafe)</p>
-<p class="p2"><br></p>
-<p class="p1">There is only one instance for each instance of sc-lang. Any functionality within sclang can be remote controlled, for instance by using environments with functions (example below).</p>
-<p class="p5"><br></p>
-<p class="p6"><br></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*start(addr)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Start listening to <b>addr</b> (if nil, it listens to all addresses).</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>SClang <b>listens on the port 57120</b>. If for some reason it was given a different one by the OS,<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>an error message is posted. Restarting SuperCollider helps.</p>
-<p class="p8"><br></p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>*replyPort_(portnumber)</b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*replyPort</b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Some applications do not allow to receive messages through the same port</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>they are passing in the OSC message as reply port. As a workaround, this port can be explicitly overridden here.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*end</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Stop listening</p>
-<p class="p8"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>*clear</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Remove all objects<span class="s5"><span class="Apple-tab-span">	</span></span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*isListening</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Check if listening</p>
-<p class="p8"><br></p>
-<p class="p9"><span class="s6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>OpenObject<span class="s4">.start;</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.isListening;</p>
-<p class="p9"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>OpenObject<span class="s4">.end;</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.isListening;</p>
-<p class="p6"><br></p>
-<p class="p6"><br></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*put(name, object)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Add an object for remote access under a <b>name</b></p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="s7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>a = [1, 2, 3];</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.put(<span class="s8">\foo</span>, a);</p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// alternatively, any object may be made accessable directly:</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a.publish(<span class="s8">\foo</span>);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*keyFor(object)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>The key under which object is published.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="s7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>a = [1, 2, 3];</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.put(<span class="s8">\sans</span>, a);<span class="s7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.keyFor(a);</p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*remove(object)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Remove an object</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.remove(a);</p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// alternatively, any object may be made unaccessable again directly:</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a.unpublish;</p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*removeAt(name)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Remove an object published under <b>name</b></p>
-<p class="p6"><br></p>
-<p class="p6"><br></p>
-<p class="p6"><br></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*lookup_(boolean)</b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*lookup</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>If set to true, a special syntax for name can be used to index into registered objects (default: false)</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>For a syntax example, see below.</p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*openProxies</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Publish the proxy classes <a href="SC://Tdef"><span class="s2">Tdef</span></a>, <a href="SC://Ndef"><span class="s2">Ndef</span></a>, <a href="SC://Pdef"><span class="s2">Pdef</span></a>, <a href="SC://Pdefn"><span class="s2">Pdefn</span></a>, <a href="SC://Ndef"><span class="s2">Ndef</span></a> and <a href="SC://Fdef"><span class="s2">Fdef</span></a> (convenience method).</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>lookup</b> is set to true.</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>For an example, see below.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*openInterpreter(addr)</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Open the interpreter for external access. Do this only if you know what you are doing (see below).</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>addr</b>: if not nil, accept only commands from this one.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*closeInterpreter</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Close the interpreter.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p6"><br></p>
-<p class="p12"><b>OpenSoundControl API</b></p>
-<p class="p6"><br></p>
-<p class="p7"><span class="Apple-tab-span">	</span>Once an object has been published under a <b>name</b>, methods can be called via OSC messages:</p>
-<p class="p8"><span class="Apple-tab-span">	</span></p>
-<p class="p13"><span class="s7"><span class="Apple-tab-span">	</span></span>"/oo" name selector arg1 arg2 ...</p>
-<p class="p13"><span class="s7"><span class="Apple-tab-span">	</span></span>"/oo" replyID name selector arg1 arg2 ...</p>
-<p class="p14"><br></p>
-<p class="p13"><span class="Apple-tab-span">	</span>"/oo_k" name selector argname1 arg1 argname2 arg2 ...</p>
-<p class="p13"><span class="Apple-tab-span">	</span>"/oo_k" replyID name selector argname1 arg1 argname2 arg2 ...</p>
-<p class="p14"><br></p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>name</b>:<span class="Apple-tab-span">	</span>The name under which the object has been published</p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>selector</b>: <span class="Apple-tab-span">	</span>The message to be called on the object</p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>arg</b>:<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a float, integer, symbol. (strings are converted to symbols)<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Array arguments can be nested by <b>bracket chars as type tags</b> (see example below).</p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>replyID</b>:<span class="Apple-tab-span">	</span>If a replyID (an <b>integer</b>) is given, sends back a reply: The results are<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>sent back to the sender under the OSC command<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>"/oo_reply" replyID val1 val2 ...</b></p>
-<p class="p8"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>/oo</b> <span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>passes arguments in sequence</p>
-<p class="p7"><span class="Apple-tab-span">	</span><b>/oo_k</b> <span class="Apple-tab-span">	</span>passes keyword arguments, in pairs of argument name and value.</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// example</p>
-<p class="p15"><span class="Apple-tab-span">	</span></p>
-<p class="p9"><span class="s4"><span class="Apple-tab-span">	</span></span>OpenObject<span class="s4">.start;</span></p>
-<p class="p11"><span class="s2"><span class="Apple-tab-span">	</span></span><span class="s4">n = </span><span class="s2">NetAddr</span><span class="s4">(</span><span class="s9">"127.0.0.1"</span><span class="s4">, </span><span class="s2">57120</span><span class="s4">); </span>// loopback IP for this test</p>
-<p class="p11"><span class="Apple-tab-span">	</span>// for replies (normally on the remote system):</p>
-<p class="p10"><span class="Apple-tab-span">	</span>r = <span class="s2">OSCresponder</span>(<span class="s2">nil</span>, <span class="s9">"/oo_reply"</span>, {<span class="s2">|t,r,msg|</span> msg.postln }).add;<span class="Apple-converted-space"> </span></p>
-<p class="p15"><br></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>a = [1, 2, 3, 3, 4]; <span class="s10">// an object ...</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span>a.publish(</span><span class="s8">\paris</span><span class="s4">); </span>// accessible via \paris</p>
-<p class="p15"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span><span class="s9">"/oo"</span><span class="s4">, </span><span class="s8">\paris</span><span class="s4">, </span><span class="s8">\put</span><span class="s4">, 2, 1974); </span>// equivalent of a.put(2, 1974)</p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>a.postln;</p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span><span class="s9">"/oo"</span><span class="s4">, 1, </span><span class="s8">\paris</span><span class="s4">, </span><span class="s8">\at</span><span class="s4">, 2); </span>// equivalent of a.put(2, 1974)</p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>a.postln;</p>
-<p class="p6"><br></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\paris</span>, <span class="s8">\put</span>, 2, "hello paris"); <span class="s10">// equivalent of a.put(2, 1974)</span></p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>a.postln;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// arrays:</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\paris</span>, <span class="s8">\put</span>, 2, <span class="s8">$[</span>, 1974, 1975, 1976, <span class="s8">$]</span>); <span class="s10">// a.put(2, [1974, 1975, 1976])</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>a.postln;</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\paris</span>, <span class="s8">\put</span>, <span class="s8">$[</span>, 2, 3, <span class="s8">$]</span>, 500); <span class="s10">// a.put([2, 3], 500)</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>a.postln;</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\paris</span>, <span class="s8">\put</span>, 0, <span class="s8">$[</span>, 2, <span class="s8">$[</span>, 3, 4, <span class="s8">$]</span>, <span class="s8">$]</span>); <span class="s10">// a.put(0, [ 2, [ 3, 4 ] ])</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>a.postln;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// sound example</p>
-<p class="p15"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>s.boot;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">Ndef</span>(<span class="s8">\y</span>, { <span class="s2">|freq=10, numharm = 200|</span> <span class="s2">Blip</span>.ar(freq * [1, 1.2], numharm) * 0.3 } );</p>
-<p class="p16"><span class="s4"><span class="Apple-tab-span">	</span></span><span class="s2">Ndef</span><span class="s4">(</span><span class="s8">\y</span><span class="s4">).publish(</span><span class="s8">\brussels</span><span class="s4">); </span>// accessible via \brussels</p>
-<p class="p16"><span class="Apple-tab-span">	</span>// play and stop</p>
-<p class="p17"><span class="s10"><span class="Apple-tab-span">	</span></span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\brussels</span>, <span class="s8">\play</span>);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\brussels</span>, <span class="s8">\stop</span>);</p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// using keyword args (/ook)</p>
-<p class="p18"><span class="s10"><span class="Apple-tab-span">	</span></span><span class="s4">n.sendMsg(</span><span class="s9">"/oo_k"</span><span class="s4">, </span>\brussels<span class="s4">, </span>\play<span class="s4">, </span>\fadeTime<span class="s4">, 3);</span></p>
-<p class="p11"><span class="s8"><span class="Apple-tab-span">	</span></span>// setting args</p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\brussels</span>, <span class="s8">\xset</span>, <span class="s8">\freq</span>, 30, <span class="s8">\numharm</span>, 200);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\brussels</span>, <span class="s8">\stop</span>);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// talk to the current environment</p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>currentEnvironment.publish(<span class="s8">\envir</span>); <span class="s10">// accessible via \envir</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\envir</span>, <span class="s8">\put</span>, <span class="s8">\x</span>, 1914);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>~x.postln;</p>
-<p class="p10"><span class="Apple-tab-span">	</span>currentEnvironment.unpublish;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// use an environment to extend functionality by calling functions</p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>(</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q = ();</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.publish(<span class="s8">\madrid</span>);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.openWindow = { <span class="s2">|q|</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>defer {<span class="Apple-converted-space"> </span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>try { q.window.close };<span class="Apple-converted-space"> </span></p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>q.window = </span><span class="s2">Window</span><span class="s4">(</span>"remote", Rect(800, 300, 400, 250)<span class="s4">);</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>q.slider = <span class="s2">Slider</span>(q.window.view, <span class="s2">Rect</span>(50, 30, 300, 30));</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>q.window.front;</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}</p>
-<p class="p10"><span class="Apple-tab-span">	</span>};</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.closeWindow = { <span class="s2">|q|</span> defer { try { q.window.close } } };</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.setColor = {<span class="Apple-converted-space">  </span><span class="s2">|q, r, g, b|</span> defer { q.window.view.background_(<span class="s2">Color</span>.new255(r,g,b)) } };</p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.setSlider = { <span class="s2">|q, val|</span> defer { q.slider.value = val } };</p>
-<p class="p10"><span class="Apple-tab-span">	</span>)</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p18"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span><span class="s9">"/oo"</span><span class="s4">, </span>\madrid<span class="s4">, </span>\openWindow<span class="s4">);</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\madrid</span>, <span class="s8">\setColor</span>, 122, 45, 67);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\madrid</span>, <span class="s8">\setColor</span>, *{ 255.rand } ! 3);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\madrid</span>, <span class="s8">\setSlider</span>, 1.0.rand);</p>
-<p class="p18"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span><span class="s9">"/oo"</span><span class="s4">, </span>\madrid<span class="s4">, </span>\closeWindow<span class="s4">);</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>q.unpublish;</p>
-<p class="p20"><span class="Apple-tab-span">	</span></p>
-<p class="p6"><br></p>
-<p class="p21"><b>Remote controlling proxies and environments<span class="Apple-converted-space"> </span></b></p>
-<p class="p8"><br></p>
-<p class="p8"><br></p>
-<p class="p7"><span class="Apple-tab-span">	</span>*<b>lookup</b></p>
-<p class="p7"><span class="Apple-tab-span">	</span>*<b>lookup_(boolean)</b></p>
-<p class="p8"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>If set to true, any objects or classes that implement the message "<b>at</b>" can be accessed remotely.</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>As name, use the scheme: name_key, e.g. Tdef_x for Tdef(\x).</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p7"><span class="s5"><span class="Apple-tab-span">	</span></span><b>*openProxies</b></p>
-<p class="p8"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Register the proxy classes <a href="SC://Tdef"><span class="s2">Tdef</span></a>, <a href="SC://Ndef"><span class="s2">Ndef</span></a>, <a href="SC://Pdef"><span class="s2">Pdef</span></a>, <a href="SC://Pdefn"><span class="s2">Pdefn</span></a>, <a href="SC://Ndef"><span class="s2">Ndef</span></a> and <a href="SC://Fdef"><span class="s2">Fdef</span></a> (convenience method).</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>lookup</b> is set to true.</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// example:</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>s.boot;</p>
-<p class="p9"><span class="s4"><span class="Apple-tab-span">	</span></span>OpenObject<span class="s4">.start;</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span><span class="s2">OpenObject</span><span class="s4">.openProxies; </span>// register all proxy classes</p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span>n = </span><span class="s2">NetAddr</span><span class="s4">(</span><span class="s9">"127.0.0.1"</span><span class="s4">, </span><span class="s2">57120</span><span class="s4">); </span>// loopback IP for this test</p>
-<p class="p6"><br></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">Pdef</span>(<span class="s8">\xx</span>, <span class="s2">Pbind</span>(<span class="s8">\dur</span>, <span class="s2">Pseries</span>(0.2, 0.1, 6), <span class="s8">\note</span>, <span class="s2">Prand</span>([0, 2, 3, 4, 8, 9], <span class="s2">inf</span>)));</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Pdef_xx</span>, <span class="s8">\play</span>);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">Ndef</span>(<span class="s8">\zz</span>, { <span class="s2">|freq=20, numharm = 200|</span> <span class="s2">Blip</span>.ar(freq * [1, 1.2], numharm) * 0.3 } );</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_zz</span>, <span class="s8">\play</span>);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_zz</span>, <span class="s8">\fadeTime_</span>, 2);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_zz</span>, <span class="s8">\xset</span>, <span class="s8">\freq</span>, rrand(17, 80), <span class="s8">\numharm</span>, rrand(3, 100));<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_zz</span>, <span class="s8">\end</span>);<span class="Apple-tab-span">	</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>p = <span class="s2">ProxySpace</span>.push(s);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>p.publish(<span class="s8">\psp</span>);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>~zz =<span class="Apple-converted-space">  </span>{ <span class="s2">|freq=30, numharm = 200|</span> <span class="s2">Blip</span>.ar(freq * [1, 1.2], numharm) * 0.3 };</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\psp_zz</span>, <span class="s8">\play</span>);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\psp_zz</span>, <span class="s8">\fadeTime_</span>, 2);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\psp_zz</span>, <span class="s8">\xset</span>, <span class="s8">\freq</span>, exprand(20, 1000), <span class="s8">\numharm</span>, rand(80, 500));</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\psp_zz</span>, <span class="s8">\end</span>, 3);</p>
-<p class="p6"><br></p>
-<p class="p6"><br></p>
-<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p12"><b>Interpreting</b></p>
-<p class="p6"><br></p>
-<p class="p7"><span class="Apple-tab-span">	</span>For remote code execution, OpenObject can be opened to the interpreter.<span class="Apple-converted-space"> </span></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>Use with care!</b><span class="Apple-converted-space">  </span>Any code can be executed from the network, so the connection should be trustworthy.</p>
-<p class="p8"><br></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>*openInterpreter(addr)</b></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>addr</b>: address from which the messages come. nil means any.</p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>replyID</b>:<span class="Apple-tab-span">	</span>If a replyID (an <b>integer</b>) is given, sends back a reply: The results are<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>sent back to the sender under the OSC command<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>"/oo_reply" replyID val1 val2 ...</b></p>
-<p class="p8"><br></p>
-<p class="p13"><span class="Apple-tab-span">	</span>"/oo_i" string</p>
-<p class="p13"><span class="Apple-tab-span">	</span>"/oo_i" replyID string</p>
-<p class="p13"><span class="Apple-tab-span">	</span>"/oo_p" name string</p>
-<p class="p8"><span class="s11"><span class="Apple-tab-span">	</span></span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b><span class="Apple-converted-space">   </span></b></p>
-<p class="p8"><span class="Apple-converted-space">    </span></p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>/oo_i</b><span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Interpret the string on the remote sclang interpreter.</p>
-<p class="p7"><b><span class="Apple-tab-span">	</span>/oo_p</b><span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Set the proxy source with the interpreted code string (used for remote live coding).</p>
-<p class="p14"><br></p>
-<p class="p8"><span class="Apple-converted-space">  </span></p>
-<p class="p8"><span class="Apple-converted-space">  </span></p>
-<p class="p8"><span class="Apple-converted-space">  </span></p>
-<p class="p11"><span class="Apple-tab-span">	</span>// example</p>
-<p class="p15"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="s10"><span class="Apple-tab-span">	</span></span>s.boot;</p>
-<p class="p9"><span class="s4"><span class="Apple-tab-span">	</span></span>OpenObject<span class="s4">.start;</span></p>
-<p class="p10"><span class="s2"><span class="Apple-tab-span">	</span>OpenObject</span>.openInterpreter;</p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span>n = </span><span class="s2">NetAddr</span><span class="s4">(</span><span class="s9">"127.0.0.1"</span><span class="s4">, 57120); </span>// loopback IP for this test</p>
-<p class="p15"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// oo_i</p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_i"<span class="s4">, </span>"a = { Dust.ar(1000 ! 2, 0.1) }.play;"<span class="s4">);</span></p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_i"<span class="s4">, </span>"a.free;"<span class="s4">);</span></p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// sending back a reply (emulating the remote call)</p>
-<p class="p10"><span class="Apple-tab-span">	</span>r = <span class="s2">OSCresponder</span>(<span class="s2">nil</span>, <span class="s9">"/oo_reply"</span>, {<span class="s2">|t,r,msg|</span> msg.postln }).add;</p>
-<p class="p22"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_i"<span class="s4">, 99, </span>"[7 + 14, pi / 2]"<span class="s4">); </span><span class="s10">// provide a replyID: 99</span></p>
-<p class="p6"><br></p>
-<p class="p11"><span class="s4"><span class="Apple-tab-span">	</span></span>// oo_p</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">Ndef</span>(<span class="s8">\zz</span>, { <span class="s2">|freq=40, numharm = 200|</span> <span class="s2">Blip</span>.ar(freq * [1, 1.2], numharm) * 0.3 } );</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">Ndef</span>(<span class="s8">\zz</span>).publish(<span class="s8">\zz</span>);</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\zz</span>, <span class="s8">\play</span>);</p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_p"<span class="s4">, </span><span class="s8">\zz</span><span class="s4">, </span>"{ |freq=300| SinOsc.ar(freq, Blip.ar([3, 4], 4) * 6, 0.1) }"<span class="s4">);</span></p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_p"<span class="s4">, </span><span class="s8">\zz</span><span class="s4">, </span>"{ |freq=300| Saw.ar(freq * Blip.ar([3, 4], 4, 6, 1), 0.1) }"<span class="s4">);</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\zz</span>, <span class="s8">\stop</span>, 3);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p11"><span class="s6"><span class="Apple-tab-span">	</span></span>// in combination with proxy lookup, remote conversational programming:</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.openProxies;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_out</span>, <span class="s8">\play</span>);</p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span>n.sendMsg(</span>"/oo_p"<span class="s4">, </span><span class="s8">\Ndef_out</span><span class="s4">, </span>"{ |freq=300| SinOsc.ar(freq, Blip.ar([3, 4], 4) * 6, 0.1) }"<span class="s4">);</span></p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_out</span>, <span class="s8">\xset</span>, <span class="s8">\freq</span>, exprand(200, 800));</p>
-<p class="p10"><span class="Apple-tab-span">	</span>n.sendMsg(<span class="s9">"/oo"</span>, <span class="s8">\Ndef_out</span>, <span class="s8">\clear</span>, 3);</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-<p class="p10"><span class="s7"><span class="Apple-tab-span">	</span></span><span class="s2">OpenObject</span>.closeInterpreter;</p>
-<p class="p10"><span class="Apple-tab-span">	</span><span class="s2">OpenObject</span>.clear.end;</p>
-<p class="p6"><span class="Apple-tab-span">	</span></p>
-</body>
-</html>

Added: OpenObject/examples2/oo_soundfiles.maxpat
===================================================================
--- OpenObject/examples2/oo_soundfiles.maxpat	                        (rev 0)
+++ OpenObject/examples2/oo_soundfiles.maxpat	2013-12-28 23:05:48 UTC (rev 2679)
@@ -0,0 +1,1747 @@
+{
+	"patcher" : 	{
+		"fileversion" : 1,
+		"appversion" : 		{
+			"major" : 5,
+			"minor" : 1,
+			"revision" : 9
+		}
+,
+		"rect" : [ 153.0, 223.0, 922.0, 592.0 ],
+		"bglocked" : 0,
+		"defrect" : [ 153.0, 223.0, 922.0, 592.0 ],
+		"openrect" : [ 0.0, 0.0, 0.0, 0.0 ],
+		"openinpresentation" : 0,
+		"default_fontsize" : 12.0,
+		"default_fontface" : 0,
+		"default_fontname" : "Arial",
+		"gridonopen" : 0,
+		"gridsize" : [ 15.0, 15.0 ],
+		"gridsnaponopen" : 0,
+		"toolbarvisible" : 1,
+		"boxanimatetime" : 200,
+		"imprint" : 0,
+		"enablehscroll" : 1,
+		"enablevscroll" : 1,
+		"devicewidth" : 0.0,
+		"boxes" : [ 			{
+				"box" : 				{
+					"maxclass" : "preset",
+					"presentation_rect" : [ 480.0, 75.0, 100.0, 40.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 720.0, 60.0, 100.0, 40.0 ],
+					"numoutlets" : 4,
+					"presentation" : 1,
+					"id" : "obj-126",
+					"outlettype" : [ "preset", "int", "preset", "int" ],
+					"preset_data" : [ 						{
+							"number" : 1,
+							"data" : [ 5, "obj-18", "number", "int", -10, 5, "obj-28", "flonum", "float", 1.0, 5, "obj-41", "slider", "float", 117.0, 6, "obj-44", "rslider", "list", 78, 78, 5, "obj-64", "slider", "float", 0.0, 5, "obj-68", "flonum", "float", 0.001, 6, "obj-78", "rslider", "list", 63, 64, 5, "obj-72", "slider", "float", 0.0, 5, "obj-69", "flonum", "float", 0.001, 6, "obj-103", "rslider", "list", 82, 82, 5, "obj-97", "slider", "float", 0.0, 5, "obj-94", "flonum", "float", 0.001, 6, "obj-114", "rslider", "list", 66, 66, 5, "obj-108", "slider", "float", 0.0, 5, "obj-105", "flonum", "float", 0.001, 6, "obj-125", "rslider", "list", 64, 64, 5, "obj-119", "slider", "float", 0.0, 5, "obj-116", "flonum", "float", 0.001 ]
+						}
+, 						{
+							"number" : 2,
+							"data" : [ 5, "obj-18", "number", "int", -10, 5, "obj-28", "flonum", "float", 1.0, 5, "obj-41", "slider", "float", 117.0, 6, "obj-44", "rslider", "list", 78, 78, 5, "obj-64", "slider", "float", 0.0, 5, "obj-68", "flonum", "float", 0.001, 6, "obj-78", "rslider", "list", 63, 64, 5, "obj-72", "slider", "float", 0.0, 5, "obj-69", "flonum", "float", 0.001, 6, "obj-103", "rslider", "list", 61, 69, 5, "obj-97", "slider", "float", 126.0, 5, "obj-94", "flonum", "float", 37.735909, 6, "obj-114", "rslider", "list", 32, 58, 5, "obj-108", "slider", "float", 41.0, 5, "obj-105", "flonum", "float", 0.26753, 6, "obj-125", "rslider", "list", 64, 64, 5, "obj-119", "slider", "float", 0.0, 5, "obj-116", "flonum", "float", 0.001 ]
+						}
+, 						{
+							"number" : 3,
+							"data" : [ 5, "obj-18", "number", "int", -10, 5, "obj-28", "flonum", "float", 1.0, 5, "obj-41", "slider", "float", 117.0, 6, "obj-44", "rslider", "list", 58, 64, 5, "obj-64", "slider", "float", 29.0, 5, "obj-68", "flonum", "float", 0.133458, 6, "obj-78", "rslider", "list", 8, 126, 5, "obj-72", "slider", "float", 124.0, 5, "obj-69", "flonum", "float", 33.584938, 6, "obj-103", "rslider", "list", 61, 69, 5, "obj-97", "slider", "float", 126.0, 5, "obj-94", "flonum", "float", 37.735909, 6, "obj-114", "rslider", "list", 32, 58, 5, "obj-108", "slider", "float", 41.0, 5, "obj-105", "flonum", "float", 0.26753, 6, "obj-125", "rslider", "list", 44, 82, 5, "obj-119", "slider", "float", 117.0, 5, "obj-116", "flonum", "float", 22.336245 ]
+						}
+ ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "duration and rate of change",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 735.0, 165.0, 157.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 735.0, 285.0, 157.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-115",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1170.0, 289.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 765.0, 510.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-116",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "scale 0 127 0.001 40 1.06",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1170.0, 259.0, 0.0, 0.0 ],
+					"numinlets" : 6,
+					"patching_rect" : [ 765.0, 480.0, 149.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-117",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set durRate $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1155.0, 319.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 750.0, 540.0, 141.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-118",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 750.0, 225.0, 140.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 750.0, 345.0, 140.0, 20.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-119",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set durMin $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1140.0, 184.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 735.0, 405.0, 135.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-120",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1140.0, 349.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 735.0, 570.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-121",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set durMax $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 1155.0, 214.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 750.0, 435.0, 139.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-122",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 735.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-123",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 795.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-124",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "rslider",
+					"presentation_rect" : [ 735.0, 195.0, 140.0, 21.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 735.0, 315.0, 140.0, 21.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-125",
+					"outlettype" : [ "", "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "triggerrate and rate of change",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 555.0, 165.0, 169.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 555.0, 285.0, 169.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-104",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 992.0, 283.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 585.0, 510.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-105",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "scale 0 127 0.001 40 1.06",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 992.0, 253.0, 0.0, 0.0 ],
+					"numinlets" : 6,
+					"patching_rect" : [ 585.0, 480.0, 149.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-106",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set trgRate $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 977.0, 313.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 570.0, 540.0, 138.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-107",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 570.0, 225.0, 140.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 570.0, 345.0, 140.0, 20.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-108",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set trgMin $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 962.0, 178.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 555.0, 405.0, 132.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-109",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 962.0, 343.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 555.0, 570.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-110",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set trgMax $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 977.0, 208.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 570.0, 435.0, 135.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-111",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 255.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 555.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-112",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 255.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 615.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-113",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "rslider",
+					"presentation_rect" : [ 555.0, 195.0, 140.0, 21.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 555.0, 315.0, 140.0, 21.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-114",
+					"outlettype" : [ "", "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "playbackrate and rate of change",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 375.0, 165.0, 182.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 375.0, 285.0, 182.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-93",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 812.0, 287.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 405.0, 510.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-94",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "scale 0 127 0.001 40 1.06",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 812.0, 257.0, 0.0, 0.0 ],
+					"numinlets" : 6,
+					"patching_rect" : [ 405.0, 480.0, 149.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-95",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set pchRate $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 797.0, 317.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 390.0, 540.0, 143.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-96",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 390.0, 225.0, 140.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 390.0, 345.0, 140.0, 20.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-97",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set pchMin $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 782.0, 182.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 375.0, 405.0, 137.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-98",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 782.0, 347.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 375.0, 570.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-99",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set pchMax $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 797.0, 212.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 390.0, 435.0, 141.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-100",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 32.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 375.0, 375.0, 34.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-101",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 32.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 435.0, 375.0, 34.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-102",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "rslider",
+					"presentation_rect" : [ 375.0, 195.0, 140.0, 21.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 375.0, 315.0, 140.0, 21.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-103",
+					"outlettype" : [ "", "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "panning and rate of change",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 195.0, 165.0, 157.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 195.0, 285.0, 157.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-81",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "position and rate of change",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 15.0, 165.0, 155.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 15.0, 285.0, 155.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-80",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 629.0, 283.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 225.0, 510.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-69",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "scale 0 127 0.001 40 1.06",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 629.0, 253.0, 0.0, 0.0 ],
+					"numinlets" : 6,
+					"patching_rect" : [ 225.0, 480.0, 149.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-70",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set panRate $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 614.0, 313.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 210.0, 540.0, 144.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-71",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 210.0, 225.0, 140.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 210.0, 345.0, 140.0, 20.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-72",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set panMin $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 599.0, 178.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 195.0, 405.0, 138.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-73",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 599.0, 343.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 195.0, 570.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-74",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set panMax $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 614.0, 208.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 210.0, 435.0, 141.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-75",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 599.0, 148.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 195.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-76",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 659.0, 148.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 255.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-77",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "rslider",
+					"presentation_rect" : [ 195.0, 195.0, 140.0, 21.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 195.0, 315.0, 140.0, 21.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-78",
+					"outlettype" : [ "", "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 45.0, 510.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-68",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "scale 0 127 0.001 40 1.06",
+					"fontsize" : 12.0,
+					"numinlets" : 6,
+					"patching_rect" : [ 45.0, 480.0, 149.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-66",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set posRate $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 435.0, 251.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 30.0, 540.0, 143.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-65",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 30.0, 225.0, 140.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 30.0, 345.0, 140.0, 20.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-64",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set posMin $1",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 422.0, 190.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 15.0, 405.0, 137.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-59",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 421.0, 243.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 15.0, 570.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-58",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set posMax $1",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 30.0, 435.0, 141.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-57",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 419.0, 134.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 15.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-52",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "/ 127.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 75.0, 375.0, 41.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-51",
+					"fontname" : "Arial",
+					"outlettype" : [ "float" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "rslider",
+					"presentation_rect" : [ 15.0, 195.0, 140.0, 21.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 15.0, 315.0, 140.0, 21.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-44",
+					"outlettype" : [ "", "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "main volume",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 300.0, 30.0, 79.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 390.0, 30.0, 79.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-42",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "slider",
+					"presentation_rect" : [ 270.0, 15.0, 20.0, 140.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 360.0, 15.0, 20.0, 140.0 ],
+					"numoutlets" : 1,
+					"size" : 150.0,
+					"presentation" : 1,
+					"id" : "obj-41",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "release time in seconds\nfor fading out old synth",
+					"linecount" : 2,
+					"presentation_linecount" : 2,
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 120.0, 45.0, 137.0, 34.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 195.0, 165.0, 137.0, 34.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-40",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "loadmess 1.",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 135.0, 195.0, 75.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-38",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ],
+					"hidden" : 1
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "pack s 1.",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 60.0, 195.0, 59.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-32",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "flonum",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 60.0, 45.0, 50.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 135.0, 165.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"presentation" : 1,
+					"id" : "obj-28",
+					"fontname" : "Arial",
+					"outlettype" : [ "float", "bang" ],
+					"minimum" : 0.0
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "db",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 420.0, 195.0, 24.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-23",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 672.0, 282.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 60.0, 255.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-21",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo func value $1 $2",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 673.0, 259.0, 0.0, 0.0 ],
+					"numinlets" : 2,
+					"patching_rect" : [ 60.0, 225.0, 119.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-17",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "tosymbol",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 673.0, 229.0, 0.0, 0.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 60.0, 165.0, 59.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-19",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/Applications/SuperCollider344/sounds/a11wlk01-44_1.aiff",
+					"linecount" : 3,
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 75.0, 105.0, 163.0, 46.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-16",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "conformpath @pathtype boot",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 60.0, 75.0, 165.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-14",
+					"fontname" : "Arial",
+					"outlettype" : [ "", "int" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "button",
+					"presentation_rect" : [ 60.0, 15.0, 20.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 60.0, 15.0, 20.0, 20.0 ],
+					"numoutlets" : 1,
+					"presentation" : 1,
+					"id" : "obj-13",
+					"outlettype" : [ "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "opendialog sound",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 60.0, 45.0, 105.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-4",
+					"fontname" : "Arial",
+					"outlettype" : [ "", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "comment",
+					"text" : "load a soundfile",
+					"fontsize" : 12.0,
+					"presentation_rect" : [ 75.0, 15.0, 95.0, 20.0 ],
+					"numinlets" : 1,
+					"patching_rect" : [ 75.0, 15.0, 95.0, 20.0 ],
+					"numoutlets" : 0,
+					"presentation" : 1,
+					"id" : "obj-2",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "r toSC",
+					"fontsize" : 12.0,
+					"numinlets" : 0,
+					"patching_rect" : [ 555.0, 135.0, 45.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-37",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "s toSC",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 360.0, 255.0, 47.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-36",
+					"fontname" : "Arial"
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "loadmess 127",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 390.0, 60.0, 85.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-35",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ],
+					"hidden" : 1
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "- 127",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 360.0, 165.0, 38.0, 20.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-33",
+					"fontname" : "Arial",
+					"outlettype" : [ "int" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "number",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 360.0, 195.0, 50.0, 20.0 ],
+					"numoutlets" : 2,
+					"id" : "obj-18",
+					"fontname" : "Arial",
+					"outlettype" : [ "int", "bang" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "message",
+					"text" : "/oo synth set vol $1",
+					"fontsize" : 12.0,
+					"numinlets" : 2,
+					"patching_rect" : [ 360.0, 225.0, 114.0, 18.0 ],
+					"numoutlets" : 1,
+					"id" : "obj-12",
+					"fontname" : "Arial",
+					"outlettype" : [ "" ]
+				}
+
+			}
+, 			{
+				"box" : 				{
+					"maxclass" : "newobj",
+					"text" : "udpsend 127.0.0.1 57120",
+					"fontsize" : 12.0,
+					"numinlets" : 1,
+					"patching_rect" : [ 555.0, 165.0, 147.0, 20.0 ],
+					"numoutlets" : 0,
+					"id" : "obj-3",
+					"fontname" : "Arial"
+				}
+
+			}
+ ],
+		"lines" : [ 			{
+				"patchline" : 				{
+					"source" : [ "obj-124", 0 ],
+					"destination" : [ "obj-122", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-125", 1 ],
+					"destination" : [ "obj-124", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-125", 0 ],
+					"destination" : [ "obj-123", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-123", 0 ],
+					"destination" : [ "obj-120", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-116", 0 ],
+					"destination" : [ "obj-118", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-117", 0 ],
+					"destination" : [ "obj-116", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-119", 0 ],
+					"destination" : [ "obj-117", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-118", 0 ],
+					"destination" : [ "obj-121", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-120", 0 ],
+					"destination" : [ "obj-121", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-122", 0 ],
+					"destination" : [ "obj-121", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-113", 0 ],
+					"destination" : [ "obj-111", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-114", 1 ],
+					"destination" : [ "obj-113", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-114", 0 ],
+					"destination" : [ "obj-112", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-112", 0 ],
+					"destination" : [ "obj-109", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-111", 0 ],
+					"destination" : [ "obj-110", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-109", 0 ],
+					"destination" : [ "obj-110", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-107", 0 ],
+					"destination" : [ "obj-110", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-108", 0 ],
+					"destination" : [ "obj-106", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-106", 0 ],
+					"destination" : [ "obj-105", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-105", 0 ],
+					"destination" : [ "obj-107", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-103", 0 ],
+					"destination" : [ "obj-101", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-101", 0 ],
+					"destination" : [ "obj-98", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-102", 0 ],
+					"destination" : [ "obj-100", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-103", 1 ],
+					"destination" : [ "obj-102", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-94", 0 ],
+					"destination" : [ "obj-96", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-95", 0 ],
+					"destination" : [ "obj-94", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-97", 0 ],
+					"destination" : [ "obj-95", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-96", 0 ],
+					"destination" : [ "obj-99", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-98", 0 ],
+					"destination" : [ "obj-99", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-100", 0 ],
+					"destination" : [ "obj-99", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-78", 1 ],
+					"destination" : [ "obj-77", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-78", 0 ],
+					"destination" : [ "obj-76", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-77", 0 ],
+					"destination" : [ "obj-75", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-75", 0 ],
+					"destination" : [ "obj-74", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-76", 0 ],
+					"destination" : [ "obj-73", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-73", 0 ],
+					"destination" : [ "obj-74", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-71", 0 ],
+					"destination" : [ "obj-74", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-72", 0 ],
+					"destination" : [ "obj-70", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-70", 0 ],
+					"destination" : [ "obj-69", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-69", 0 ],
+					"destination" : [ "obj-71", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-68", 0 ],
+					"destination" : [ "obj-65", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-66", 0 ],
+					"destination" : [ "obj-68", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-64", 0 ],
+					"destination" : [ "obj-66", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-65", 0 ],
+					"destination" : [ "obj-58", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-59", 0 ],
+					"destination" : [ "obj-58", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-52", 0 ],
+					"destination" : [ "obj-59", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-57", 0 ],
+					"destination" : [ "obj-58", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-51", 0 ],
+					"destination" : [ "obj-57", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-44", 0 ],
+					"destination" : [ "obj-52", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-44", 1 ],
+					"destination" : [ "obj-51", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-41", 0 ],
+					"destination" : [ "obj-33", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-35", 0 ],
+					"destination" : [ "obj-41", 0 ],
+					"hidden" : 1,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-38", 0 ],
+					"destination" : [ "obj-28", 0 ],
+					"hidden" : 1,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-28", 0 ],
+					"destination" : [ "obj-32", 1 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-32", 0 ],
+					"destination" : [ "obj-17", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-19", 0 ],
+					"destination" : [ "obj-32", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-17", 0 ],
+					"destination" : [ "obj-21", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-14", 0 ],
+					"destination" : [ "obj-19", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-14", 0 ],
+					"destination" : [ "obj-16", 1 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-4", 0 ],
+					"destination" : [ "obj-14", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-13", 0 ],
+					"destination" : [ "obj-4", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-37", 0 ],
+					"destination" : [ "obj-3", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-33", 0 ],
+					"destination" : [ "obj-18", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-18", 0 ],
+					"destination" : [ "obj-12", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+, 			{
+				"patchline" : 				{
+					"source" : [ "obj-12", 0 ],
+					"destination" : [ "obj-36", 0 ],
+					"hidden" : 0,
+					"midpoints" : [  ]
+				}
+
+			}
+ ]
+	}
+
+}

Added: OpenObject/examples2/oo_soundfiles.scd
===================================================================
--- OpenObject/examples2/oo_soundfiles.scd	                        (rev 0)
+++ OpenObject/examples2/oo_soundfiles.scd	2013-12-28 23:05:48 UTC (rev 2679)
@@ -0,0 +1,49 @@
+// example for granulating a soundfile using gui built in MaxMSP.
+// see attached file 'oo_soundfiles.maxpat'.
+// SuperCollider listens on port 57120, so messages must be sent to this port.
+
+(
+s.waitForBoot{
+	var func, buffers, synth;
+	SynthDef(\granulate, {|buf, out= 0, gate= 1,
+		vol= 0,//overal volume in db (0 = unity gain)
+		atk= 0.01, rel= 1,//cross fade times when changing buffer
+		posMin= 0, posMax= 1, posRate= 1,//buffer offset boundaries and rate of chage
+		panMin= -1, panMax= 1, panRate= 1,//panning boundaries and rate of change
+		pchMin= 0.9, pchMax= 1.1, pchRate= 1,//playback speed boundaries and rate of chage
+		trgMin= 0.005, trgMax= 0.5, trgRate= 1,//trigger density
+		durMin= 0.005, durMax= 0.5, durRate= 1//duration boundaries and rate of change
+	|
+		var env= EnvGen.kr(Env.asr(atk, 1, rel), gate, doneAction:2);
+		var pos= LFDNoise1.kr(posRate).range(posMin, posMax);
+		var pan= LFDNoise1.kr(panRate).range(panMin, panMax);
+		var pch= LFDNoise1.kr(pchRate).range(pchMin, pchMax);
+		var trg= Impulse.kr(1/LFDNoise1.kr(trgRate).exprange(trgMin.max(0.001), trgMax));
+		var dur= LFDNoise1.kr(durRate).exprange(durMin.max(0.001), durMax);
+		var snd= GrainBuf.ar(1, trg, dur, buf, pch, pos, 4);
+		Out.ar(out, Pan2.ar(snd, pan, env*vol.dbamp));
+	}).add;
+	s.sync;
+	buffers= List.newClear(5);//hold buffers and free later
+	OpenObject.start;
+	func= {|path, releaseTime= 1|
+		var b;
+		if(File.exists(path), {
+			buffers.pop.free;//free previous
+			("loading file"+path.asString.quote).postln;
+			Routine.run({
+				b= Buffer.readChannel(s, path, channels:[0]);
+				buffers.addFirst(b);
+				s.sync;
+				synth.release;//stop and fade out previous
+				synth= Synth(\granulate, [\buf, b, \rel, releaseTime]);
+				s.sync;
+				OpenObject.put(\synth, synth);//oo access
+			});
+		}, {
+			("file"+path.asString.quote+"not found").warn;
+		});
+	};
+	OpenObject.put(\func, func);//oo access
+};
+)

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/