SF.net SVN: supercollider:[9092] trunk/build/Help

View: New views
2 Messages — Rating Filter:   Alert me  

SF.net SVN: supercollider:[9092] trunk/build/Help

by jmfuo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Revision: 9092
          http://supercollider.svn.sourceforge.net/supercollider/?rev=9092&view=rev
Author:   jmfuo
Date:     2009-04-21 18:27:14 +0000 (Tue, 21 Apr 2009)

Log Message:
-----------
Replaced some remaining GUI. syntax

Modified Paths:
--------------
    trunk/build/Help/3vs2/Spawning.html
    trunk/build/Help/Control/ControlSpec.html
    trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html
    trunk/build/Help/UGens/MachineListening/MFCC.html

Modified: trunk/build/Help/3vs2/Spawning.html
===================================================================
--- trunk/build/Help/3vs2/Spawning.html 2009-04-21 16:04:09 UTC (rev 9091)
+++ trunk/build/Help/3vs2/Spawning.html 2009-04-21 18:27:14 UTC (rev 9092)
@@ -5,29 +5,28 @@
 <meta http-equiv="Content-Style-Type" content="text/css">
 <title></title>
 <meta name="Generator" content="Cocoa HTML Writer">
-<meta name="CocoaVersion" content="824.44">
+<meta name="CocoaVersion" content="949.43">
 <style type="text/css">
 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.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: 12.0px Helvetica}
-p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #84301e}
+p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
 p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
 p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
 p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0827ac}
