[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] SF.net SVN: supercollider:[8250] trunk/build/Help
Revision: 8250
http://supercollider.svn.sourceforge.net/supercollider/?rev=8250&view=rev
Author: jrhb
Date: 2008-12-23 11:54:10 +0000 (Tue, 23 Dec 2008)
Log Message:
-----------
add missing method documentation to SimpleNumber and Routine
Modified Paths:
--------------
trunk/build/Help/Core/Kernel/Routine.html
trunk/build/Help/Math/SimpleNumber.html
Modified: trunk/build/Help/Core/Kernel/Routine.html
===================================================================
--- trunk/build/Help/Core/Kernel/Routine.html 2008-12-23 04:03:00 UTC (rev 8249)
+++ trunk/build/Help/Core/Kernel/Routine.html 2008-12-23 11:54:10 UTC (rev 8250)
@@ -10,26 +10,23 @@
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}
+p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
-p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #952117}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Helvetica}
-p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #53382c}
-p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #273e90}
-p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #81281e}
-p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px}
-span.s1 {color: #1941e0}
-span.s2 {color: #273e90}
+p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
+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: #bf0000}
+p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Helvetica}
+p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #0000bf}
+p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
+p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #000000; min-height: 16.0px}
+span.s1 {color: #1849da}
+span.s2 {color: #0000bf}
span.s3 {color: #000000}
span.s4 {color: #606060}
-span.s5 {color: #2349db}
-span.s6 {color: #0e31f0}
-span.s7 {color: #0a24b3}
-span.s8 {color: #61633e}
-span.s9 {color: #0f2bad}
-span.s10 {color: #81281e}
-span.s11 {color: #0000ff}
+span.s5 {color: #2450d5}
+span.s6 {color: #003ce9}
+span.s7 {color: #007300}
+span.s8 {color: #bf0000}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -161,10 +158,10 @@
<p class="p3"><b>idle(time)</b></p>
<p class="p3"><span class="Apple-tab-span"> </span>within a routine, return values until this time is over. Time is measured relative to the thread's clock.</p>
<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="Routine.html"><span class="s6">Routine</span></a>)</p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span></span>// for 6 seconds, return 200, then continue</p>
+<p class="p7"><span class="Apple-tab-span"> </span></p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span></span>// for 6 seconds, return 200, then continue</p>
<p class="p4"><span class="Apple-tab-span"> </span>(</p>
-<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
+<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s2">Routine</span> {</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>200.idle(6);</p>
@@ -180,12 +177,12 @@
<p class="p4"><span class="Apple-tab-span"> </span>}</p>
<p class="p4"><span class="Apple-tab-span"> </span>);</p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span></span>// the value can also be a stream or a function</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span></span>// the value can also be a stream or a function</p>
<p class="p4"><span class="Apple-tab-span"> </span>(</p>
-<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
+<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s2">Routine</span> {</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Routine</span> { 100.do { <span class="s7">|i|</span> i.yield } }.idle(6);</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s2">Routine</span> { 100.do { <span class="s2">|i|</span> i.yield } }.idle(6);</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
<p class="p4"><span class="Apple-tab-span"> </span>};</p>
@@ -200,7 +197,7 @@
<p class="p6"><span class="Apple-tab-span"> </span></p>
<p class="p2"><br></p>
<p class="p2"><br></p>
-<p class="p8"><b>Accessible instance variables</b></p>
+<p class="p9"><b>Accessible instance variables</b></p>
<p class="p2"><br></p>
<p class="p2"><br></p>
<p class="p2"><br></p>
@@ -223,7 +220,7 @@
<p class="p4">(</p>
<p class="p4">r = <span class="s2">Routine</span> { <span class="s2">arg</span> inval;</p>
<p class="p4"><span class="Apple-tab-span"> </span>loop {</p>
-<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// thisThread refers to the routine.</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// thisThread refers to the routine.</p>
<p class="p5"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>postf(</span>"beats: % seconds: % time: % \n"<span class="s3">,<span class="Apple-converted-space"> </span></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="s2">thisThread</span>.beats, <span class="s2">thisThread</span>.seconds, <span class="s2">Main</span>.elapsedTime</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>);</p>
@@ -254,65 +251,80 @@
<p class="p4"><span class="Apple-tab-span"> </span>inval = 99.yield;</p>
<p class="p4">});</p>
<p class="p6"><br></p>
-<p class="p4">outval = r.next(<span class="s8">'a'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'a'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s8">'b'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'b'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
<p class="p4">r.reset; <span class="s4">"reset"</span>.postln;</p>
-<p class="p4">outval = r.next(<span class="s8">'c'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'c'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s8">'d'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'d'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s8">'e'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'e'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s8">'f'</span>);</p>
+<p class="p4">outval = r.next(<span class="s7">'f'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
<p class="p4">)</p>
<p class="p6"><br></p>
+<p class="p8">// wait</p>
<p class="p6"><br></p>
-<p class="p6"><br></p>
<p class="p4">(</p>
<p class="p4"><span class="s2">var</span> r;</p>
-<p class="p4">r = <span class="s2">Routine</span>.new({</p>
+<p class="p10"><span class="s3">r = </span>Routine<span class="s3"> {</span></p>
<p class="p4"><span class="Apple-tab-span"> </span>10.do({ <span class="s2">arg</span> a;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a.postln;</p>
-<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// Often you might see Wait being used to pause a routine</p>
-<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// This waits for one second between each number</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// Often you might see Wait being used to pause a routine</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// This waits for one second between each number</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
<p class="p4"><span class="Apple-tab-span"> </span>});</p>
-<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span></span>// Wait half second before saying we're done</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span></span>// Wait half second before saying we're done</p>
<p class="p4"><span class="Apple-tab-span"> </span>0.5.wait;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="s4">"done"</span>.postln;</p>
-<p class="p4">});</p>
-<p class="p6"><br></p>
-<p class="p10">SystemClock<span class="s3">.play(r);</span></p>
+<p class="p4">}.play;</p>
<p class="p4">)</p>
<p class="p6"><br></p>
-<p class="p6"><br></p>
-<p class="p11">// Using Routine to set button states on the fly.</p>
+<p class="p8">// waitUntil</p>
+<p class="p7"><br></p>
+<p class="p11">(</p>
+<p class="p11"><span class="s2">var</span> r;</p>
+<p class="p10"><span class="s3">r = </span>Routine<span class="s3"> {</span></p>
+<p class="p11"><span class="Apple-tab-span"> </span>var times = { rrand(1.0, 10.0) }.dup(10) + thisThread.beats;</p>
+<p class="p11"><span class="Apple-tab-span"> </span>times = times.sort;</p>
+<p class="p11"><span class="Apple-tab-span"> </span>times.do({ <span class="s2">arg</span> a;</p>
+<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>waitUntil(a);</p>
+<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a.postln;</p>
+<p class="p11"><span class="Apple-tab-span"> </span>});</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span></span>// Wait half second before saying we're done</p>
+<p class="p11"><span class="Apple-tab-span"> </span>0.5.wait;</p>
+<p class="p11"><span class="Apple-tab-span"> </span><span class="s4">"done"</span>.postln;</p>
+<p class="p11">}.play;</p>
+<p class="p11">)</p>
+<p class="p7"><br></p>
+<p class="p7"><br></p>
+<p class="p8">// Using Routine to set button states on the fly.</p>
<p class="p4">(</p>
-<p class="p4"><span class="s9">var</span> update, w, b;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w = <span class="s9">SCWindow</span>.new(<span class="s4">"State Window"</span>, <span class="s9">Rect</span>(150,<span class="s9">SCWindow</span>.screenBounds.height-140,380,60));</p>
+<p class="p4"><span class="s2">var</span> update, w, b;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w = <span class="s2">SCWindow</span>.new(<span class="s4">"State Window"</span>, <span class="s2">Rect</span>(150,<span class="s2">SCWindow</span>.screenBounds.height-140,380,60));</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// a convenient way to set the button label</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// a convenient way to set the button label</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>update = {<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="s9">|but, string|</span> but.states = [[string.asString, <span class="s9">Color</span>.black, <span class="s9">Color</span>.red]];<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="s2">|but, string|</span> but.states = [[string.asString, <span class="s2">Color</span>.black, <span class="s2">Color</span>.red]];<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>but.refresh;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s9">SCButton</span>(w, <span class="s9">Rect</span>(10,10,360,40));</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.font_(<span class="s9">Font</span>(<span class="s4">"Impact"</span>, 24));</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s2">SCButton</span>(w, <span class="s2">Rect</span>(10,10,360,40));</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.font_(<span class="s2">Font</span>(<span class="s4">"Impact"</span>, 24));</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p5"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>update.value(b, </span>"there is only one state"<span class="s3">);</span></p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// if an action should do something different each time it is called, a routine is the<span class="Apple-converted-space"> </span></p>
-<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// right thing to use. This is better than creating variables outside and setting them</p>
-<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// from the action function to keep state from one action to the next</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// if an action should do something different each time it is called, a routine is the<span class="Apple-converted-space"> </span></p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// right thing to use. This is better than creating variables outside and setting them</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// from the action function to keep state from one action to the next</p>
<p class="p6"><br></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.action_(<span class="s9">Routine</span> { <span class="s9">|butt|</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>rrand(15, 45).do { <span class="s9">|i|</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.action_(<span class="s2">Routine</span> { <span class="s2">|butt|</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>rrand(15, 45).do { <span class="s2">|i|</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><span class="Apple-tab-span"> </span>update.value(butt, <span class="s4">"%. there is still only 1 state"</span>.format(i + 2));</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><span class="Apple-tab-span"> </span>0.yield; <span class="s10">// stop here</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><span class="Apple-tab-span"> </span>0.yield; <span class="s8">// stop here</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>};</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>w.close;</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>});</p>
@@ -320,34 +332,34 @@
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.front;</p>
<p class="p4">)</p>
<p class="p6"><br></p>
-<p class="p7">// drawing in a window dynamcially with <a href="../../GUI/stubs/Pen.html"><span class="s11">Pen</span></a></p>
+<p class="p8">// drawing in a window dynamcially with <a href="../../GUI/stubs/Pen.html">Pen</a></p>
<p class="p4">(</p>
-<p class="p4"><span class="s7">var</span> w, much = 0.02, string, synth;</p>
+<p class="p4"><span class="s2">var</span> w, much = 0.02, string, synth;</p>
<p class="p6"><br></p>
-<p class="p4">w = <span class="s7">GUI</span>.window.new(<span class="s4">"swing"</span>, <span class="s7">Rect</span>(100, 100, 300, 500)).front;</p>
-<p class="p4">w.view.background_(<span class="s7">Color</span>.new255(153, 255, 102).vary);</p>
+<p class="p4">w = <span class="s2">GUI</span>.window.new(<span class="s4">"swing"</span>, <span class="s2">Rect</span>(100, 100, 300, 500)).front;</p>
+<p class="p4">w.view.background_(<span class="s2">Color</span>.new255(153, 255, 102).vary);</p>
<p class="p6"><br></p>
<p class="p4">string = <span class="s4">"swing "</span>.dup(24).join;</p>
<p class="p6"><br></p>
-<p class="p4">w.drawHook = <span class="s7">Routine</span> {<span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> i = 0;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> size = 40;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> func = { <span class="s7">|i, j|</span> sin(i * 0.07 + (j * 0.0023) + 1.5pi) * much + 1 };</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> scale;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.font = <span class="s7">Font</span>(<span class="s4">"Helvetica-Bold"</span>, 40);</p>
+<p class="p4">w.drawHook = <span class="s2">Routine</span> {<span class="Apple-tab-span"> </span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s2">var</span> i = 0;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s2">var</span> size = 40;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s2">var</span> func = { <span class="s2">|i, j|</span> sin(i * 0.07 + (j * 0.0023) + 1.5pi) * much + 1 };</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s2">var</span> scale;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s2">Pen</span>.font = <span class="s2">Font</span>(<span class="s4">"Helvetica-Bold"</span>, 40);</p>
<p class="p4"><span class="Apple-tab-span"> </span>loop {<span class="Apple-tab-span"> </span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i = i + 1;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>string.do {<span class="Apple-tab-span"> </span><span class="s7">|char, j|</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>string.do {<span class="Apple-tab-span"> </span><span class="s2">|char, j|</span></p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>scale = func.value(i, j).dup(6);</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.fillColor = <span class="s7">Color</span>.new255(0, 120, 120).vary;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.matrix = scale * #[1, 0, 0, 1, 1, 0];</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.stringAtPoint(char.asString,</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s2">Pen</span>.fillColor = <span class="s2">Color</span>.new255(0, 120, 120).vary;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s2">Pen</span>.matrix = scale * #[1, 0, 0, 1, 1, 0];</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s2">Pen</span>.stringAtPoint(char.asString,</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>((size * (j % 9)) - 10) @ (size * (j div: 9))</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><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="p7"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield </span>// stop here, return something unimportant</p>
+<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield </span>// stop here, return something unimportant</p>
<p class="p4"><span class="Apple-tab-span"> </span>}</p>
<p class="p4">};</p>
<p class="p6"><br></p>
Modified: trunk/build/Help/Math/SimpleNumber.html
===================================================================
--- trunk/build/Help/Math/SimpleNumber.html 2008-12-23 04:03:00 UTC (rev 8249)
+++ trunk/build/Help/Math/SimpleNumber.html 2008-12-23 11:54:10 UTC (rev 8250)
@@ -5,7 +5,7 @@
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
-<meta name="CocoaVersion" content="949.35">
+<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}
@@ -14,14 +14,20 @@
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; min-height: 12.0px}
p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
+p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000; min-height: 12.0px}
span.s1 {text-decoration: underline}
-span.s2 {font: 12.0px Helvetica}
-span.s3 {color: #75311c}
-span.s4 {color: #133daa}
-span.s5 {color: #0024f8}
-span.s6 {color: #000000}
-span.s7 {color: #001bb9}
-span.s8 {color: #606060}
+span.s2 {color: #0000ff}
+span.s3 {color: #0033f1}
+span.s4 {color: #000000}
+span.s5 {color: #0026b4}
+span.s6 {color: #606060}
+span.s7 {font: 9.0px Monaco}
+span.s8 {font: 12.0px Helvetica}
+span.s9 {color: #6d321f}
+span.s10 {color: #1742a6}
+span.s11 {color: #bf0000}
+span.s12 {color: #0000bf}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -193,6 +199,18 @@
<p class="p2"><br></p>
<p class="p3">Distortion with a perfectly linear region from -0.5 to +0.5</p>
<p class="p2"><br></p>
+<p class="p3"><b>scurve</b></p>
+<p class="p2"><br></p>
+<p class="p3">Map receiver in the onto an S-curve.</p>
+<p class="p2"><br></p>
+<p class="p5">((0..100) / 100 ).collect(_.scurve).plot</p>
+<p class="p6"><br></p>
+<p class="p3"><b>ramp</b></p>
+<p class="p2"><br></p>
+<p class="p3">Map receiver onto a ramp starting at 0.</p>
+<p class="p2"><br></p>
+<p class="p5">((-100..100) / 100 ).collect(_.ramp).plot</p>
+<p class="p2"><br></p>
<p class="p3"><b>coin</b></p>
<p class="p2"><br></p>
<p class="p3">Answers a Boolean which is the result of a random test whose probability of success in a range from<span class="Apple-converted-space"> </span></p>
@@ -218,6 +236,51 @@
<p class="p2"><br></p>
<p class="p3">Answer if the number is > 0.</p>
<p class="p2"><br></p>
+<p class="p3"><b>booleanValue</b></p>
+<p class="p2"><br></p>
+<p class="p3">return true, if strictly positive ( > 0), otherwise false (see <a href="../Core/Boolean.html"><span class="s2">Boolean</span></a>)</p>
+<p class="p2"><br></p>
+<p class="p3"><b>isValidUGenInput</b></p>
+<p class="p2"><br></p>
+<p class="p3">return false if receiver cannot be used in UGen.</p>
+<p class="p2"><br></p>
+<p class="p3"><b>magnitude</b></p>
+<p class="p2"><br></p>
+<p class="p3">returns abolute value (see <a href="Polar.html"><span class="s2">Polar</span></a>, <a href="Complex.html"><span class="s2">Complex</span></a>)</p>
+<p class="p2"><br></p>
+<p class="p3"><b>angle</b></p>
+<p class="p2"><br></p>
+<p class="p3">returns angle of receiver conceived as <a href="Polar.html"><span class="s2">Polar</span></a> or <a href="Complex.html"><span class="s2">Complex</span></a><span class="s2"> </span>number.</p>
+<p class="p2"><br></p>
+<p class="p3"><b>wait</b></p>
+<p class="p3"><span class="Apple-tab-span"> </span>within a routine, yield the number so that the clock can wait for this many beats.</p>
+<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="../Core/Kernel/Routine.html"><span class="s3">Routine</span></a>)</p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>// create a routine by a function fork</p>
+<p class="p5"><span class="Apple-tab-span"> </span>(</p>
+<p class="p5"><span class="Apple-tab-span"> </span>fork {</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
+<p class="p7"><span class="s4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"I did wait"<span class="s4">.postln;</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.0.rand.wait;</p>
+<p class="p7"><span class="s4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"No you didn't"<span class="s4">.postln;</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2.wait;</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s5">(1..)</span>.do { <span class="s5">|i|</span><span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s6">"yes I did"</span>.postln;<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.asFloat.rand.wait;<span class="Apple-converted-space"> </span></p>
+<p class="p7"><span class="s4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"no you didn't"<span class="s4">.postln;<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="Apple-tab-span"> </span>i.wait<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p5"><span class="Apple-tab-span"> </span>}</p>
+<p class="p5"><span class="Apple-tab-span"> </span>)</p>
+<p class="p6"><br></p>
+<p class="p3"><b>waitUntil</b></p>
+<p class="p3"><span class="Apple-tab-span"> </span>like wait, only specify a time (measured in beats of the current thread's clock)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="../Core/Kernel/Routine.html"><span class="s3">Routine</span></a>)</p>
+<p class="p2"><br></p>
+<p class="p3"><b>sleep</b></p>
+<p class="p3"><span class="Apple-tab-span"> </span>make the current thread sleep, until woken up by re-scheduling. (see <a href="../Core/Kernel/Routine.html"><span class="s3">Routine</span></a>)</p>
+<p class="p2"><span class="Apple-tab-span"> </span><span class="s7"><span class="Apple-tab-span"> </span></span></p>
+<p class="p2"><br></p>
<p class="p4"><b>Binary Operations</b></p>
<p class="p2"><br></p>
<p class="p3"><b>+ aNumber</b></p>
@@ -376,22 +439,37 @@
<p class="p2"><br></p>
<p class="p3"><b>rrand(aNumber)</b></p>
<p class="p2"><br></p>
-<p class="p3"><span class="Apple-tab-span"> </span>Returns a random number in the interval [a, b). If both a and b are Integer then the result will be an Integer.</p>
+<p class="p3">Returns a random number in the interval ]a, b[. If both a and b are Integer then the result will be an Integer.</p>
<p class="p2"><br></p>
<p class="p3"><b>exprand(aNumber)</b></p>
<p class="p2"><br></p>
-<p class="p3"><span class="Apple-tab-span"> </span>Returns an exponentially distributed random number in the interval [a, b). Always returns a Float.</p>
+<p class="p3">Returns an exponentially distributed random number in the interval ]a, b[. Always returns a Float.</p>
<p class="p2"><br></p>
+<p class="p3"><b>gauss(standardDeviation)</b></p>
<p class="p2"><br></p>
+<p class="p3">Returns a gaussian distributed random number. Always returns a Float.</p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
+<p class="p5">(0..1000).collect { |num| gauss(0.0, num) }.plot;</p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
+<p class="p3"><b>nextTimeOnGrid(clock)</b></p>
+<p class="p2"><br></p>
+<p class="p3">Return the next possible multiple of the clock's beats.</p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
+<p class="p4"><b>N-ary Operations</b></p>
+<p class="p2"><br></p>
+<p class="p2"><b></b><br></p>
<p class="p3"><b>degreeToKey(scale, stepsPerOctave)</b></p>
<p class="p2"><br></p>
<p class="p3"><span class="Apple-tab-span"> </span>the value is truncated to an integer and used as an index into an octave repeating table of note values.</p>
<p class="p3"><span class="Apple-tab-span"> </span>Indices wrap around the table and shift octaves as they do</p>
<p class="p3"><span class="Apple-tab-span"> </span>stepsPerOctave is 12 by default</p>
<p class="p2"><span class="Apple-tab-span"> </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="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s3">// pentatonic scale</span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(1, 2..15).collect { <span class="s4">|i|</span> i.degreeToKey(l, 12) }</p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s9">// pentatonic scale</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(1, 2..15).collect { <span class="s10">|i|</span> i.degreeToKey(l, 12) }</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p2"><br></p>
<p class="p2"><br></p>
@@ -400,20 +478,20 @@
<p class="p3"><span class="Apple-tab-span"> </span>inverse of degreeToKey.</p>
<p class="p3"><span class="Apple-tab-span"> </span>stepsPerOctave is 12 by default</p>
<p class="p2"><span class="Apple-tab-span"> </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="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s3">// pentatonic scale</span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(60, 61..75).collect { <span class="s4">|i|</span> i.keyToDegree(l, 12) }</p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s9">// pentatonic scale</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(60, 61..75).collect { <span class="s10">|i|</span> i.keyToDegree(l, 12) }</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p5"><span class="Apple-tab-span"> </span>(</p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s3">// pentatonic scale</span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(60, 61..75).postln.collect { <span class="s4">|i|</span> i.keyToDegree(l, 12).degreeToKey(l) }</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s9">// pentatonic scale</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(60, 61..75).postln.collect { <span class="s10">|i|</span> i.keyToDegree(l, 12).degreeToKey(l) }</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
<p class="p3"><b>nearestInList(list)</b></p>
<p class="p2"><br></p>
<p class="p3"><span class="Apple-tab-span"> </span>returns the value in the collection closest to this</p>
<p class="p2"><span class="Apple-tab-span"> </span></p>
-<p class="p5"><span class="s2"><span class="Apple-tab-span"> </span></span>(</p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 0.5, 0.9, 1];</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(0, 0.05..1).collect { |i| i.nearestInList(l) }</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
@@ -424,48 +502,120 @@
<p class="p3"><span class="Apple-tab-span"> </span>returns the value in the collection closest to this, assuming an octave repeating table of note values.</p>
<p class="p3"><span class="Apple-tab-span"> </span>stepsPerOctave is 12 by default</p>
<p class="p2"><span class="Apple-tab-span"> </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="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s3">// pentatonic scale</span></p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>l = [0, 1, 5, 9, 11]; <span class="s9">// pentatonic scale</span></p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(60, 61..76).collect { |i| i.nearestInScale(l, 12) }</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p2"><span class="Apple-tab-span"> </span></p>
+<p class="p3"><b>partition(parts, min)</b></p>
+<p class="p2"><br></p>
+<p class="p3"><span class="Apple-tab-span"> </span>randomly partition a number into parts of at least min size.</p>
+<p class="p2"><br></p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>75.partition(8, 3);</p>
+<p class="p5"><span class="Apple-tab-span"> </span>75.partition(75, 1);</p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
<p class="p3"><b>asTimeString(precision)</b></p>
<p class="p2"><br></p>
<p class="p3"><span class="Apple-tab-span"> </span>returns a string corresponding to the hours:minutes:seconds based on the receiver as number of seconds</p>
<p class="p3"><span class="Apple-tab-span"> </span>precision is 0.1 by default</p>
<p class="p2"><span class="Apple-tab-span"> </span></p>
-<p class="p5"><span class="s2"><span class="Apple-tab-span"> </span></span>(</p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>var start;</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>start = Main.elapsedTime;</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{ loop({(Main.elapsedTime - start).asTimeString.postln; 0.05.wait}) }.fork;</p>
<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p6"><br></p>
+<p class="p3"><b>equalWithPrecision(that, precision)</b></p>
+<p class="p2"><br></p>
+<p class="p3"><span class="Apple-tab-span"> </span>return true if receiver is closer to <b>that</b> than <b>precision</b>. (default for precision: 0.0001)</p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
+<p class="p8"><span class="s8"><span class="Apple-tab-span"> </span></span>3.1.equalWithPrecision(3.0, 0.05); <span class="s11">// false</span></p>
+<p class="p8"><span class="Apple-tab-span"> </span>3.1.equalWithPrecision(3.0, 0.1); <span class="s11">// false</span></p>
+<p class="p8"><span class="Apple-tab-span"> </span>3.1.equalWithPrecision(3.0, 0.11); <span class="s11">// true</span></p>
<p class="p6"><br></p>
-<p class="p3"><b>wait</b></p>
-<p class="p3"><span class="Apple-tab-span"> </span>within a routine, yield the number so that the clock can wait for this many beats.</p>
-<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="../Core/Kernel/Routine.html"><span class="s5">Routine</span></a>)</p>
-<p class="p2"><span class="Apple-tab-span"> </span></p>
-<p class="p5"><span class="Apple-tab-span"> </span>// create a routine by a function fork</p>
-<p class="p5"><span class="Apple-tab-span"> </span>(</p>
-<p class="p5"><span class="Apple-tab-span"> </span>fork {</p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
-<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"I did wait"<span class="s6">.postln;</span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.0.rand.wait;</p>
-<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"No you didn't"<span class="s6">.postln;</span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2.wait;</p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">(1..)</span>.do { <span class="s7">|i|</span><span class="Apple-converted-space"> </span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s8">"yes I did"</span>.postln;<span class="Apple-converted-space"> </span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.asFloat.rand.wait;<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"no you didn't"<span class="s6">.postln;<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="Apple-tab-span"> </span>i.wait<span class="Apple-converted-space"> </span></p>
-<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p5"><span class="Apple-tab-span"> </span>}</p>
-<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p3"><b>quantize(quantum, tolerance, strength)</b></p>
+<p class="p2"><b><span class="Apple-tab-span"> </span></b></p>
+<p class="p3"><b><span class="Apple-tab-span"> </span></b>round the receiver to the <b>quantum</b> (default: 1.0) allowing for a <b>tolerance</b> (default: 0.05).</p>
+<p class="p3"><span class="Apple-tab-span"> </span>How much the value is allowed to differ in the tolerance range is determined by <b>strength</b> (default: 1.0).</p>
+<p class="p2"><br></p>
+<p class="p5"><span class="Apple-tab-span"> </span>((0..10) / 10).collect { |num| num.quantize(1, 0.3, 0.5) }.postcs.plot;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>((0..10) / 10).collect { |num| num.quantize(1, 0.6, 0.5) }.postcs.plot;</p>
+<p class="p5"><span class="Apple-tab-span"> </span>((0..10) / 10).collect { |num| num.quantize(1, 1.0, 0.5) }.postcs.plot;</p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
+<p class="p3"><b>linlin(inMin, inMax, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from an assumed linear input range (inMin..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to a linear output range (outMin..outMax). If the input exceeds the assumed input range.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span>If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).</p>
+<p class="p2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p8"><span class="s4"><span class="Apple-tab-span"> </span></span>(0..10).collect { <span class="s12">|num|</span> num.linlin(0, 10, -4.3, 100) };<span class="Apple-converted-space"> </span></p>
+<p class="p8"><span class="Apple-tab-span"> </span>(0..10).linlin(0, 10, -4.3, 100); <span class="s11">// equivalent.</span></p>
+<p class="p6"><br></p>
+<p class="p2"><b></b><br></p>
+<p class="p3"><b>linexp(inMin, inMax, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from an assumed linear input range (inMin..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to an exponential output range (outMin..outMax).</p>
+<p class="p3"><span class="Apple-tab-span"> </span>The output range must not include zero.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span> If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).</p>
+<p class="p2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p5"><span class="s8"><span class="Apple-tab-span"> </span></span>(0..10).collect { <span class="s12">|num|</span> num.linexp(0, 10, -4.3, 100) };<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(0..10).linexp(0, 10, -4.3, 100); <span class="s11">// equivalent.</span></p>
+<p class="p2"><b><span class="Apple-tab-span"> </span></b></p>
+<p class="p3"><b>explin(inMin, inMax, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from an assumed exponential input range (inMin..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to a linear output range (outMin..outMax). If the input exceeds the assumed input range.</p>
+<p class="p3"><span class="Apple-tab-span"> </span>The input range must not include zero.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span>If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).<span class="s7"><span class="Apple-tab-span"> </span></span></p>
+<p class="p6"><br></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(1..10).collect { <span class="s12">|num|</span> num.explin(0, 10, -4.3, 100) };<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(1..10).explin(0, 10, -4.3, 100); <span class="s11">// equivalent.</span></p>
+<p class="p9"><span class="Apple-tab-span"> </span></p>
+<p class="p6"><br></p>
+<p class="p3"><b>expexp(inMin, inMax, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from an assumed exponential input range (inMin..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to an exponential output range (outMin..outMax). If the input exceeds the assumed input range.</p>
+<p class="p3"><span class="Apple-tab-span"> </span>Both input range and output range must not include zero.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span>If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).</p>
+<p class="p2"><br></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(1..10).collect { <span class="s12">|num|</span> num.expexp(0, 10, -4.3, 100) };<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(1..10).expexp(0, 10, 4.3, 100); <span class="s11">// equivalent.</span></p>
+<p class="p2"><br></p>
+<p class="p3"><b>bilin(inCenter, inMin, inMax, outCenter, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from two assumed linear input ranges (inMin..inCenter) and (inCenter..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to two linear output ranges (outMin..outCenter) and (outCenter..outMax).</p>
+<p class="p3"><span class="Apple-tab-span"> </span>If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).</p>
+<p class="p2"><br></p>
+<p class="p2"><br></p>
+<p class="p3"><b>biexp(inCenter, inMin, inMax, outCenter, outMin, outMax, clip)</b></p>
+<p class="p6"><br></p>
+<p class="p3"><span class="s7"><span class="Apple-tab-span"> </span></span>map the receiver from two assumed exponential input ranges (inMin..inCenter) and (inCenter..inMax)</p>
+<p class="p3"><span class="Apple-tab-span"> </span>to two linear output ranges (outMin..outCenter) and (outCenter..outMax).</p>
+<p class="p3"><span class="Apple-tab-span"> </span>Both input range and output range must not include zero.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span>If the input exceeds the input range, the following behaviours are specified by the <b>clip</b> argument:<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><b>nil</b> (don't clip), <b>\max</b> (clip ceiling), <b>\min</b>, (clip floor), <b>\minmax</b> (clip both - this is default).<span class="Apple-tab-span"> </span></p>
+<p class="p2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p2"><br></p>
+<p class="p3"><b>lcurve(a, m, n, tau)</b></p>
+<p class="p2"><br></p>
+<p class="p3"><span class="Apple-tab-span"> </span>map the receiver onto an L-curve, using the formula: a * (m * exp(x) * rTau + 1) / (n * exp(x) * rTau + 1).</p>
+<p class="p3"><span class="Apple-tab-span"> </span>This is used for smoothing values and limiting them to a range. Defalt values: <b>a = 1; m = 0; tau = 1</b>.</p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span>(-10..10).collect { |num| num.lcurve }.plot;</p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
<p class="p6"><br></p>
+<p class="p2"><span class="Apple-tab-span"> </span></p>
</body>
</html>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/