-p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p11 {margin: 0.0px 0.0px 0.0px 10.0px; font: 9.0px Monaco; color: #000000}
-p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
-p.p13 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #84301e; min-height: 12.0px}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
+p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
+p.p10 {margin: 0.0px 0.0px 0.0px 10.0px; font: 9.0px Monaco}
+p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
+p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000; min-height: 12.0px}
 span.s1 {font: 12.0px Helvetica; color: #000000}
 span.s2 {color: #000000}
-span.s3 {color: #0827ac}
+span.s3 {color: #0000bf}
 span.s4 {color: #606060}
-span.s5 {color: #84301e}
+span.s5 {color: #bf0000}
 span.s6 {color: #0000bf}
 span.s7 {font: 12.0px Helvetica}
-span.s8 {color: #4d6a25}
+span.s8 {color: #007300}
 span.Apple-tab-span {white-space:pre}
 </style>
 </head>
@@ -42,7 +41,7 @@
 <p class="p5"><span class="Apple-tab-span"> </span>(</p>
 <p class="p6"><span class="s1"><span class="Apple-tab-span"> </span></span><span class="s2">x = </span><span class="s3">SynthDef</span><span class="s2">(</span>"Help-SynthDef"<span class="s2">,<span class="Apple-converted-space"> </span></span></p>
 <p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{ <span class="s3">arg</span> out=0;</p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span> <span class="s3">Out</span>.ar(out, <span class="s3">PinkNoise</span>.ar(0.1))</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s3">Out</span>.ar(out, <span class="s3">PinkNoise</span>.ar(0.1))</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}).play; </span>// SynthDef-play returns a Synth object.</p>
 <p class="p5"><span class="Apple-tab-span"> </span>)<span class="Apple-converted-space"> </span></p>
 <p class="p7"><br></p>
@@ -72,22 +71,22 @@
 <p class="p3">In SC3 time-based sequences of events can be implemented using Routines. A <b>Routine</b> which yields a number can be scheduled using a clock:</p>
 <p class="p2"><br></p>
 <p class="p5"><span class="Apple-tab-span"> </span>(</p>
-<p class="p9"><span class="Apple-tab-span"> </span><span class="s6">var</span> w, r;</p>
-<p class="p9"><span class="Apple-tab-span"> </span>w = <span class="s6">GUI</span>.window.new(<span class="s4">"trem"</span>, <span class="s6">Rect</span>(512, 256, 360, 130));</p>
-<p class="p9"><span class="Apple-tab-span"> </span>w.front;</p>
-<p class="p9"><span class="Apple-tab-span"> </span>r = <span class="s6">Routine</span>({ <span class="s6">arg</span> time;</p>
-<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>60.do({ <span class="s6">arg</span> i;</p>
-<p class="p10"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.05.yield; </span>// wait for 0.05 seconds</p>
-<p class="p9"><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="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.bounds = w.bounds.moveBy(10.rand2, 10.rand2);</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.alpha = cos(i*0.1pi)*0.5+0.5;</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}.defer;</p>
-<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
-<p class="p10"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.yield; </span>// wait for 1 second before closing w</p>
-<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.close;</p>
-<p class="p9"><span class="Apple-tab-span"> </span>});</p>
-<p class="p12"><span class="s2"><span class="Apple-tab-span"> </span></span>SystemClock<span class="s2">.play(r);</span></p>
-<p class="p5"><span class="s2"><span class="Apple-tab-span"> </span></span>)</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="s6">var</span> w, r;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>w = <span class="s6">Window</span>.new(<span class="s4">"trem"</span>, <span class="s6">Rect</span>(512, 256, 360, 130));</p>
+<p class="p5"><span class="Apple-tab-span"> </span>w.front;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>r = <span class="s6">Routine</span>({ <span class="s6">arg</span> time;</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>60.do({ <span class="s6">arg</span> i;</p>
+<p class="p9"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.05.yield; </span>// wait for 0.05 seconds</p>
+<p class="p5"><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="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.bounds = w.bounds.moveBy(10.rand2, 10.rand2);</p>
+<p class="p10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.alpha = cos(i*0.1pi)*0.5+0.5;</p>
+<p class="p10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}.defer;</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
+<p class="p9"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.yield; </span>// wait for 1 second before closing w</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.close;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>});</p>
+<p class="p11"><span class="s2"><span class="Apple-tab-span"> </span></span>SystemClock<span class="s2">.play(r);</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>)</p>
 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
 <p class="p3">Note that this implementation avoids one of the stranger aspects of the SC2 approach: The need to start a Synth to schedule time-based behavior, even if no audio is involved.</p>
 <p class="p2"><br></p>
@@ -161,19 +160,19 @@
 <p class="p7"><span class="Apple-tab-span"> </span></p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>r.stop; <span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// stop this but not that or the other</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>q.reset;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// reset that while playing</p>
-<p class="p13"><span class="Apple-tab-span"> </span></p>
+<p class="p12"><span class="Apple-tab-span"> </span></p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>c = </span><span class="s3">TempoClock</span><span class="s2">.new;<span class="Apple-tab-span"> </span></span>// make a TempoClock</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>r.reset;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// have to reset this because it's stopped</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>c.play(r);<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// play this in the new clock; starts from the beginning</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>c.tempo = 16;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// increase the tempo of this</p>
-<p class="p13"><span class="Apple-tab-span"> </span></p>
+<p class="p12"><span class="Apple-tab-span"> </span></p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span></span><span class="s3">SystemClock</span><span class="s2">.clear; <span class="Apple-tab-span"> </span></span>// clear EVERYTHING scheduled in the SystemClock; so that and the other<span class="Apple-converted-space"> </span></p>
 <p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>// but not this</p>
-<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p12"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p4"><span class="s2"><span class="Apple-tab-span"> </span>c.clear;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// clear everything scheduled in c, i.e. this</p>
 <p class="p4"><span class="s2"><span class="Apple-tab-span"> </span>c.play(r);<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// since it wasn't stopped, we don't have to reset this</p>
 <p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>// and it picks up where it left off</p>
-<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p12"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p4"><span class="s2"><span class="Apple-tab-span"> </span>c.stop<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// stop c, destroy its scheduler, and release its OS thread</p>
 <p class="p2"><br></p>
 <p class="p3">For convenience pauseable scheduling can be implemented with a <b>Task</b>. Task.new takes two arguments, a function and a clock, and creates it's own <b>Routine</b>. If you don't specify a clock, it will create a <b>TempoClock</b> for you. Since you don't have to explicitly create a Clock or Routine, use of Task can result in code that is a little more compact.</p>

Modified: trunk/build/Help/Control/ControlSpec.html
===================================================================
--- trunk/build/Help/Control/ControlSpec.html 2009-04-21 16:04:09 UTC (rev 9091)
+++ trunk/build/Help/Control/ControlSpec.html 2009-04-21 18:27:14 UTC (rev 9092)
@@ -21,27 +21,18 @@
 p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
 p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica; min-height: 17.0px}
 p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 11.0px Monaco}
-p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #bf0000}
-p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #007300}
-p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
+p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #a41c14}
+p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #356f14}
+p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #a41c14}
 p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
-p.p19 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p20 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
+p.p19 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0018b8}
 span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #0000bf}
-span.s3 {color: #0000bf}
-span.s4 {color: #0000bf}
-span.s5 {font: 12.0px Helvetica}
-span.s6 {color: #007300}
-span.s7 {color: #0000bf}
-span.s8 {color: #000000}
-span.s9 {color: #007300}
-span.s10 {color: #0000bf}
-span.s11 {color: #606060}
-span.s12 {text-decoration: underline ; color: #0000bf}
-span.s13 {color: #0000bf}
-span.s14 {color: #0000bf}
-span.s15 {color: #007300}
+span.s2 {color: #0018b8}
+span.s3 {font: 12.0px Helvetica}
+span.s4 {color: #356f14}
+span.s5 {color: #000000}
+span.s6 {color: #606060}
+span.s7 {text-decoration: underline ; color: #0018b8}
 span.Apple-tab-span {white-space:pre}
 </style>
 </head>
@@ -50,7 +41,7 @@
 <p class="p2"><br></p>
 <p class="p3"><b>Inherits from: Object : </b><a href="Spec.html"><span class="s2"><b>Spec</b></span></a></p>
 <p class="p4"><br></p>
-<p class="p3">The original, and most common spec (see <a href="Spec.html"><span class="s3">Spec</span></a> ). A ControlSpec is used by GUI sliders and knobs to specify the range and curve of the controls.<span class="Apple-converted-space">  </span>ControlSpec may be used in many ways to map from linear 0..1 range to your desired range and back.</p>
+<p class="p3">The original, and most common spec (see <a href="Spec.html"><span class="s2">Spec</span></a> ). A ControlSpec is used by GUI sliders and knobs to specify the range and curve of the controls.<span class="Apple-converted-space">  </span>ControlSpec may be used in many ways to map from linear 0..1 range to your desired range and back.</p>
 <p class="p2"><br></p>
 <p class="p3">The most common way to create one is by<span class="Apple-converted-space"> </span></p>
 <p class="p2"><br></p>
@@ -67,7 +58,7 @@
 <p class="p10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>default </b>- The default value</p>
 <p class="p10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>units </b>- The units, e.g. "hz". Used by some gui's as a unit label.</p>
 <p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>g = <span class="s4">ControlSpec</span>(0,2000,\exp,0.1, 220,"Hz");</p>
+<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>g = <span class="s2">ControlSpec</span>(0,2000,\exp,0.1, 220,"Hz");</p>
 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
 <p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>or</p>
 <p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
@@ -102,19 +93,19 @@
 <p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p8"><b><span class="Apple-tab-span"> </span>storeArgs</b></p>
 <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
-<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns: </span>[minval,maxval,warp.asSpecifier,step,default,units]<span class="s5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span></p>
+<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns: </span>[minval,maxval,warp.asSpecifier,step,default,units]<span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span></p>
 <p class="p7"><br></p>
 <p class="p8"><b><span class="Apple-tab-span"> </span>constrain (value)</b></p>
 <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
-<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns<span class="Apple-converted-space"> </span></span> value.asFloat.clip(clipLo, clipHi).round(step)<span class="s5">.</span></p>
+<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns<span class="Apple-converted-space"> </span></span> value.asFloat.clip(clipLo, clipHi).round(step)<span class="s3">.</span></p>
 <p class="p7"><br></p>
 <p class="p8"><b><span class="Apple-tab-span"> </span>range</b></p>
 <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
-<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns </span>maxval - minval<span class="s5">.</span></p>
+<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns </span>maxval - minval<span class="s3">.</span></p>
 <p class="p7"><br></p>
 <p class="p8"><b><span class="Apple-tab-span"> </span>ratio</b></p>
 <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
-<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns </span>maxval / minval<span class="s5">.</span></p>
+<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Returns </span>maxval / minval<span class="s3">.</span></p>
 <p class="p7"><br></p>
 <p class="p8"><b><span class="Apple-tab-span"> </span>map (value)</b></p>
 <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
@@ -133,104 +124,104 @@
 <p class="p12"><b>Examples</b></p>
 <p class="p2"><br></p>
 <p class="p15">// array is used as arguments to ControlSpec.new( minval, maxval, warp, step, default)</p>
-<p class="p5">[300,3000,<span class="s6">\exponential</span>,100].asSpec.dump</p>
-<p class="p5"><span class="s7">Instance</span> of <span class="s7">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s7">FC08</span>, gc=00, fmt=00, flg=00, set=03)</p>
+<p class="p5">[300,3000,<span class="s4">\exponential</span>,100].asSpec.dump</p>
+<p class="p5"><span class="s2">Instance</span> of <span class="s2">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s2">FC08</span>, gc=00, fmt=00, flg=00, set=03)</p>
 <p class="p5"><span class="Apple-converted-space">  </span>instance variables [6]</p>
-<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s7">Integer</span> 300</p>
-<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s7">Integer</span> 3000</p>
-<p class="p16"><span class="s8"><span class="Apple-converted-space">    </span>warp : </span><span class="s7">Symbol</span><span class="s8"> </span>'exponential'</p>
-<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s7">Integer</span> 100</p>
-<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s7">Integer</span> 300</p>
+<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s2">Integer</span> 300</p>
+<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s2">Integer</span> 3000</p>
+<p class="p16"><span class="s5"><span class="Apple-converted-space">    </span>warp : </span><span class="s2">Symbol</span><span class="s5"> </span>'exponential'</p>
+<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s2">Integer</span> 100</p>
+<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s2">Integer</span> 300</p>
 <p class="p5">}</p>
 <p class="p4"><br></p>
 <p class="p15">// partially specified ...</p>
 <p class="p5">[-48,48].asSpec.dump</p>
-<p class="p5"><span class="s7">Instance</span> of <span class="s7">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s7">FF18</span>, gc=00, fmt=00, flg=00, set=03)</p>
+<p class="p5"><span class="s2">Instance</span> of <span class="s2">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s2">FF18</span>, gc=00, fmt=00, flg=00, set=03)</p>
 <p class="p5"><span class="Apple-converted-space">  </span>instance variables [6]</p>
-<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s7">Integer</span> -48</p>
-<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s7">Integer</span> 48</p>
-<p class="p5"><span class="Apple-converted-space">    </span>warp : <span class="s7">Symbol</span> <span class="s6">'linear'</span></p>
-<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s7">Float</span> 0</p>
-<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s7">Integer</span> -48</p>
+<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s2">Integer</span> -48</p>
+<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s2">Integer</span> 48</p>
+<p class="p5"><span class="Apple-converted-space">    </span>warp : <span class="s2">Symbol</span> <span class="s4">'linear'</span></p>
+<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s2">Float</span> 0</p>
+<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s2">Integer</span> -48</p>
 <p class="p5">}</p>
 <p class="p2"><br></p>
 <p class="p15">// a Symbol</p>
-<p class="p3"><span class="s9">\freq</span>.asSpec.dump</p>
-<p class="p5"><span class="s10">Instance</span> of <span class="s10">ControlSpec</span> {<span class="Apple-converted-space">    </span>(180<span class="s10">F4910</span>, gc=3<span class="s10">C</span>, fmt=00, flg=00, set=03)</p>
+<p class="p3"><span class="s4">\freq</span>.asSpec.dump</p>
+<p class="p5"><span class="s2">Instance</span> of <span class="s2">ControlSpec</span> {<span class="Apple-converted-space">    </span>(180<span class="s2">F4910</span>, gc=3<span class="s2">C</span>, fmt=00, flg=00, set=03)</p>
 <p class="p5"><span class="Apple-converted-space">  </span>instance variables [8]</p>
-<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s10">Integer</span> 20</p>
-<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s10">Integer</span> 20000</p>
-<p class="p5"><span class="Apple-converted-space">    </span>warp : instance of <span class="s10">ExponentialWarp</span> (17<span class="s10">FEDB30</span>, size=1, set=1)</p>
-<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s10">Integer</span> 0</p>
-<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s10">Integer</span> 440</p>
-<p class="p5"><span class="Apple-converted-space">    </span>units : <span class="s11">" Hz"</span></p>
-<p class="p5"><span class="Apple-converted-space">    </span>clipLo : <span class="s10">Integer</span> 20</p>
-<p class="p5"><span class="Apple-converted-space">    </span>clipHi : <span class="s10">Integer</span> 20000</p>
+<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s2">Integer</span> 20</p>
+<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s2">Integer</span> 20000</p>
+<p class="p5"><span class="Apple-converted-space">    </span>warp : instance of <span class="s2">ExponentialWarp</span> (17<span class="s2">FEDB30</span>, size=1, set=1)</p>
+<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s2">Integer</span> 0</p>
+<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s2">Integer</span> 440</p>
+<p class="p5"><span class="Apple-converted-space">    </span>units : <span class="s6">" Hz"</span></p>
+<p class="p5"><span class="Apple-converted-space">    </span>clipLo : <span class="s2">Integer</span> 20</p>
+<p class="p5"><span class="Apple-converted-space">    </span>clipHi : <span class="s2">Integer</span> 20000</p>
 <p class="p5">}</p>
-<p class="p3">In this case \freq was looked up in the Specs dictionary.<span class="Apple-converted-space">  </span>See <a href="Spec.html"><span class="s12">Spec</span></a></p>
+<p class="p3">In this case \freq was looked up in the Specs dictionary.<span class="Apple-converted-space">  </span>See <a href="Spec.html"><span class="s7">Spec</span></a></p>
 <p class="p3">Some common mappings are initialized in ControlSpec.initClass</p>
 <p class="p3">and also (for the moment) in Crucial-initClass</p>
 <p class="p2"><br></p>
 <p class="p15">// nil becomes a default ControlSpec</p>
-<p class="p5"><span class="s7">nil</span>.asSpec.dump</p>
-<p class="p5"><span class="s7">Instance</span> of <span class="s7">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s7">FF18</span>, gc=00, fmt=00, flg=00, set=03)</p>
+<p class="p5"><span class="s2">nil</span>.asSpec.dump</p>
+<p class="p5"><span class="s2">Instance</span> of <span class="s2">ControlSpec</span> {<span class="Apple-converted-space">    </span>(0313<span class="s2">FF18</span>, gc=00, fmt=00, flg=00, set=03)</p>
 <p class="p5"><span class="Apple-converted-space">  </span>instance variables [6]</p>
-<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s7">Float</span> 0</p>
-<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s7">Float</span> 1</p>
-<p class="p5"><span class="Apple-converted-space">    </span>warp : <span class="s7">Symbol</span> <span class="s6">'linear'</span></p>
-<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s7">Float</span> 0</p>
-<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s7">Float</span> 0</p>
+<p class="p5"><span class="Apple-converted-space">    </span>minval : <span class="s2">Float</span> 0</p>
+<p class="p5"><span class="Apple-converted-space">    </span>maxval : <span class="s2">Float</span> 1</p>
+<p class="p5"><span class="Apple-converted-space">    </span>warp : <span class="s2">Symbol</span> <span class="s4">'linear'</span></p>
+<p class="p5"><span class="Apple-converted-space">    </span>step : <span class="s2">Float</span> 0</p>
+<p class="p5"><span class="Apple-converted-space">    </span>default : <span class="s2">Float</span> 0</p>
 <p class="p5">}</p>
 <p class="p2"><br></p>
 <p class="p17">// example</p>
 <p class="p4"><br></p>
 <p class="p17">// make a frquency spec with an exponential range from 20 to 20000,<span class="Apple-converted-space"> </span></p>
 <p class="p17">// give it a rounding of 30 (Hz)</p>
-<p class="p5">a = <span class="s9">\freq</span>.asSpec;</p>
+<p class="p5">a = <span class="s4">\freq</span>.asSpec;</p>
 <p class="p5">a.step = 100;</p>
 <p class="p4"><br></p>
 <p class="p17">// equivalent:</p>
-<p class="p5">a = [20, 20000, <span class="s9">'exp'</span>, 100, 440].asSpec;</p>
+<p class="p5">a = [20, 20000, <span class="s4">'exp'</span>, 100, 440].asSpec;</p>
 <p class="p5">a.dump;</p>
 <p class="p4"><br></p>
-<p class="p17"><span class="s8">a.constrain(800); </span>// make sure it is in range and round it.</p>
-<p class="p17"><span class="s8">a.constrain(803); </span>// make sure it is in range and round it.<span class="Apple-tab-span"> </span></p>
+<p class="p17"><span class="s5">a.constrain(800); </span>// make sure it is in range and round it.</p>
+<p class="p17"><span class="s5">a.constrain(803); </span>// make sure it is in range and round it.<span class="Apple-tab-span"> </span></p>
 <p class="p4"><br></p>
 <p class="p5">a.map(0.5);</p>
-<p class="p17"><span class="s8">a.map(0.0); </span>// returns min</p>
-<p class="p17"><span class="s8">a.map(1.5); </span>// exceeds the area: clip, returns max</p>
+<p class="p17"><span class="s5">a.map(0.0); </span>// returns min</p>
+<p class="p17"><span class="s5">a.map(1.5); </span>// exceeds the area: clip, returns max</p>
 <p class="p4"><br></p>
 <p class="p5">a.unmap(4000);</p>
 <p class="p5">a.unmap(22.0);<span class="Apple-tab-span"> </span></p>
 <p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
 <p class="p17">// using spec for sliders:</p>
 <p class="p5">(</p>
-<p class="p5"><span class="s13">var</span> w, c, d;</p>
-<p class="p5">w = <span class="s13">GUI</span>.window.new(<span class="s11">"control"</span>, <span class="s13">Rect</span>(128, 64, 340, 160));</p>
+<p class="p5"><span class="s2">var</span> w, c, d;</p>
+<p class="p5">w = <span class="s2">Window</span>.new(<span class="s6">"control"</span>, <span class="s2">Rect</span>(128, 64, 340, 160));</p>
 <p class="p5">w.front;</p>
-<p class="p5">c = <span class="s13">GUI</span>.slider.new(w, <span class="s13">Rect</span>(10, 10, 300, 30));</p>
-<p class="p5">d = <span class="s13">GUI</span>.staticText.new(w, <span class="s13">Rect</span>(10, 40, 300, 30));</p>
+<p class="p5">c = <span class="s2">S</span>lider.new(w, <span class="s2">Rect</span>(10, 10, 300, 30));</p>
+<p class="p5">d = <span class="s2">S</span>taticText.new(w, <span class="s2">Rect</span>(10, 40, 300, 30));</p>
 <p class="p5">c.action = { </p>
-<p class="p18"><span class="s8"><span class="Apple-tab-span"> </span>d.string = </span>"unmapped value"</p>
+<p class="p18"><span class="s5"><span class="Apple-tab-span"> </span>d.string = </span>"unmapped value"</p>
 <p class="p5"><span class="Apple-tab-span"> </span>+ c.value.round(0.01)<span class="Apple-converted-space"> </span></p>
-<p class="p18"><span class="s8"><span class="Apple-tab-span"> </span>+ </span>"......"<span class="s8"><span class="Apple-converted-space"> </span></span></p>
-<p class="p18"><span class="s8"><span class="Apple-tab-span"> </span>+ </span>"mapped value"<span class="s8"><span class="Apple-converted-space"> </span></span></p>
+<p class="p18"><span class="s5"><span class="Apple-tab-span"> </span>+ </span>"......"<span class="s5"><span class="Apple-converted-space"> </span></span></p>
+<p class="p18"><span class="s5"><span class="Apple-tab-span"> </span>+ </span>"mapped value"<span class="s5"><span class="Apple-converted-space"> </span></span></p>
 <p class="p5"><span class="Apple-tab-span"> </span>+ a.map(c.value)</p>
 <p class="p5">};</p>
 <p class="p5">)</p>
 <p class="p4"><span class="Apple-tab-span"> </span></p>
 <p class="p3">ControlSpec-map can also be used to map ugens<span class="Apple-converted-space"> </span></p>
 <p class="p5">(</p>
-<p class="p5"><span class="s14">var</span> spec;</p>
-<p class="p5">spec = [ 100,18000,<span class="s15">\exp</span>].asSpec;</p>
+<p class="p5"><span class="s2">var</span> spec;</p>
+<p class="p5">spec = [ 100,18000,<span class="s4">\exp</span>].asSpec;</p>
 <p class="p5">{</p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="s14">var</span> freq,osc;</p>
-<p class="p5"><span class="Apple-tab-span"> </span>osc = <span class="s14">SinOsc</span>.kr(0.1).range(0,1);</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="s2">var</span> freq,osc;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>osc = <span class="s2">SinOsc</span>.kr(0.1).range(0,1);</p>
 <p class="p5"><span class="Apple-tab-span"> </span>freq = spec.map(<span class="Apple-converted-space">  </span>osc );</p>
 <p class="p4"><span class="Apple-tab-span"> </span></p>
-<p class="p19"><span class="s8"><span class="Apple-tab-span"> </span>freq.dump;</span>// BinaryOpUGen</p>
+<p class="p17"><span class="s5"><span class="Apple-tab-span"> </span>freq.dump;</span>// BinaryOpUGen</p>
 <p class="p4"><br></p>
-<p class="p20"><span class="s8"><span class="Apple-tab-span"> </span></span>SinOsc<span class="s8">.ar(</span></p>
+<p class="p19"><span class="s5"><span class="Apple-tab-span"> </span></span>SinOsc<span class="s5">.ar(</span></p>
 <p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-converted-space">  </span>freq</p>
 <p class="p5"><span class="Apple-tab-span"> </span>)</p>
 <p class="p5">}.play</p>

Modified: trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html
===================================================================
--- trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html 2009-04-21 16:04:09 UTC (rev 9091)
+++ trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html 2009-04-21 18:27:14 UTC (rev 9092)
@@ -10,7 +10,7 @@
 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: #0018e8}
+p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #001ee6}
 p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
 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}
@@ -20,26 +20,25 @@
 p.p11 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica; min-height: 14.0px}
 p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica; min-height: 17.0px}
 p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica; min-height: 17.0px}
-p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
-p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
-p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
+p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #a41c14}
+p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
+p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
 span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #5662aa}
+span.s2 {color: #5964a6}
 span.s3 {color: #000000}
 span.s4 {text-decoration: underline}
-span.s5 {text-decoration: underline ; color: #3148bf}
+span.s5 {text-decoration: underline ; color: #374cb9}
 span.s6 {color: #6f7178}
-span.s7 {color: #5f68a0}
+span.s7 {color: #61699d}
 span.s8 {font: 14.0px Helvetica}
-span.s9 {color: #2d49d4}
-span.s10 {text-decoration: underline ; color: #0018e8}
+span.s9 {color: #344ece}
+span.s10 {text-decoration: underline ; color: #001ee6}
 span.s11 {text-decoration: underline ; color: #000000}
-span.s12 {color: #0013bb}
-span.s13 {color: #0000bf}
-span.s14 {color: #007300}
-span.s15 {color: #606060}
+span.s12 {color: #061fb5}
+span.s13 {text-decoration: underline ; color: #0727e0}
+span.s14 {color: #0018b8}
+span.s15 {color: #356f14}
+span.s16 {color: #606060}
 span.Apple-tab-span {white-space:pre}
 </style>
 </head>
@@ -128,345 +127,345 @@
 <p class="p8"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
 <p class="p10"><b>Examples</b></p>
 <p class="p12"><br></p>
-<p class="p1"><span class="s10"><a href="../GUI-Overview.html">GUI<span class="s11">-</span><span class="s4">Overview</span></a></span> contains an elobarate example on how to make a gui widget with <span class="s12">SCUserView</span> using interface level coding. <span class="s12">For</span> a <span class="s12">Tutorial</span> on how to write a subclass of <span class="s12">SCUserView</span> to make your own custom <span class="s12">GUI</span> <span class="s12">Widgets</span>, see <a href="SCUserViewSubclassing/SCUserView-Subclassing.html"><span class="s12">SCUserView</span><span class="s10">-</span><span class="s12">Subclassing</span></a></p>
+<p class="p1"><span class="s10"><a href="../GUI-Overview.html">GUI<span class="s11">-</span><span class="s4">Overview</span></a></span> contains an elobarate example on how to make a gui widget with <span class="s12">SCUserView</span> using interface level coding. <span class="s12">For</span> a <span class="s12">Tutorial</span> on how to write a subclass of <span class="s12">SCUserView</span> to make your own custom <span class="s12">GUI</span> <span class="s12">Widgets</span>, see <a href="SCUserViewSubclassing/SCUserView-Subclassing.html"><span class="s12">SCUserView</span><span class="s13">-</span><span class="s12">Subclassing</span></a></p>
 <p class="p13"><br></p>
 <p class="p14">// Basic Usage. Resize the window to refresh the drawing. Or use mouse click.</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p17"><span class="s3">w=</span>SCWindow<span class="s3">.new;</span></p>
-<p class="p16">v=<span class="s13">SCUserView</span>(w, w.view.bounds.insetBy(50,50));</p>
-<p class="p16">v.background_(<span class="s13">Color</span>.rand);</p>
-<p class="p16">v.relativeOrigin=<span class="s13">true</span>;</p>
-<p class="p16">v.drawFunc={<span class="s13">|uview|</span></p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo(0@...);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(uview.bounds.width@...);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.stroke;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>};</p>
-<p class="p16">v.mouseDownAction={v.refresh};</p>
-<p class="p16">w.front;</p>
-<p class="p15"><br></p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15">w=<span class="s14">Window</span>.new;</p>
+<p class="p15">v=<span class="s14">UserView</span>(w, w.view.bounds.insetBy(50,50));</p>
+<p class="p15">v.background_(<span class="s14">Color</span>.rand);</p>
+<p class="p15">v.relativeOrigin=<span class="s14">true</span>;</p>
+<p class="p15">v.drawFunc={<span class="s14">|uview|</span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo(0@...);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(uview.bounds.width@...);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.stroke;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>};</p>
+<p class="p15">v.mouseDownAction={v.refresh};</p>
+<p class="p15">w.front;</p>
+<p class="p3"><br></p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// A More complicated drawing function.</p>
 <p class="p14">// Resize the window to refresh the drawing</p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> func;</p>
-<p class="p15"><br></p>
-<p class="p16">func = {<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.use{</p>
+<p class="p15">(</p>
+<p class="p15"><span class="s14">var</span> func;</p>
+<p class="p3"><br></p>
+<p class="p15">func = {<span class="s14">|me|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.use{</p>
 <p class="p14"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// clipping into the boundingbox</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo((me.bounds.left)@(me.bounds.top));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@...));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (0@...));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo((me.bounds.left)@(me.bounds.top));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.clip;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo((me.bounds.left)@(me.bounds.top));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@...));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (0@...));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo((me.bounds.left)@(me.bounds.top));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.clip;</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
 <p class="p14"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// draw background</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.gray(0.5).set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo((me.bounds.left)@(me.bounds.top));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@...));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (0@...));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo((me.bounds.left)@(me.bounds.top));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.fill;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p15"><br></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.translate(100, 100);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.perform([<span class="s14">\stroke</span>, <span class="s14">\fill</span>].choose);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p16"><span class="Apple-tab-span"> </span>}</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p18"><span class="s3">w = </span><span class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
-<p class="p16">w.view.background_(<span class="s13">Color</span>.white);</p>
-<p class="p16">3.do{<span class="s13">|i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>v = <span class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+(i*120), 100, 100, 100));</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc = func;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.relativeOrigin=<span class="s13">false</span>;</p>
-<p class="p15"><br></p>
-<p class="p16">};</p>
-<p class="p16">w.refresh;</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.gray(0.5).set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo((me.bounds.left)@(me.bounds.top));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (me.bounds.width@...));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(((me.bounds.left)@(me.bounds.top))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>+ (0@...));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo((me.bounds.left)@(me.bounds.top));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.fill;<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p3"><br></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.translate(100, 100);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.perform([<span class="s15">\stroke</span>, <span class="s15">\fill</span>].choose);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p15"><span class="Apple-tab-span"> </span>}</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p16"><span class="s3">w = </span><span class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
+<p class="p15">w.view.background_(<span class="s14">Color</span>.white);</p>
+<p class="p15">3.do{<span class="s14">|i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>v = <span class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+(i*120), 100, 100, 100));</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc = func;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.relativeOrigin=<span class="s14">false</span>;</p>
+<p class="p3"><br></p>
+<p class="p15">};</p>
+<p class="p15">w.refresh;</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Use Relative Coordinates</p>
 <p class="p14">// Set the Origin of Pen in the view's drawFunc relative to the SCUserView.</p>
 <p class="p14">// This is particularly useful if resize is set in such a way the the position of the user view changes.</p>
 <p class="p14">// Try resizing the Window.</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> func;</p>
-<p class="p15"><br></p>
-<p class="p16">func = {<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.use{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.perform([<span class="s14">\stroke</span>, <span class="s14">\fill</span>].choose);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p16"><span class="Apple-tab-span"> </span>}</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p18"><span class="s3">w = </span><span class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
-<p class="p16">w.view.background_(<span class="s13">Color</span>.white);</p>
-<p class="p15"><br></p>
-<p class="p16">3.do{<span class="s13">|i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>v = <span class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+(i*120), 100, 100, 100))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.drawFunc_(func).relativeOrigin_(<span class="s13">true</span>);</p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15"><span class="s14">var</span> func;</p>
+<p class="p3"><br></p>
+<p class="p15">func = {<span class="s14">|me|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.use{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.perform([<span class="s15">\stroke</span>, <span class="s15">\fill</span>].choose);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p15"><span class="Apple-tab-span"> </span>}</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p16"><span class="s3">w = </span><span class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
+<p class="p15">w.view.background_(<span class="s14">Color</span>.white);</p>
+<p class="p3"><br></p>
+<p class="p15">3.do{<span class="s14">|i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>v = <span class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+(i*120), 100, 100, 100))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.drawFunc_(func).relativeOrigin_(<span class="s14">true</span>);</p>
 <p class="p14"><span class="s3"><span class="Apple-tab-span"> </span>v.resize=3; </span>// the func coordinates ar valid even though the view move on resize</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.background_(<span class="s13">Color</span>.rand);</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p16">w.refresh;</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.background_(<span class="s14">Color</span>.rand);</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p15">w.refresh;</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Mouse Tracking</p>
 <p class="p14">// Set the function which should be evaluated if the mouse is at the end of tracking (mouse-up).</p>
 <p class="p14">// This function will be passed four arguments: theView, x coordinate, y coordinate, and keyboard modifiers.</p>
-<p class="p15"><span class="Apple-tab-span"> </span></p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> drawFunc, mouseDownFunc, mouseUpFunc, mouseMoveFunc, sat = 0, absX;</p>
-<p class="p15"><br></p>
-<p class="p16">drawFunc = {<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.use{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.perform([<span class="s14">\stroke</span>, <span class="s14">\fill</span>].choose);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p16"><span class="Apple-tab-span"> </span>}</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p16">mouseDownFunc = {<span class="s13">|me, x, y, mod|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>absX = x;</p>
-<p class="p18"><span class="s3"><span class="Apple-tab-span"> </span>postf(</span>"begin path: x=% realtive mousePosition:%\n"<span class="s3">,absX, me.mousePosition);</span></p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p16">mouseUpFunc = {<span class="s13">|me, x, y, mod|</span></p>
-<p class="p18"><span class="s3"><span class="Apple-tab-span"> </span>postf(</span>"end path: (absX-x)==% realtive mousePosition:%\n"<span class="s3">,(absX-x), me.mousePosition);</span></p>
-<p class="p15"><span class="Apple-tab-span"> </span></p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p16">mouseMoveFunc = {<span class="s13">|me, x, y, mod|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>sat = ((absX-x)/100);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>((me.mousePosition)/(me.bounds.width@...)).postln;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>me.refresh;</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p16">w = <span class="s13">SCWindow</span>.new.front;</p>
-<p class="p16">w.view.background_(<span class="s13">Color</span>.white);</p>
-<p class="p16">3.do{<span class="s13">|i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>v = <span class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+(i*120), 100, 100, 100));</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.background_(<span class="s13">Color</span>.rand);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc = drawFunc;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.mouseDownAction = mouseDownFunc;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.mouseUpAction = mouseUpFunc;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.mouseMoveAction = mouseMoveFunc;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.relativeOrigin = <span class="s13">true</span>;</p>
-<p class="p16">};</p>
-<p class="p16">w.refresh;</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p3"><span class="Apple-tab-span"> </span></p>
+<p class="p15">(</p>
+<p class="p15"><span class="s14">var</span> drawFunc, mouseDownFunc, mouseUpFunc, mouseMoveFunc, sat = 0, absX;</p>
+<p class="p3"><br></p>
+<p class="p15">drawFunc = {<span class="s14">|me|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.use{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.perform([<span class="s15">\stroke</span>, <span class="s15">\fill</span>].choose);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p15"><span class="Apple-tab-span"> </span>}</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p15">mouseDownFunc = {<span class="s14">|me, x, y, mod|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>absX = x;</p>
+<p class="p16"><span class="s3"><span class="Apple-tab-span"> </span>postf(</span>"begin path: x=% realtive mousePosition:%\n"<span class="s3">,absX, me.mousePosition);</span></p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p15">mouseUpFunc = {<span class="s14">|me, x, y, mod|</span></p>
+<p class="p16"><span class="s3"><span class="Apple-tab-span"> </span>postf(</span>"end path: (absX-x)==% realtive mousePosition:%\n"<span class="s3">,(absX-x), me.mousePosition);</span></p>
+<p class="p3"><span class="Apple-tab-span"> </span></p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p15">mouseMoveFunc = {<span class="s14">|me, x, y, mod|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>sat = ((absX-x)/100);</p>
+<p class="p15"><span class="Apple-tab-span"> </span>((me.mousePosition)/(me.bounds.width@...)).postln;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>me.refresh;</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p15">w = <span class="s14">SCWindow</span>.new.front;</p>
+<p class="p15">w.view.background_(<span class="s14">Color</span>.white);</p>
+<p class="p15">3.do{<span class="s14">|i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>v = <span class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+(i*120), 100, 100, 100));</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.background_(<span class="s14">Color</span>.rand);</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc = drawFunc;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.mouseDownAction = mouseDownFunc;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.mouseUpAction = mouseUpFunc;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.mouseMoveAction = mouseMoveFunc;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.relativeOrigin = <span class="s14">true</span>;</p>
+<p class="p15">};</p>
+<p class="p15">w.refresh;</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Use the mouse to draw on the view</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> w, txt, tmppoints, all;</p>
-<p class="p16">tmppoints = [];</p>
-<p class="p15"><br></p>
-<p class="p16">w = <span class="s13">SCWindow</span>(<span class="s15">"draw on me"</span>, <span class="s13">Rect</span>(128, 64, 340, 360));</p>
-<p class="p15"><br></p>
-<p class="p16">v = <span class="s13">SCUserView</span>(w,w.view.bounds)</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.mouseMoveAction_({<span class="s13">|v,x,y|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>[x,y].postln;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints = tmppoints.add(v.mousePosition);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>v.refresh;</p>
-<p class="p16">})</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.mouseUpAction_({<span class="s13">|v,x,y|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>all = all.add(tmppoints.copy);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints = [];</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>v.refresh;</p>
-<p class="p16">})</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.drawFunc_{<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.use {<span class="Apple-tab-span"> </span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.white.set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.fillRect(me.bounds.moveTo(0,0));<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.width = 1;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.black.set;</p>
-<p class="p15"><br></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.beginPath;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints.do{<span class="Apple-tab-span"> </span><span class="s13">|p, i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if(i == 0){</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo(p);</p>
-<p class="p16"><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="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(p);</p>
-<p class="p16"><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="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>all.do{<span class="s13">|points|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>points.do{<span class="s13">|p, i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if(i == 0){</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo(p);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><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="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo(p);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><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="p16"><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="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.stroke;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span>};<span class="Apple-tab-span"> </span></p>
-<p class="p16">v.relativeOrigin = <span class="s13">true</span>;</p>
-<p class="p15"><span class="Apple-tab-span"> </span></p>
-<p class="p16">w.front;</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15"><span class="s14">var</span> w, txt, tmppoints, all;</p>
+<p class="p15">tmppoints = [];</p>
+<p class="p3"><br></p>
+<p class="p15">w = <span class="s14">SCWindow</span>(<span class="s16">"draw on me"</span>, <span class="s14">Rect</span>(128, 64, 340, 360));</p>
+<p class="p3"><br></p>
+<p class="p15">v = <span class="s14">SCUserView</span>(w,w.view.bounds)</p>
+<p class="p15"><span class="Apple-tab-span"> </span>.mouseMoveAction_({<span class="s14">|v,x,y|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>[x,y].postln;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints = tmppoints.add(v.mousePosition);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>v.refresh;</p>
+<p class="p15">})</p>
+<p class="p15"><span class="Apple-tab-span"> </span>.mouseUpAction_({<span class="s14">|v,x,y|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>all = all.add(tmppoints.copy);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints = [];</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>v.refresh;</p>
+<p class="p15">})</p>
+<p class="p15"><span class="Apple-tab-span"> </span>.drawFunc_{<span class="s14">|me|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.use {<span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.white.set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.fillRect(me.bounds.moveTo(0,0));<span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.width = 1;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.black.set;</p>
+<p class="p3"><br></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.beginPath;</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>tmppoints.do{<span class="Apple-tab-span"> </span><span class="s14">|p, i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if(i == 0){</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo(p);</p>
+<p class="p15"><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="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(p);</p>
+<p class="p15"><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="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>all.do{<span class="s14">|points|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>points.do{<span class="s14">|p, i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if(i == 0){</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo(p);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><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="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo(p);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><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="p15"><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="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.stroke;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span>};<span class="Apple-tab-span"> </span></p>
+<p class="p15">v.relativeOrigin = <span class="s14">true</span>;</p>
+<p class="p3"><span class="Apple-tab-span"> </span></p>
+<p class="p15">w.front;</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Clearing on Refresh</p>
 <p class="p14">//</p>
 <p class="p14">// Set the behaviour for refreshing the view.</p>
 <p class="p14">// If this flag is true (the default) the view will be cleared before each refresh call,</p>
 <p class="p14">// otherwise It will draw in top of it.</p>
 <p class="p14">// On OSX this functionality is only available for the version >= 10.4 and with the flag relativeOrigin set to true.</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">var</span> width = 640, height = 480, w, theta = 0, drawFunc, gui;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>gui = <span class="s13">GUI</span>.get( <span class="s14">\cocoa</span> );</p>
-<p class="p16"><span class="Apple-tab-span"> </span>w = gui.window.new( <span class="s15">"clearOnRefresh = true"</span>, <span class="s13">Rect</span>( 128, 64, width, height ), <span class="s13">false</span> );</p>
-<p class="p16"><span class="Apple-tab-span"> </span>drawFunc = { <span class="s13">arg</span> view;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">var</span> x = 20 * sin( theta ), y = 42 * cos( theta );</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.addRect( view.bounds.moveTo( 0, 0 ));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.clip;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>theta = theta + 0.01;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.fillColor_( <span class="s13">Color</span>.red( 0.2, 0.1 ));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.fillRect( <span class="s13">Rect</span>( 0, 0, width, height ));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.strokeColor_( <span class="s13">Color</span>.white );</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.translate( width * 0.5, height * 0.5 );</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.do { <span class="s13">arg</span> i;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.rotate( theta * (1 - (i / 6)) );</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.scale( 0.7 + (i * 0.4), 0.4 + (i * 0.5) );</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.strokeOval( <span class="s13">Rect</span>.aboutPoint( <span class="s13">Point</span>( x, y ), 60, 40 ));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span>x = gui.userView.new( w, <span class="s13">Rect</span>( 10, 10, width - 20, height - 20 ))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.canFocus_( <span class="s13">false</span> )</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.drawFunc_( drawFunc )</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.clearOnRefresh_( <span class="s13">false</span> )</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.relativeOrigin_( <span class="s13">true</span> );</p>
-<p class="p15"><br></p>
-<p class="p16"><span class="Apple-tab-span"> </span>w.front;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Routine</span>({ while({ x.isClosed.not }, { x.refresh; (1/25).wait })}).play( <span class="s13">AppClock</span> );</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">var</span> width= 640, height= 480, w, theta= 0, drawFunc;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>w= <span class="s13">GUI</span>.window.new(<span class="s15">"trail test3"</span>, <span class="s13">Rect</span>(128, 64, width, height), <span class="s13">false</span>);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>drawFunc= {<span class="s13">|v|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">var</span> x= 20*sin(theta), y= 42*cos(theta);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>theta= theta+0.01;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.fillColor_(<span class="s13">Color</span>.red(0.2, 0.1));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.fillRect(<span class="s13">Rect</span>(0, 0, width, height));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.strokeColor_(<span class="s13">Color</span>.white);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.push;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.translate(width*0.5, height*0.5);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.do{<span class="s13">|i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.rotate(theta*(1-(i/6)));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.scale(0.7+(i*0.4), 0.4+(i*0.5));</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.strokeOval(<span class="s13">Rect</span>.aboutPoint(<span class="s13">Point</span>(x, y), 60, 40))</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.pen.pop;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>};</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">GUI</span>.userView.new(w, <span class="s13">Rect</span>(10, 10, width-20, height-20)).drawFunc_(drawFunc).relativeOrigin_(<span class="s13">true</span>);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>w.front;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Routine</span>({<span class="s13">inf</span>.do{<span class="s13">|i|</span> w.refresh; (1/25).wait}}).play(<span class="s13">AppClock</span>);</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">var</span> width = 640, height = 480, w, theta = 0, drawFunc, gui;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>gui = <span class="s14">GUI</span>.get( <span class="s15">\cocoa</span> );</p>
+<p class="p15"><span class="Apple-tab-span"> </span>w = gui.window.new( <span class="s16">"clearOnRefresh = true"</span>, <span class="s14">Rect</span>( 128, 64, width, height ), <span class="s14">false</span> );</p>
+<p class="p15"><span class="Apple-tab-span"> </span>drawFunc = { <span class="s14">arg</span> view;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">var</span> x = 20 * sin( theta ), y = 42 * cos( theta );</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.addRect( view.bounds.moveTo( 0, 0 ));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.clip;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>theta = theta + 0.01;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.fillColor_( <span class="s14">Color</span>.red( 0.2, 0.1 ));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.fillRect( <span class="s14">Rect</span>( 0, 0, width, height ));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.strokeColor_( <span class="s14">Color</span>.white );</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.translate( width * 0.5, height * 0.5 );</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.do { <span class="s14">arg</span> i;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.rotate( theta * (1 - (i / 6)) );</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.scale( 0.7 + (i * 0.4), 0.4 + (i * 0.5) );</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gui.pen.strokeOval( <span class="s14">Rect</span>.aboutPoint( <span class="s14">Point</span>( x, y ), 60, 40 ));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span>x = gui.userView.new( w, <span class="s14">Rect</span>( 10, 10, width - 20, height - 20 ))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.canFocus_( <span class="s14">false</span> )</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.drawFunc_( drawFunc )</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.clearOnRefresh_( <span class="s14">false</span> )</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.relativeOrigin_( <span class="s14">true</span> );</p>
+<p class="p3"><br></p>
+<p class="p15"><span class="Apple-tab-span"> </span>w.front;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Routine</span>({ while({ x.isClosed.not }, { x.refresh; (1/25).wait })}).play( <span class="s14">AppClock</span> );</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">var</span> width= 640, height= 480, w, theta= 0, drawFunc;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>w= <span class="s14">GUI</span>.window.new(<span class="s16">"trail test3"</span>, <span class="s14">Rect</span>(128, 64, width, height), <span class="s14">false</span>);</p>
+<p class="p15"><span class="Apple-tab-span"> </span>drawFunc= {<span class="s14">|v|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">var</span> x= 20*sin(theta), y= 42*cos(theta);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>theta= theta+0.01;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.fillColor_(<span class="s14">Color</span>.red(0.2, 0.1));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.fillRect(<span class="s14">Rect</span>(0, 0, width, height));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.strokeColor_(<span class="s14">Color</span>.white);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.push;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.translate(width*0.5, height*0.5);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.do{<span class="s14">|i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.rotate(theta*(1-(i/6)));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.scale(0.7+(i*0.4), 0.4+(i*0.5));</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.strokeOval(<span class="s14">Rect</span>.aboutPoint(<span class="s14">Point</span>(x, y), 60, 40))</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.pen.pop;</p>
+<p class="p15"><span class="Apple-tab-span"> </span>};</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">GUI</span>.userView.new(w, <span class="s14">Rect</span>(10, 10, width-20, height-20)).drawFunc_(drawFunc).relativeOrigin_(<span class="s14">true</span>);</p>
+<p class="p15"><span class="Apple-tab-span"> </span>w.front;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Routine</span>({<span class="s14">inf</span>.do{<span class="s14">|i|</span> w.refresh; (1/25).wait}}).play(<span class="s14">AppClock</span>);</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Prevent redrawing:</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> func, views;</p>
-<p class="p15"><br></p>
-<p class="p16">func = {<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.use{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.perform([<span class="s14">\stroke</span>, <span class="s14">\fill</span>].choose);</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p16"><span class="Apple-tab-span"> </span>}</p>
-<p class="p16">};</p>
-<p class="p15"><br></p>
-<p class="p18"><span class="s3">w = </span><span class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
-<p class="p16">w.view.background_(<span class="s13">Color</span>.white);</p>
-<p class="p16">views = {<span class="s13">|i|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span>v = <span class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+(i*120), 100, 100, 100)).relativeOrigin_(<span class="s13">true</span>);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc = func;</p>
-<p class="p16">} ! 3;</p>
-<p class="p16">w.refresh;</p>
-<p class="p16">{views.do{<span class="s13">|v|</span> v.clearOnRefresh_(<span class="s13">false</span>);v.drawFunc = <span class="s13">nil</span>}}.defer(0.4);</p>
-<p class="p16">)</p>
-<p class="p15"><br></p>
-<p class="p15"><br></p>
+<p class="p3"><br></p>
+<p class="p15">(</p>
+<p class="p15"><span class="s14">var</span> func, views;</p>
+<p class="p3"><br></p>
+<p class="p15">func = {<span class="s14">|me|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.use{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>10.do{</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0, 0.5)).set;</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.addArc((400.exprand(2))@(100.rand), rrand(10, 100), 2pi.rand, pi);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">Pen</span>.perform([<span class="s15">\stroke</span>, <span class="s15">\fill</span>].choose);</p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p15"><span class="Apple-tab-span"> </span>}</p>
+<p class="p15">};</p>
+<p class="p3"><br></p>
+<p class="p16"><span class="s3">w = </span><span class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc Examples"<span class="s3">).front;</span></p>
+<p class="p15">w.view.background_(<span class="s14">Color</span>.white);</p>
+<p class="p15">views = {<span class="s14">|i|</span></p>
+<p class="p15"><span class="Apple-tab-span"> </span>v = <span class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+(i*120), 100, 100, 100)).relativeOrigin_(<span class="s14">true</span>);</p>
+<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc = func;</p>
+<p class="p15">} ! 3;</p>
+<p class="p15">w.refresh;</p>
+<p class="p15">{views.do{<span class="s14">|v|</span> v.clearOnRefresh_(<span class="s14">false</span>);v.drawFunc = <span class="s14">nil</span>}}.defer(0.4);</p>
+<p class="p15">)</p>
+<p class="p3"><br></p>
+<p class="p3"><br></p>
 <p class="p14">// Use refreshInRect(aRect).</p>
 <p class="p14">// Constrains the receiver's refresh area to the rectangle passed in aRect.</p>
 <p class="p14">// you may use Quartz Debug's flash screen updates to see the refresh area of the view</p>
-<p class="p15"><br></p>
-<p class="p16">(</p>
-<p class="p16"><span class="s13">var</span> userView, win, blob = <span class="s13">Rect</span>(0, 0, 50, 50), trackblob=<span class="s13">false</span>, pmouse;</p>
-<p class="p15"><br></p>
-<p class="p18"><span class="s3">a = </span><span class="s13">SCImage</span><span class="s3">.new(</span>"/Library/Desktop Pictures/Ripples Blue.jpg"<span class="s3">);</span></p>
-<p class="p15"><br></p>
-<p class="p16">win = <span class="s13">SCWindow</span>.new(<span class="s15">"refreshInRect Test"</span>, <span class="s13">Rect</span>(400, 400, 600, 200), scroll:<span class="s13">true</span>).front;</p>
-<p class="p16">win.onClose_({ a.free; });</p>
-<p class="p15"><br></p>
-<p class="p16">userView = <span class="s13">SCUserView</span>(win, <span class="s13">Rect</span>(10,10,2000,800))</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.backgroundImage_(a, 5)</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.relativeOrigin_(<span class="s13">false</span>)</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.drawFunc_({<span class="s13">|me|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Color</span>.blue.setFill;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pen</span>.fillRect(blob);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>})</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.mouseDownAction_({<span class="s13">|v, x, y, mod|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>pmouse = x@y;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>trackblob = blob.containsPoint(pmouse);</p>
-<p class="p16"><span class="Apple-tab-span"> </span>})</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.mouseUpAction_({<span class="s13">|v, x, y, mod|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>trackblob = <span class="s13">false</span>;</p>
-<p class="p16"><span class="Apple-tab-span"> </span>})</p>
-<p class="p16"><span class="Apple-tab-span"> </span>.mouseMoveAction_({<span class="s13">|v, x, y, mod|</span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">var</span> refresh, mouse, delta;</p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>mouse = x@y;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if(trackblob, {</p>

@@ Diff output truncated at 100000 characters. @@

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: http://www.listarc.bham.ac.uk/marchives/sc-dev/
search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/

Re: SF.net SVN: supercollider:[9092] trunk/build/Help

by Sciss-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

BTW Server:meter is highly mixed stuff, e.g. uses SCCompositeView,  
and the userview's draw funcs use String:drawCenteredIn ...

i finished the swing PeakMeter (some stuff still needs to be done,  
e.g. recovery after Cmd+Period) and i will propose a branch for  
Server:meter so that we can have meters with Swing, too.

ciao, -sciss-


Am 21.04.2009 um 20:27 schrieb jmfuo@...:

> Revision: 9092
>           http://supercollider.svn.sourceforge.net/supercollider/?
> rev=9092&view=rev
> Author:   jmfuo
> Date:     2009-04-21 18:27:14 +0000 (Tue, 21 Apr 2009)
>
> Log Message:
> -----------
> Replaced some remaining GUI. syntax
>
> Modified Paths:
> --------------
>     trunk/build/Help/3vs2/Spawning.html
>     trunk/build/Help/Control/ControlSpec.html
>     trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html
>     trunk/build/Help/UGens/MachineListening/MFCC.html
>
> Modified: trunk/build/Help/3vs2/Spawning.html
> ===================================================================
> --- trunk/build/Help/3vs2/Spawning.html 2009-04-21 16:04:09 UTC  
> (rev 9091)
> +++ trunk/build/Help/3vs2/Spawning.html 2009-04-21 18:27:14 UTC  
> (rev 9092)
> @@ -5,29 +5,28 @@
>  <meta http-equiv="Content-Style-Type" content="text/css">
>  <title></title>
>  <meta name="Generator" content="Cocoa HTML Writer">
> -<meta name="CocoaVersion" content="824.44">
> +<meta name="CocoaVersion" content="949.43">
>  <style type="text/css">
>  p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.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: 12.0px Helvetica}
> -p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #84301e}
> +p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
>  p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
>  p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #606060}
>  p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-
> height: 12.0px}
> -p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0827ac}
> -p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #000000}
> -p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
> -p.p11 {margin: 0.0px 0.0px 0.0px 10.0px; font: 9.0px Monaco;  
> color: #000000}
> -p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0000bf}
> -p.p13 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #84301e; min-height: 12.0px}
> +p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0000bf}
> +p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
> +p.p10 {margin: 0.0px 0.0px 0.0px 10.0px; font: 9.0px Monaco}
> +p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0000bf}
> +p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000; min-height: 12.0px}
>  span.s1 {font: 12.0px Helvetica; color: #000000}
>  span.s2 {color: #000000}
> -span.s3 {color: #0827ac}
> +span.s3 {color: #0000bf}
>  span.s4 {color: #606060}
> -span.s5 {color: #84301e}
> +span.s5 {color: #bf0000}
>  span.s6 {color: #0000bf}
>  span.s7 {font: 12.0px Helvetica}
> -span.s8 {color: #4d6a25}
> +span.s8 {color: #007300}
>  span.Apple-tab-span {white-space:pre}
>  </style>
>  </head>
> @@ -42,7 +41,7 @@
>  <p class="p5"><span class="Apple-tab-span"> </span>(</p>
>  <p class="p6"><span class="s1"><span class="Apple-tab-span"> </
> span></span><span class="s2">x = </span><span class="s3">SynthDef</
> span><span class="s2">(</span>"Help-SynthDef"<span  
> class="s2">,<span class="Apple-converted-space"> </span></span></p>
>  <p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>{ <span class="s3">arg</span>  
> out=0;</p>
> -<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span> <span class="s3">Out</span>.ar(out, <span  
> class="s3">PinkNoise</span>.ar(0.1))</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s3">Out</span>.ar(out, <span  
> class="s3">PinkNoise</span>.ar(0.1))</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>}).play; </span>//  
> SynthDef-play returns a Synth object.</p>
>  <p class="p5"><span class="Apple-tab-span"> </span>)<span  
> class="Apple-converted-space"> </span></p>
>  <p class="p7"><br></p>
> @@ -72,22 +71,22 @@
>  <p class="p3">In SC3 time-based sequences of events can be  
> implemented using Routines. A <b>Routine</b> which yields a number  
> can be scheduled using a clock:</p>
>  <p class="p2"><br></p>
>  <p class="p5"><span class="Apple-tab-span"> </span>(</p>
> -<p class="p9"><span class="Apple-tab-span"> </span><span  
> class="s6">var</span> w, r;</p>
> -<p class="p9"><span class="Apple-tab-span"> </span>w = <span  
> class="s6">GUI</span>.window.new(<span class="s4">"trem"</span>,  
> <span class="s6">Rect</span>(512, 256, 360, 130));</p>
> -<p class="p9"><span class="Apple-tab-span"> </span>w.front;</p>
> -<p class="p9"><span class="Apple-tab-span"> </span>r = <span  
> class="s6">Routine</span>({ <span class="s6">arg</span> time;</p>
> -<p class="p9"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>60.do({ <span class="s6">arg</span> i;</p>
> -<p class="p10"><span class="s2"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span>0.05.yield; </
> span>// wait for 0.05 seconds</p>
> -<p class="p9"><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="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>w.bounds = w.bounds.moveBy(10.rand2, 10.rand2);</p>
> -<p class="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>w.alpha = cos(i*0.1pi)*0.5+0.5;</p>
> -<p class="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>}.defer;</p>
> -<p class="p9"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>});</p>
> -<p class="p10"><span class="s2"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>1.yield; </span>// wait for 1 second before closing  
> w</p>
> -<p class="p9"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>w.close;</p>
> -<p class="p9"><span class="Apple-tab-span"> </span>});</p>
> -<p class="p12"><span class="s2"><span class="Apple-tab-span"> </
> span></span>SystemClock<span class="s2">.play(r);</span></p>
> -<p class="p5"><span class="s2"><span class="Apple-tab-span"> </
> span></span>)</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="s6">var</span> w, r;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span>w = <span  
> class="s6">Window</span>.new(<span class="s4">"trem"</span>, <span  
> class="s6">Rect</span>(512, 256, 360, 130));</p>
> +<p class="p5"><span class="Apple-tab-span"> </span>w.front;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span>r = <span  
> class="s6">Routine</span>({ <span class="s6">arg</span> time;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>60.do({ <span class="s6">arg</span> i;</p>
> +<p class="p9"><span class="s2"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span>0.05.yield; </
> span>// wait for 0.05 seconds</p>
> +<p class="p5"><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="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>w.bounds = w.bounds.moveBy(10.rand2, 10.rand2);</p>
> +<p class="p10"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>w.alpha = cos(i*0.1pi)*0.5+0.5;</p>
> +<p class="p10"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>}.defer;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>});</p>
> +<p class="p9"><span class="s2"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>1.yield; </span>// wait for 1 second before closing  
> w</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>w.close;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span>});</p>
> +<p class="p11"><span class="s2"><span class="Apple-tab-span"> </
> span></span>SystemClock<span class="s2">.play(r);</span></p>
> +<p class="p5"><span class="Apple-tab-span"> </span>)</p>
>  <p class="p7"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
>  <p class="p3">Note that this implementation avoids one of the  
> stranger aspects of the SC2 approach: The need to start a Synth to  
> schedule time-based behavior, even if no audio is involved.</p>
>  <p class="p2"><br></p>
> @@ -161,19 +160,19 @@
>  <p class="p7"><span class="Apple-tab-span"> </span></p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>r.stop; <span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// stop this but  
> not that or the other</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>q.reset;<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// reset that  
> while playing</p>
> -<p class="p13"><span class="Apple-tab-span"> </span></p>
> +<p class="p12"><span class="Apple-tab-span"> </span></p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c = </span><span class="s3">TempoClock</span><span  
> class="s2">.new;<span class="Apple-tab-span"> </span></span>// make  
> a TempoClock</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>r.reset;<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// have to reset  
> this because it's stopped</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c.play(r);<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span></span>// play this in the new clock; starts from the  
> beginning</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c.tempo = 16;<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span></span>// increase the tempo of this</p>
> -<p class="p13"><span class="Apple-tab-span"> </span></p>
> +<p class="p12"><span class="Apple-tab-span"> </span></p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span></span><span class="s3">SystemClock</span><span  
> class="s2">.clear; <span class="Apple-tab-span"> </span></span>//  
> clear EVERYTHING scheduled in the SystemClock; so that and the  
> other<span class="Apple-converted-space"> </span></p>
>  <p class="p4"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span>// but not this</p>
> -<p class="p13"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><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="p12"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><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="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c.clear;<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// clear  
> everything scheduled in c, i.e. this</p>
>  <p class="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c.play(r);<span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span></span>// since it wasn't stopped, we don't have to reset  
> this</p>
>  <p class="p4"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span>// and it picks  
> up where it left off</p>
> -<p class="p13"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><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="p12"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><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="p4"><span class="s2"><span class="Apple-tab-span"> </
> span>c.stop<span class="Apple-tab-span"> </span><span class="Apple-
> tab-span"> </span><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></span>// stop c, destroy its  
> scheduler, and release its OS thread</p>
>  <p class="p2"><br></p>
>  <p class="p3">For convenience pauseable scheduling can be  
> implemented with a <b>Task</b>. Task.new takes two arguments, a  
> function and a clock, and creates it's own <b>Routine</b>. If you  
> don't specify a clock, it will create a <b>TempoClock</b> for you.  
> Since you don't have to explicitly create a Clock or Routine, use  
> of Task can result in code that is a little more compact.</p>
>
> Modified: trunk/build/Help/Control/ControlSpec.html
> ===================================================================
> --- trunk/build/Help/Control/ControlSpec.html 2009-04-21 16:04:09  
> UTC (rev 9091)
> +++ trunk/build/Help/Control/ControlSpec.html 2009-04-21 18:27:14  
> UTC (rev 9092)
> @@ -21,27 +21,18 @@
>  p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px;  
> font: 14.0px Helvetica}
>  p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px;  
> font: 14.0px Helvetica; min-height: 17.0px}
>  p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px;  
> font: 11.0px Monaco}
> -p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;  
> color: #bf0000}
> -p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #007300}
> -p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
> +p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;  
> color: #a41c14}
> +p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #356f14}
> +p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #a41c14}
>  p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #606060}
> -p.p19 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
> -p.p20 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0000bf}
> +p.p19 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0018b8}
>  span.s1 {font: 18.0px Helvetica}
> -span.s2 {color: #0000bf}
> -span.s3 {color: #0000bf}
> -span.s4 {color: #0000bf}
> -span.s5 {font: 12.0px Helvetica}
> -span.s6 {color: #007300}
> -span.s7 {color: #0000bf}
> -span.s8 {color: #000000}
> -span.s9 {color: #007300}
> -span.s10 {color: #0000bf}
> -span.s11 {color: #606060}
> -span.s12 {text-decoration: underline ; color: #0000bf}
> -span.s13 {color: #0000bf}
> -span.s14 {color: #0000bf}
> -span.s15 {color: #007300}
> +span.s2 {color: #0018b8}
> +span.s3 {font: 12.0px Helvetica}
> +span.s4 {color: #356f14}
> +span.s5 {color: #000000}
> +span.s6 {color: #606060}
> +span.s7 {text-decoration: underline ; color: #0018b8}
>  span.Apple-tab-span {white-space:pre}
>  </style>
>  </head>
> @@ -50,7 +41,7 @@
>  <p class="p2"><br></p>
>  <p class="p3"><b>Inherits from: Object : </b><a  
> href="Spec.html"><span class="s2"><b>Spec</b></span></a></p>
>  <p class="p4"><br></p>
> -<p class="p3">The original, and most common spec (see <a  
> href="Spec.html"><span class="s3">Spec</span></a> ). A ControlSpec  
> is used by GUI sliders and knobs to specify the range and curve of  
> the controls.<span class="Apple-converted-space">  </
> span>ControlSpec may be used in many ways to map from linear 0..1  
> range to your desired range and back.</p>
> +<p class="p3">The original, and most common spec (see <a  
> href="Spec.html"><span class="s2">Spec</span></a> ). A ControlSpec  
> is used by GUI sliders and knobs to specify the range and curve of  
> the controls.<span class="Apple-converted-space">  </
> span>ControlSpec may be used in many ways to map from linear 0..1  
> range to your desired range and back.</p>
>  <p class="p2"><br></p>
>  <p class="p3">The most common way to create one is by<span  
> class="Apple-converted-space"> </span></p>
>  <p class="p2"><br></p>
> @@ -67,7 +58,7 @@
>  <p class="p10"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><b>default </b>- The default value</p>
>  <p class="p10"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><b>units </b>- The units, e.g. "hz".  
> Used by some gui's as a unit label.</p>
>  <p class="p9"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> -<p class="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>g = <span class="s4">ControlSpec</
> span>(0,2000,\exp,0.1, 220,"Hz");</p>
> +<p class="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>g = <span class="s2">ControlSpec</
> span>(0,2000,\exp,0.1, 220,"Hz");</p>
>  <p class="p7"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
>  <p class="p11"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>or</p>
>  <p class="p7"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> @@ -102,19 +93,19 @@
>  <p class="p9"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><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="p8"><b><span class="Apple-tab-span"> </span>storeArgs</
> b></p>
>  <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
> -<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns: </span>
> [minval,maxval,warp.asSpecifier,step,default,units]<span  
> class="s5"><span class="Apple-tab-span"> </span><span class="Apple-
> tab-span"> </span></span></p>
> +<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns: </span>
> [minval,maxval,warp.asSpecifier,step,default,units]<span  
> class="s3"><span class="Apple-tab-span"> </span><span class="Apple-
> tab-span"> </span></span></p>
>  <p class="p7"><br></p>
>  <p class="p8"><b><span class="Apple-tab-span"> </span>constrain  
> (value)</b></p>
>  <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
> -<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns<span  
> class="Apple-converted-space"> </span></span> value.asFloat.clip
> (clipLo, clipHi).round(step)<span class="s5">.</span></p>
> +<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns<span  
> class="Apple-converted-space"> </span></span> value.asFloat.clip
> (clipLo, clipHi).round(step)<span class="s3">.</span></p>
>  <p class="p7"><br></p>
>  <p class="p8"><b><span class="Apple-tab-span"> </span>range</b></p>
>  <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
> -<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns </span>maxval  
> - minval<span class="s5">.</span></p>
> +<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns </span>maxval  
> - minval<span class="s3">.</span></p>
>  <p class="p7"><br></p>
>  <p class="p8"><b><span class="Apple-tab-span"> </span>ratio</b></p>
>  <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
> -<p class="p14"><span class="s5"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns </
> span>maxval / minval<span class="s5">.</span></p>
> +<p class="p14"><span class="s3"><b><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></b>Returns </
> span>maxval / minval<span class="s3">.</span></p>
>  <p class="p7"><br></p>
>  <p class="p8"><b><span class="Apple-tab-span"> </span>map (value)</
> b></p>
>  <p class="p9"><b><span class="Apple-tab-span"> </span></b></p>
> @@ -133,104 +124,104 @@
>  <p class="p12"><b>Examples</b></p>
>  <p class="p2"><br></p>
>  <p class="p15">// array is used as arguments to ControlSpec.new
> ( minval, maxval, warp, step, default)</p>
> -<p class="p5">[300,3000,<span class="s6">\exponential</span>,
> 100].asSpec.dump</p>
> -<p class="p5"><span class="s7">Instance</span> of <span  
> class="s7">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s7">FC08</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
> +<p class="p5">[300,3000,<span class="s4">\exponential</span>,
> 100].asSpec.dump</p>
> +<p class="p5"><span class="s2">Instance</span> of <span  
> class="s2">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s2">FC08</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
>  <p class="p5"><span class="Apple-converted-space">  </
> span>instance variables [6]</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s7">Integer</span> 300</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s7">Integer</span> 3000</p>
> -<p class="p16"><span class="s8"><span class="Apple-converted-
> space">    </span>warp : </span><span class="s7">Symbol</span><span  
> class="s8"> </span>'exponential'</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s7">Integer</span> 100</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s7">Integer</span> 300</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s2">Integer</span> 300</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s2">Integer</span> 3000</p>
> +<p class="p16"><span class="s5"><span class="Apple-converted-
> space">    </span>warp : </span><span class="s2">Symbol</span><span  
> class="s5"> </span>'exponential'</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s2">Integer</span> 100</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s2">Integer</span> 300</p>
>  <p class="p5">}</p>
>  <p class="p4"><br></p>
>  <p class="p15">// partially specified ...</p>
>  <p class="p5">[-48,48].asSpec.dump</p>
> -<p class="p5"><span class="s7">Instance</span> of <span  
> class="s7">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s7">FF18</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
> +<p class="p5"><span class="s2">Instance</span> of <span  
> class="s2">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s2">FF18</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
>  <p class="p5"><span class="Apple-converted-space">  </
> span>instance variables [6]</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s7">Integer</span> -48</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s7">Integer</span> 48</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>warp : <span class="s7">Symbol</span> <span  
> class="s6">'linear'</span></p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s7">Float</span> 0</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s7">Integer</span> -48</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s2">Integer</span> -48</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s2">Integer</span> 48</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>warp : <span class="s2">Symbol</span> <span  
> class="s4">'linear'</span></p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s2">Float</span> 0</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s2">Integer</span> -48</p>
>  <p class="p5">}</p>
>  <p class="p2"><br></p>
>  <p class="p15">// a Symbol</p>
> -<p class="p3"><span class="s9">\freq</span>.asSpec.dump</p>
> -<p class="p5"><span class="s10">Instance</span> of <span  
> class="s10">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(180<span class="s10">F4910</span>, gc=3<span  
> class="s10">C</span>, fmt=00, flg=00, set=03)</p>
> +<p class="p3"><span class="s4">\freq</span>.asSpec.dump</p>
> +<p class="p5"><span class="s2">Instance</span> of <span  
> class="s2">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(180<span class="s2">F4910</span>, gc=3<span  
> class="s2">C</span>, fmt=00, flg=00, set=03)</p>
>  <p class="p5"><span class="Apple-converted-space">  </
> span>instance variables [8]</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s10">Integer</span> 20</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s10">Integer</span> 20000</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>warp : instance of <span class="s10">ExponentialWarp</span>  
> (17<span class="s10">FEDB30</span>, size=1, set=1)</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s10">Integer</span> 0</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s10">Integer</span> 440</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>units : <span class="s11">" Hz"</span></p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>clipLo : <span class="s10">Integer</span> 20</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>clipHi : <span class="s10">Integer</span> 20000</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s2">Integer</span> 20</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s2">Integer</span> 20000</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>warp : instance of <span class="s2">ExponentialWarp</span>  
> (17<span class="s2">FEDB30</span>, size=1, set=1)</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s2">Integer</span> 0</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s2">Integer</span> 440</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>units : <span class="s6">" Hz"</span></p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>clipLo : <span class="s2">Integer</span> 20</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>clipHi : <span class="s2">Integer</span> 20000</p>
>  <p class="p5">}</p>
> -<p class="p3">In this case \freq was looked up in the Specs  
> dictionary.<span class="Apple-converted-space">  </span>See <a  
> href="Spec.html"><span class="s12">Spec</span></a></p>
> +<p class="p3">In this case \freq was looked up in the Specs  
> dictionary.<span class="Apple-converted-space">  </span>See <a  
> href="Spec.html"><span class="s7">Spec</span></a></p>
>  <p class="p3">Some common mappings are initialized in  
> ControlSpec.initClass</p>
>  <p class="p3">and also (for the moment) in Crucial-initClass</p>
>  <p class="p2"><br></p>
>  <p class="p15">// nil becomes a default ControlSpec</p>
> -<p class="p5"><span class="s7">nil</span>.asSpec.dump</p>
> -<p class="p5"><span class="s7">Instance</span> of <span  
> class="s7">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s7">FF18</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
> +<p class="p5"><span class="s2">nil</span>.asSpec.dump</p>
> +<p class="p5"><span class="s2">Instance</span> of <span  
> class="s2">ControlSpec</span> {<span class="Apple-converted-
> space">    </span>(0313<span class="s2">FF18</span>, gc=00, fmt=00,  
> flg=00, set=03)</p>
>  <p class="p5"><span class="Apple-converted-space">  </
> span>instance variables [6]</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s7">Float</span> 0</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s7">Float</span> 1</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>warp : <span class="s7">Symbol</span> <span  
> class="s6">'linear'</span></p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s7">Float</span> 0</p>
> -<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s7">Float</span> 0</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>minval : <span class="s2">Float</span> 0</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>maxval : <span class="s2">Float</span> 1</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>warp : <span class="s2">Symbol</span> <span  
> class="s4">'linear'</span></p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>step : <span class="s2">Float</span> 0</p>
> +<p class="p5"><span class="Apple-converted-space">    </
> span>default : <span class="s2">Float</span> 0</p>
>  <p class="p5">}</p>
>  <p class="p2"><br></p>
>  <p class="p17">// example</p>
>  <p class="p4"><br></p>
>  <p class="p17">// make a frquency spec with an exponential range  
> from 20 to 20000,<span class="Apple-converted-space"> </span></p>
>  <p class="p17">// give it a rounding of 30 (Hz)</p>
> -<p class="p5">a = <span class="s9">\freq</span>.asSpec;</p>
> +<p class="p5">a = <span class="s4">\freq</span>.asSpec;</p>
>  <p class="p5">a.step = 100;</p>
>  <p class="p4"><br></p>
>  <p class="p17">// equivalent:</p>
> -<p class="p5">a = [20, 20000, <span class="s9">'exp'</span>, 100,  
> 440].asSpec;</p>
> +<p class="p5">a = [20, 20000, <span class="s4">'exp'</span>, 100,  
> 440].asSpec;</p>
>  <p class="p5">a.dump;</p>
>  <p class="p4"><br></p>
> -<p class="p17"><span class="s8">a.constrain(800); </span>// make  
> sure it is in range and round it.</p>
> -<p class="p17"><span class="s8">a.constrain(803); </span>// make  
> sure it is in range and round it.<span class="Apple-tab-span"> </
> span></p>
> +<p class="p17"><span class="s5">a.constrain(800); </span>// make  
> sure it is in range and round it.</p>
> +<p class="p17"><span class="s5">a.constrain(803); </span>// make  
> sure it is in range and round it.<span class="Apple-tab-span"> </
> span></p>
>  <p class="p4"><br></p>
>  <p class="p5">a.map(0.5);</p>
> -<p class="p17"><span class="s8">a.map(0.0); </span>// returns min</p>
> -<p class="p17"><span class="s8">a.map(1.5); </span>// exceeds the  
> area: clip, returns max</p>
> +<p class="p17"><span class="s5">a.map(0.0); </span>// returns min</p>
> +<p class="p17"><span class="s5">a.map(1.5); </span>// exceeds the  
> area: clip, returns max</p>
>  <p class="p4"><br></p>
>  <p class="p5">a.unmap(4000);</p>
>  <p class="p5">a.unmap(22.0);<span class="Apple-tab-span"> </span></p>
>  <p class="p4"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
>  <p class="p17">// using spec for sliders:</p>
>  <p class="p5">(</p>
> -<p class="p5"><span class="s13">var</span> w, c, d;</p>
> -<p class="p5">w = <span class="s13">GUI</span>.window.new(<span  
> class="s11">"control"</span>, <span class="s13">Rect</span>(128,  
> 64, 340, 160));</p>
> +<p class="p5"><span class="s2">var</span> w, c, d;</p>
> +<p class="p5">w = <span class="s2">Window</span>.new(<span  
> class="s6">"control"</span>, <span class="s2">Rect</span>(128, 64,  
> 340, 160));</p>
>  <p class="p5">w.front;</p>
> -<p class="p5">c = <span class="s13">GUI</span>.slider.new(w, <span  
> class="s13">Rect</span>(10, 10, 300, 30));</p>
> -<p class="p5">d = <span class="s13">GUI</span>.staticText.new(w,  
> <span class="s13">Rect</span>(10, 40, 300, 30));</p>
> +<p class="p5">c = <span class="s2">S</span>lider.new(w, <span  
> class="s2">Rect</span>(10, 10, 300, 30));</p>
> +<p class="p5">d = <span class="s2">S</span>taticText.new(w, <span  
> class="s2">Rect</span>(10, 40, 300, 30));</p>
>  <p class="p5">c.action = { </p>
> -<p class="p18"><span class="s8"><span class="Apple-tab-span"> </
> span>d.string = </span>"unmapped value"</p>
> +<p class="p18"><span class="s5"><span class="Apple-tab-span"> </
> span>d.string = </span>"unmapped value"</p>
>  <p class="p5"><span class="Apple-tab-span"> </span>+ c.value.round
> (0.01)<span class="Apple-converted-space"> </span></p>
> -<p class="p18"><span class="s8"><span class="Apple-tab-span"> </
> span>+ </span>"......"<span class="s8"><span class="Apple-converted-
> space"> </span></span></p>
> -<p class="p18"><span class="s8"><span class="Apple-tab-span"> </
> span>+ </span>"mapped value"<span class="s8"><span class="Apple-
> converted-space"> </span></span></p>
> +<p class="p18"><span class="s5"><span class="Apple-tab-span"> </
> span>+ </span>"......"<span class="s5"><span class="Apple-converted-
> space"> </span></span></p>
> +<p class="p18"><span class="s5"><span class="Apple-tab-span"> </
> span>+ </span>"mapped value"<span class="s5"><span class="Apple-
> converted-space"> </span></span></p>
>  <p class="p5"><span class="Apple-tab-span"> </span>+ a.map(c.value)
> </p>
>  <p class="p5">};</p>
>  <p class="p5">)</p>
>  <p class="p4"><span class="Apple-tab-span"> </span></p>
>  <p class="p3">ControlSpec-map can also be used to map ugens<span  
> class="Apple-converted-space"> </span></p>
>  <p class="p5">(</p>
> -<p class="p5"><span class="s14">var</span> spec;</p>
> -<p class="p5">spec = [ 100,18000,<span class="s15">\exp</
> span>].asSpec;</p>
> +<p class="p5"><span class="s2">var</span> spec;</p>
> +<p class="p5">spec = [ 100,18000,<span class="s4">\exp</
> span>].asSpec;</p>
>  <p class="p5">{</p>
> -<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="s14">var</span> freq,osc;</p>
> -<p class="p5"><span class="Apple-tab-span"> </span>osc = <span  
> class="s14">SinOsc</span>.kr(0.1).range(0,1);</p>
> +<p class="p5"><span class="Apple-tab-span"> </span><span  
> class="s2">var</span> freq,osc;</p>
> +<p class="p5"><span class="Apple-tab-span"> </span>osc = <span  
> class="s2">SinOsc</span>.kr(0.1).range(0,1);</p>
>  <p class="p5"><span class="Apple-tab-span"> </span>freq = spec.map
> (<span class="Apple-converted-space">  </span>osc );</p>
>  <p class="p4"><span class="Apple-tab-span"> </span></p>
> -<p class="p19"><span class="s8"><span class="Apple-tab-span"> </
> span>freq.dump;</span>// BinaryOpUGen</p>
> +<p class="p17"><span class="s5"><span class="Apple-tab-span"> </
> span>freq.dump;</span>// BinaryOpUGen</p>
>  <p class="p4"><br></p>
> -<p class="p20"><span class="s8"><span class="Apple-tab-span"> </
> span></span>SinOsc<span class="s8">.ar(</span></p>
> +<p class="p19"><span class="s5"><span class="Apple-tab-span"> </
> span></span>SinOsc<span class="s5">.ar(</span></p>
>  <p class="p5"><span class="Apple-tab-span"> </span><span  
> class="Apple-converted-space">  </span>freq</p>
>  <p class="p5"><span class="Apple-tab-span"> </span>)</p>
>  <p class="p5">}.play</p>
>
> Modified: trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html
> ===================================================================
> --- trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html 2009-04-21  
> 16:04:09 UTC (rev 9091)
> +++ trunk/build/Help/GUI/Cocoa-GUI/SCUserView.html 2009-04-21  
> 18:27:14 UTC (rev 9092)
> @@ -10,7 +10,7 @@
>  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: #0018e8}
> +p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;  
> color: #001ee6}
>  p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
>  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}
> @@ -20,26 +20,25 @@
>  p.p11 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px;  
> font: 12.0px Helvetica; min-height: 14.0px}
>  p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica;  
> min-height: 17.0px}
>  p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px;  
> font: 14.0px Helvetica; min-height: 17.0px}
> -p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #bf0000}
> -p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #000000; min-height: 12.0px}
> -p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #000000}
> -p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #0000bf}
> -p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #606060}
> +p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #a41c14}
> +p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
> +p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color:  
> #606060}
>  span.s1 {font: 18.0px Helvetica}
> -span.s2 {color: #5662aa}
> +span.s2 {color: #5964a6}
>  span.s3 {color: #000000}
>  span.s4 {text-decoration: underline}
> -span.s5 {text-decoration: underline ; color: #3148bf}
> +span.s5 {text-decoration: underline ; color: #374cb9}
>  span.s6 {color: #6f7178}
> -span.s7 {color: #5f68a0}
> +span.s7 {color: #61699d}
>  span.s8 {font: 14.0px Helvetica}
> -span.s9 {color: #2d49d4}
> -span.s10 {text-decoration: underline ; color: #0018e8}
> +span.s9 {color: #344ece}
> +span.s10 {text-decoration: underline ; color: #001ee6}
>  span.s11 {text-decoration: underline ; color: #000000}
> -span.s12 {color: #0013bb}
> -span.s13 {color: #0000bf}
> -span.s14 {color: #007300}
> -span.s15 {color: #606060}
> +span.s12 {color: #061fb5}
> +span.s13 {text-decoration: underline ; color: #0727e0}
> +span.s14 {color: #0018b8}
> +span.s15 {color: #356f14}
> +span.s16 {color: #606060}
>  span.Apple-tab-span {white-space:pre}
>  </style>
>  </head>
> @@ -128,345 +127,345 @@
>  <p class="p8"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
>  <p class="p10"><b>Examples</b></p>
>  <p class="p12"><br></p>
> -<p class="p1"><span class="s10"><a href="../GUI-
> Overview.html">GUI<span class="s11">-</span><span  
> class="s4">Overview</span></a></span> contains an elobarate example  
> on how to make a gui widget with <span class="s12">SCUserView</
> span> using interface level coding. <span class="s12">For</span> a  
> <span class="s12">Tutorial</span> on how to write a subclass of  
> <span class="s12">SCUserView</span> to make your own custom <span  
> class="s12">GUI</span> <span class="s12">Widgets</span>, see <a  
> href="SCUserViewSubclassing/SCUserView-Subclassing.html"><span  
> class="s12">SCUserView</span><span class="s10">-</span><span  
> class="s12">Subclassing</span></a></p>
> +<p class="p1"><span class="s10"><a href="../GUI-
> Overview.html">GUI<span class="s11">-</span><span  
> class="s4">Overview</span></a></span> contains an elobarate example  
> on how to make a gui widget with <span class="s12">SCUserView</
> span> using interface level coding. <span class="s12">For</span> a  
> <span class="s12">Tutorial</span> on how to write a subclass of  
> <span class="s12">SCUserView</span> to make your own custom <span  
> class="s12">GUI</span> <span class="s12">Widgets</span>, see <a  
> href="SCUserViewSubclassing/SCUserView-Subclassing.html"><span  
> class="s12">SCUserView</span><span class="s13">-</span><span  
> class="s12">Subclassing</span></a></p>
>  <p class="p13"><br></p>
>  <p class="p14">// Basic Usage. Resize the window to refresh the  
> drawing. Or use mouse click.</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p17"><span class="s3">w=</span>SCWindow<span  
> class="s3">.new;</span></p>
> -<p class="p16">v=<span class="s13">SCUserView</span>(w,  
> w.view.bounds.insetBy(50,50));</p>
> -<p class="p16">v.background_(<span class="s13">Color</
> span>.rand);</p>
> -<p class="p16">v.relativeOrigin=<span class="s13">true</span>;</p>
> -<p class="p16">v.drawFunc={<span class="s13">|uview|</span></p>
> -<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo
> (0@...);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (uview.bounds.width@...);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</
> span>.stroke;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>};</p>
> -<p class="p16">v.mouseDownAction={v.refresh};</p>
> -<p class="p16">w.front;</p>
> -<p class="p15"><br></p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15">w=<span class="s14">Window</span>.new;</p>
> +<p class="p15">v=<span class="s14">UserView</span>(w,  
> w.view.bounds.insetBy(50,50));</p>
> +<p class="p15">v.background_(<span class="s14">Color</
> span>.rand);</p>
> +<p class="p15">v.relativeOrigin=<span class="s14">true</span>;</p>
> +<p class="p15">v.drawFunc={<span class="s14">|uview|</span></p>
> +<p class="p3"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo
> (0@...);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (uview.bounds.width@...);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</
> span>.stroke;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>};</p>
> +<p class="p15">v.mouseDownAction={v.refresh};</p>
> +<p class="p15">w.front;</p>
> +<p class="p3"><br></p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// A More complicated drawing function.</p>
>  <p class="p14">// Resize the window to refresh the drawing</p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> func;</p>
> -<p class="p15"><br></p>
> -<p class="p16">func = {<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.use{</p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="s14">var</span> func;</p>
> +<p class="p3"><br></p>
> +<p class="p15">func = {<span class="s14">|me|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.use{</p>
>  <p class="p14"><span class="s3"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// clipping into  
> the boundingbox</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo
> ((me.bounds.left)@(me.bounds.top));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+  
> (me.bounds.width@...));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (0@...));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> ((me.bounds.left)@(me.bounds.top));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.clip;</p>
> -<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo
> ((me.bounds.left)@(me.bounds.top));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+  
> (me.bounds.width@...));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (0@...));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> ((me.bounds.left)@(me.bounds.top));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.clip;</p>
> +<p class="p3"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
>  <p class="p14"><span class="s3"><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span></span>// draw  
> background</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Color</span>.gray
> (0.5).set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.moveTo
> ((me.bounds.left)@(me.bounds.top));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+  
> (me.bounds.width@...));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (0@...));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.lineTo
> ((me.bounds.left)@(me.bounds.top));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</
> span>.fill;<span class="Apple-tab-span"> </span><span class="Apple-
> tab-span"> </span><span class="Apple-tab-span"> </span></p>
> -<p class="p15"><br></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</
> span>.translate(100, 100);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.perform([<span class="s14">
> \stroke</span>, <span class="s14">\fill</span>].choose);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>}</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p18"><span class="s3">w = </span><span  
> class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> -<p class="p16">w.view.background_(<span class="s13">Color</
> span>.white);</p>
> -<p class="p16">3.do{<span class="s13">|i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v = <span  
> class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+
> (i*120), 100, 100, 100));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc =  
> func;</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>v.relativeOrigin=<span class="s13">false</span>;</p>
> -<p class="p15"><br></p>
> -<p class="p16">};</p>
> -<p class="p16">w.refresh;</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Color</span>.gray
> (0.5).set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.moveTo
> ((me.bounds.left)@(me.bounds.top));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (me.bounds.width@0));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+  
> (me.bounds.width@...));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> (((me.bounds.left)@(me.bounds.top))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>+ (0@...));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.lineTo
> ((me.bounds.left)@(me.bounds.top));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</
> span>.fill;<span class="Apple-tab-span"> </span><span class="Apple-
> tab-span"> </span><span class="Apple-tab-span"> </span></p>
> +<p class="p3"><br></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</
> span>.translate(100, 100);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.perform([<span class="s15">
> \stroke</span>, <span class="s15">\fill</span>].choose);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>}</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p16"><span class="s3">w = </span><span  
> class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> +<p class="p15">w.view.background_(<span class="s14">Color</
> span>.white);</p>
> +<p class="p15">3.do{<span class="s14">|i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v = <span  
> class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+
> (i*120), 100, 100, 100));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc =  
> func;</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>v.relativeOrigin=<span class="s14">false</span>;</p>
> +<p class="p3"><br></p>
> +<p class="p15">};</p>
> +<p class="p15">w.refresh;</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Use Relative Coordinates</p>
>  <p class="p14">// Set the Origin of Pen in the view's drawFunc  
> relative to the SCUserView.</p>
>  <p class="p14">// This is particularly useful if resize is set in  
> such a way the the position of the user view changes.</p>
>  <p class="p14">// Try resizing the Window.</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> func;</p>
> -<p class="p15"><br></p>
> -<p class="p16">func = {<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.use{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.perform([<span class="s14">
> \stroke</span>, <span class="s14">\fill</span>].choose);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>}</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p18"><span class="s3">w = </span><span  
> class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> -<p class="p16">w.view.background_(<span class="s13">Color</
> span>.white);</p>
> -<p class="p15"><br></p>
> -<p class="p16">3.do{<span class="s13">|i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v = <span  
> class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+
> (i*120), 100, 100, 100))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.drawFunc_(func).relativeOrigin_
> (<span class="s13">true</span>);</p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="s14">var</span> func;</p>
> +<p class="p3"><br></p>
> +<p class="p15">func = {<span class="s14">|me|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.use{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.perform([<span class="s15">
> \stroke</span>, <span class="s15">\fill</span>].choose);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>}</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p16"><span class="s3">w = </span><span  
> class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> +<p class="p15">w.view.background_(<span class="s14">Color</
> span>.white);</p>
> +<p class="p3"><br></p>
> +<p class="p15">3.do{<span class="s14">|i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v = <span  
> class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+
> (i*120), 100, 100, 100))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.drawFunc_(func).relativeOrigin_
> (<span class="s14">true</span>);</p>
>  <p class="p14"><span class="s3"><span class="Apple-tab-span"> </
> span>v.resize=3; </span>// the func coordinates ar valid even  
> though the view move on resize</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v.background_
> (<span class="s13">Color</span>.rand);</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p16">w.refresh;</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v.background_
> (<span class="s14">Color</span>.rand);</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p15">w.refresh;</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Mouse Tracking</p>
>  <p class="p14">// Set the function which should be evaluated if  
> the mouse is at the end of tracking (mouse-up).</p>
>  <p class="p14">// This function will be passed four arguments:  
> theView, x coordinate, y coordinate, and keyboard modifiers.</p>
> -<p class="p15"><span class="Apple-tab-span"> </span></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> drawFunc,  
> mouseDownFunc, mouseUpFunc, mouseMoveFunc, sat = 0, absX;</p>
> -<p class="p15"><br></p>
> -<p class="p16">drawFunc = {<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.use{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.perform([<span class="s14">
> \stroke</span>, <span class="s14">\fill</span>].choose);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>}</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p16">mouseDownFunc = {<span class="s13">|me, x, y, mod|</
> span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>absX = x;</p>
> -<p class="p18"><span class="s3"><span class="Apple-tab-span"> </
> span>postf(</span>"begin path: x=% realtive mousePosition:%\n"<span  
> class="s3">,absX, me.mousePosition);</span></p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p16">mouseUpFunc = {<span class="s13">|me, x, y, mod|</
> span></p>
> -<p class="p18"><span class="s3"><span class="Apple-tab-span"> </
> span>postf(</span>"end path: (absX-x)==% realtive mousePosition:%
> \n"<span class="s3">,(absX-x), me.mousePosition);</span></p>
> -<p class="p15"><span class="Apple-tab-span"> </span></p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p16">mouseMoveFunc = {<span class="s13">|me, x, y, mod|</
> span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>sat = ((absX-
> x)/100);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>
> ((me.mousePosition)/(me.bounds.width@...)).postln;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>me.refresh;</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p16">w = <span class="s13">SCWindow</span>.new.front;</p>
> -<p class="p16">w.view.background_(<span class="s13">Color</
> span>.white);</p>
> -<p class="p16">3.do{<span class="s13">|i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v = <span  
> class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+
> (i*120), 100, 100, 100));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v.background_
> (<span class="s13">Color</span>.rand);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc =  
> drawFunc;</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>v.mouseDownAction = mouseDownFunc;</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>v.mouseUpAction = mouseUpFunc;</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>v.mouseMoveAction = mouseMoveFunc;</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>v.relativeOrigin = <span class="s13">true</span>;</p>
> -<p class="p16">};</p>
> -<p class="p16">w.refresh;</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p3"><span class="Apple-tab-span"> </span></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="s14">var</span> drawFunc,  
> mouseDownFunc, mouseUpFunc, mouseMoveFunc, sat = 0, absX;</p>
> +<p class="p3"><br></p>
> +<p class="p15">drawFunc = {<span class="s14">|me|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.use{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.perform([<span class="s15">
> \stroke</span>, <span class="s15">\fill</span>].choose);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>}</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p15">mouseDownFunc = {<span class="s14">|me, x, y, mod|</
> span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>absX = x;</p>
> +<p class="p16"><span class="s3"><span class="Apple-tab-span"> </
> span>postf(</span>"begin path: x=% realtive mousePosition:%\n"<span  
> class="s3">,absX, me.mousePosition);</span></p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p15">mouseUpFunc = {<span class="s14">|me, x, y, mod|</
> span></p>
> +<p class="p16"><span class="s3"><span class="Apple-tab-span"> </
> span>postf(</span>"end path: (absX-x)==% realtive mousePosition:%
> \n"<span class="s3">,(absX-x), me.mousePosition);</span></p>
> +<p class="p3"><span class="Apple-tab-span"> </span></p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p15">mouseMoveFunc = {<span class="s14">|me, x, y, mod|</
> span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>sat = ((absX-
> x)/100);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>
> ((me.mousePosition)/(me.bounds.width@...)).postln;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>me.refresh;</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p15">w = <span class="s14">SCWindow</span>.new.front;</p>
> +<p class="p15">w.view.background_(<span class="s14">Color</
> span>.white);</p>
> +<p class="p15">3.do{<span class="s14">|i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v = <span  
> class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+
> (i*120), 100, 100, 100));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v.background_
> (<span class="s14">Color</span>.rand);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc =  
> drawFunc;</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>v.mouseDownAction = mouseDownFunc;</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>v.mouseUpAction = mouseUpFunc;</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>v.mouseMoveAction = mouseMoveFunc;</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>v.relativeOrigin = <span class="s14">true</span>;</p>
> +<p class="p15">};</p>
> +<p class="p15">w.refresh;</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Use the mouse to draw on the view</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> w, txt, tmppoints,  
> all;</p>
> -<p class="p16">tmppoints = [];</p>
> -<p class="p15"><br></p>
> -<p class="p16">w = <span class="s13">SCWindow</span>(<span  
> class="s15">"draw on me"</span>, <span class="s13">Rect</span>(128,  
> 64, 340, 360));</p>
> -<p class="p15"><br></p>
> -<p class="p16">v = <span class="s13">SCUserView</span>
> (w,w.view.bounds)</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>.mouseMoveAction_({<span class="s13">|v,x,y|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>[x,y].postln;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>tmppoints = tmppoints.add
> (v.mousePosition);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>v.refresh;</p>
> -<p class="p16">})</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>.mouseUpAction_
> ({<span class="s13">|v,x,y|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>all = all.add(tmppoints.copy);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>tmppoints = [];</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>v.refresh;</p>
> -<p class="p16">})</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>.drawFunc_
> {<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.use  
> {<span class="Apple-tab-span"> </span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.white.set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.fillRect(me.bounds.moveTo
> (0,0));<span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.width = 1;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.black.set;</p>
> -<p class="p15"><br></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.beginPath;</p>
> -<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>tmppoints.do{<span class="Apple-tab-span"> </span><span  
> class="s13">|p, i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>if(i == 0){</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="s13">Pen</
> span>.moveTo(p);</p>
> -<p class="p16"><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="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="s13">Pen</
> span>.lineTo(p);</p>
> -<p class="p16"><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="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>all.do{<span class="s13">|points|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>points.do{<span  
> class="s13">|p, i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>if(i == 0){</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.moveTo(p);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><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="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.lineTo(p);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><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="p16"><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="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.stroke;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>};<span  
> class="Apple-tab-span"> </span></p>
> -<p class="p16">v.relativeOrigin = <span class="s13">true</span>;</p>
> -<p class="p15"><span class="Apple-tab-span"> </span></p>
> -<p class="p16">w.front;</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="s14">var</span> w, txt, tmppoints,  
> all;</p>
> +<p class="p15">tmppoints = [];</p>
> +<p class="p3"><br></p>
> +<p class="p15">w = <span class="s14">SCWindow</span>(<span  
> class="s16">"draw on me"</span>, <span class="s14">Rect</span>(128,  
> 64, 340, 360));</p>
> +<p class="p3"><br></p>
> +<p class="p15">v = <span class="s14">SCUserView</span>
> (w,w.view.bounds)</p>
> +<p class="p15"><span class="Apple-tab-span"> </
> span>.mouseMoveAction_({<span class="s14">|v,x,y|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>[x,y].postln;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>tmppoints = tmppoints.add
> (v.mousePosition);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>v.refresh;</p>
> +<p class="p15">})</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>.mouseUpAction_
> ({<span class="s14">|v,x,y|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>all = all.add(tmppoints.copy);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>tmppoints = [];</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>v.refresh;</p>
> +<p class="p15">})</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>.drawFunc_
> {<span class="s14">|me|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">Pen</span>.use  
> {<span class="Apple-tab-span"> </span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.white.set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.fillRect(me.bounds.moveTo
> (0,0));<span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.width = 1;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.black.set;</p>
> +<p class="p3"><br></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.beginPath;</p>
> +<p class="p3"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>tmppoints.do{<span class="Apple-tab-span"> </span><span  
> class="s14">|p, i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>if(i == 0){</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="s14">Pen</
> span>.moveTo(p);</p>
> +<p class="p15"><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="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="s14">Pen</
> span>.lineTo(p);</p>
> +<p class="p15"><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="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>all.do{<span class="s14">|points|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span>points.do{<span  
> class="s14">|p, i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span>if(i == 0){</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.moveTo(p);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><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="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="Apple-tab-span"> </span><span class="Apple-tab-
> span"> </span><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.lineTo(p);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><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="p15"><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="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.stroke;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>};<span  
> class="Apple-tab-span"> </span></p>
> +<p class="p15">v.relativeOrigin = <span class="s14">true</span>;</p>
> +<p class="p3"><span class="Apple-tab-span"> </span></p>
> +<p class="p15">w.front;</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Clearing on Refresh</p>
>  <p class="p14">//</p>
>  <p class="p14">// Set the behaviour for refreshing the view.</p>
>  <p class="p14">// If this flag is true (the default) the view will  
> be cleared before each refresh call,</p>
>  <p class="p14">// otherwise It will draw in top of it.</p>
>  <p class="p14">// On OSX this functionality is only available for  
> the version >= 10.4 and with the flag relativeOrigin set to  
> true.</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">var</span> width = 640, height = 480, w, theta = 0,  
> drawFunc, gui;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>gui = <span  
> class="s13">GUI</span>.get( <span class="s14">\cocoa</span> );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>w =  
> gui.window.new( <span class="s15">"clearOnRefresh = true"</span>,  
> <span class="s13">Rect</span>( 128, 64, width, height ), <span  
> class="s13">false</span> );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>drawFunc =  
> { <span class="s13">arg</span> view;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">var</span> x = 20  
> * sin( theta ), y = 42 * cos( theta );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.addRect( view.bounds.moveTo
> ( 0, 0 ));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.clip;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>theta = theta + 0.01;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.fillColor_( <span  
> class="s13">Color</span>.red( 0.2, 0.1 ));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.fillRect( <span  
> class="s13">Rect</span>( 0, 0, width, height ));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.strokeColor_( <span  
> class="s13">Color</span>.white );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.translate( width * 0.5,  
> height * 0.5 );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>6.do { <span class="s13">arg</span>  
> i;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.rotate( theta * (1 - (i / 6)) );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.scale( 0.7 + (i * 0.4), 0.4 + (i * 0.5) );</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.strokeOval( <span class="s13">Rect</span>.aboutPoint
> ( <span class="s13">Point</span>( x, y ), 60, 40 ));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>x =  
> gui.userView.new( w, <span class="s13">Rect</span>( 10, 10, width -  
> 20, height - 20 ))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.canFocus_( <span class="s13">false</
> span> )</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.drawFunc_( drawFunc )</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.clearOnRefresh_( <span  
> class="s13">false</span> )</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.relativeOrigin_( <span  
> class="s13">true</span> );</p>
> -<p class="p15"><br></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>w.front;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Routine</span>({ while({ x.isClosed.not }, { x.refresh;  
> (1/25).wait })}).play( <span class="s13">AppClock</span> );</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">var</span> width= 640, height= 480, w, theta= 0,  
> drawFunc;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>w= <span  
> class="s13">GUI</span>.window.new(<span class="s15">"trail test3"</
> span>, <span class="s13">Rect</span>(128, 64, width, height), <span  
> class="s13">false</span>);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>drawFunc=  
> {<span class="s13">|v|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">var</span> x=  
> 20*sin(theta), y= 42*cos(theta);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>theta= theta+0.01;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.fillColor_(<span class="s13">Color</span>.red(0.2,  
> 0.1));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.fillRect(<span class="s13">Rect</span>(0, 0, width,  
> height));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.strokeColor_(<span class="s13">Color</span>.white);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.push;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.translate(width*0.5, height*0.5);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>6.do{<span class="s13">|i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">GUI</span>.pen.rotate(theta*(1-(i/6)));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">GUI</span>.pen.scale(0.7+(i*0.4), 0.4+
> (i*0.5));</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">GUI</span>.pen.strokeOval(<span  
> class="s13">Rect</span>.aboutPoint(<span class="s13">Point</span>
> (x, y), 60, 40))</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">GUI</
> span>.pen.pop;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>};</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">GUI</span>.userView.new(w, <span class="s13">Rect</span>
> (10, 10, width-20, height-20)).drawFunc_(drawFunc).relativeOrigin_
> (<span class="s13">true</span>);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>w.front;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Routine</span>({<span class="s13">inf</span>.do{<span  
> class="s13">|i|</span> w.refresh; (1/25).wait}}).play(<span  
> class="s13">AppClock</span>);</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">var</span> width = 640, height = 480, w, theta = 0,  
> drawFunc, gui;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>gui = <span  
> class="s14">GUI</span>.get( <span class="s15">\cocoa</span> );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>w =  
> gui.window.new( <span class="s16">"clearOnRefresh = true"</span>,  
> <span class="s14">Rect</span>( 128, 64, width, height ), <span  
> class="s14">false</span> );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>drawFunc =  
> { <span class="s14">arg</span> view;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">var</span> x = 20  
> * sin( theta ), y = 42 * cos( theta );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.addRect( view.bounds.moveTo
> ( 0, 0 ));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.clip;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>theta = theta + 0.01;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.fillColor_( <span  
> class="s14">Color</span>.red( 0.2, 0.1 ));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.fillRect( <span  
> class="s14">Rect</span>( 0, 0, width, height ));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.strokeColor_( <span  
> class="s14">Color</span>.white );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>gui.pen.translate( width * 0.5,  
> height * 0.5 );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>6.do { <span class="s14">arg</span>  
> i;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.rotate( theta * (1 - (i / 6)) );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.scale( 0.7 + (i * 0.4), 0.4 + (i * 0.5) );</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span>gui.pen.strokeOval( <span class="s14">Rect</span>.aboutPoint
> ( <span class="s14">Point</span>( x, y ), 60, 40 ));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>x =  
> gui.userView.new( w, <span class="s14">Rect</span>( 10, 10, width -  
> 20, height - 20 ))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.canFocus_( <span class="s14">false</
> span> )</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.drawFunc_( drawFunc )</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.clearOnRefresh_( <span  
> class="s14">false</span> )</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>.relativeOrigin_( <span  
> class="s14">true</span> );</p>
> +<p class="p3"><br></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>w.front;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Routine</span>({ while({ x.isClosed.not }, { x.refresh;  
> (1/25).wait })}).play( <span class="s14">AppClock</span> );</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">var</span> width= 640, height= 480, w, theta= 0,  
> drawFunc;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>w= <span  
> class="s14">GUI</span>.window.new(<span class="s16">"trail test3"</
> span>, <span class="s14">Rect</span>(128, 64, width, height), <span  
> class="s14">false</span>);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>drawFunc=  
> {<span class="s14">|v|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">var</span> x=  
> 20*sin(theta), y= 42*cos(theta);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>theta= theta+0.01;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.fillColor_(<span class="s14">Color</span>.red(0.2,  
> 0.1));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.fillRect(<span class="s14">Rect</span>(0, 0, width,  
> height));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.strokeColor_(<span class="s14">Color</span>.white);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.push;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.translate(width*0.5, height*0.5);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>6.do{<span class="s14">|i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">GUI</span>.pen.rotate(theta*(1-(i/6)));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">GUI</span>.pen.scale(0.7+(i*0.4), 0.4+
> (i*0.5));</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">GUI</span>.pen.strokeOval(<span  
> class="s14">Rect</span>.aboutPoint(<span class="s14">Point</span>
> (x, y), 60, 40))</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s14">GUI</
> span>.pen.pop;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>};</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">GUI</span>.userView.new(w, <span class="s14">Rect</span>
> (10, 10, width-20, height-20)).drawFunc_(drawFunc).relativeOrigin_
> (<span class="s14">true</span>);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>w.front;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Routine</span>({<span class="s14">inf</span>.do{<span  
> class="s14">|i|</span> w.refresh; (1/25).wait}}).play(<span  
> class="s14">AppClock</span>);</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Prevent redrawing:</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> func, views;</p>
> -<p class="p15"><br></p>
> -<p class="p16">func = {<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="s13">Pen</span>.use{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s13">Pen</span>.perform([<span class="s14">
> \stroke</span>, <span class="s14">\fill</span>].choose);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>}</p>
> -<p class="p16">};</p>
> -<p class="p15"><br></p>
> -<p class="p18"><span class="s3">w = </span><span  
> class="s13">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> -<p class="p16">w.view.background_(<span class="s13">Color</
> span>.white);</p>
> -<p class="p16">views = {<span class="s13">|i|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v = <span  
> class="s13">SCUserView</span>(w, <span class="s13">Rect</span>(20+
> (i*120), 100, 100, 100)).relativeOrigin_(<span class="s13">true</
> span>);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>v.drawFunc =  
> func;</p>
> -<p class="p16">} ! 3;</p>
> -<p class="p16">w.refresh;</p>
> -<p class="p16">{views.do{<span class="s13">|v|</span>  
> v.clearOnRefresh_(<span class="s13">false</span>);v.drawFunc =  
> <span class="s13">nil</span>}}.defer(0.4);</p>
> -<p class="p16">)</p>
> -<p class="p15"><br></p>
> -<p class="p15"><br></p>
> +<p class="p3"><br></p>
> +<p class="p15">(</p>
> +<p class="p15"><span class="s14">var</span> func, views;</p>
> +<p class="p3"><br></p>
> +<p class="p15">func = {<span class="s14">|me|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="s14">Pen</span>.use{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>10.do{</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Color</span>.red(rrand(0.0, 1), rrand(0.0,  
> 0.5)).set;</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.addArc((400.exprand(2))@
> (100.rand), rrand(10, 100), 2pi.rand, pi);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="Apple-tab-span"> </
> span><span class="s14">Pen</span>.perform([<span class="s15">
> \stroke</span>, <span class="s15">\fill</span>].choose);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>}</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>}</p>
> +<p class="p15">};</p>
> +<p class="p3"><br></p>
> +<p class="p16"><span class="s3">w = </span><span  
> class="s14">SCWindow</span><span class="s3">.new(</span>"DrawFunc  
> Examples"<span class="s3">).front;</span></p>
> +<p class="p15">w.view.background_(<span class="s14">Color</
> span>.white);</p>
> +<p class="p15">views = {<span class="s14">|i|</span></p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v = <span  
> class="s14">SCUserView</span>(w, <span class="s14">Rect</span>(20+
> (i*120), 100, 100, 100)).relativeOrigin_(<span class="s14">true</
> span>);</p>
> +<p class="p15"><span class="Apple-tab-span"> </span>v.drawFunc =  
> func;</p>
> +<p class="p15">} ! 3;</p>
> +<p class="p15">w.refresh;</p>
> +<p class="p15">{views.do{<span class="s14">|v|</span>  
> v.clearOnRefresh_(<span class="s14">false</span>);v.drawFunc =  
> <span class="s14">nil</span>}}.defer(0.4);</p>
> +<p class="p15">)</p>
> +<p class="p3"><br></p>
> +<p class="p3"><br></p>
>  <p class="p14">// Use refreshInRect(aRect).</p>
>  <p class="p14">// Constrains the receiver's refresh area to the  
> rectangle passed in aRect.</p>
>  <p class="p14">// you may use Quartz Debug's flash screen updates  
> to see the refresh area of the view</p>
> -<p class="p15"><br></p>
> -<p class="p16">(</p>
> -<p class="p16"><span class="s13">var</span> userView, win, blob =  
> <span class="s13">Rect</span>(0, 0, 50, 50), trackblob=<span  
> class="s13">false</span>, pmouse;</p>
> -<p class="p15"><br></p>
> -<p class="p18"><span class="s3">a = </span><span  
> class="s13">SCImage</span><span class="s3">.new(</span>"/Library/
> Desktop Pictures/Ripples Blue.jpg"<span class="s3">);</span></p>
> -<p class="p15"><br></p>
> -<p class="p16">win = <span class="s13">SCWindow</span>.new(<span  
> class="s15">"refreshInRect Test"</span>, <span class="s13">Rect</
> span>(400, 400, 600, 200), scroll:<span class="s13">true</
> span>).front;</p>
> -<p class="p16">win.onClose_({ a.free; });</p>
> -<p class="p15"><br></p>
> -<p class="p16">userView = <span class="s13">SCUserView</span>(win,  
> <span class="s13">Rect</span>(10,10,2000,800))</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>.backgroundImage_(a, 5)</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>.relativeOrigin_(<span class="s13">false</span>)</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>.drawFunc_
> ({<span class="s13">|me|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Color</
> span>.blue.setFill;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">Pen</span>.fillRect
> (blob);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>})</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>.mouseDownAction_({<span class="s13">|v, x, y, mod|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>pmouse = x@y;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>trackblob = blob.containsPoint
> (pmouse);</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>})</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>.mouseUpAction_
> ({<span class="s13">|v, x, y, mod|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>trackblob = <span class="s13">false</
> span>;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span>})</p>
> -<p class="p16"><span class="Apple-tab-span"> </
> span>.mouseMoveAction_({<span class="s13">|v, x, y, mod|</span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span><span class="s13">var</span>  
> refresh, mouse, delta;</p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>mouse = x@y;</p>
> -<p class="p15"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span></p>
> -<p class="p16"><span class="Apple-tab-span"> </span><span  
> class="Apple-tab-span"> </span>if(trackblob, {</p>
>
> @@ Diff output truncated at 100000 characters. @@
>
> 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: http://www.listarc.bham.ac.uk/marchives/sc-dev/
> search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/


_______________________________________________
sc-dev mailing list

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