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

[sc-dev] SF.net SVN: supercollider:[8105] trunk/build/Help/GUI/SCSlider.html



Revision: 8105
          http://supercollider.svn.sourceforge.net/supercollider/?rev=8105&view=rev
Author:   jmfuo
Date:     2008-12-11 19:07:25 +0000 (Thu, 11 Dec 2008)

Log Message:
-----------
added explanation of increment / decrement

Modified Paths:
--------------
    trunk/build/Help/GUI/SCSlider.html

Modified: trunk/build/Help/GUI/SCSlider.html
===================================================================
--- trunk/build/Help/GUI/SCSlider.html	2008-12-11 16:29:52 UTC (rev 8104)
+++ trunk/build/Help/GUI/SCSlider.html	2008-12-11 19:07:25 UTC (rev 8105)
@@ -17,29 +17,30 @@
 p.p8 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica}
 p.p9 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica; min-height: 14.0px}
 p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-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: 9.0px Monaco; min-height: 12.0px}
-p.p15 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
-p.p16 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #615f58}
-p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
-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: #606060}
+p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
+p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.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: 9.0px Monaco; min-height: 12.0px}
+p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
+p.p15 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #615f58}
+p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
+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}
 span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #6f717a}
-span.s3 {color: #5a65a5}
+span.s2 {color: #6f7179}
+span.s3 {color: #5d67a2}
 span.s4 {color: #000000}
 span.s5 {text-decoration: underline}
-span.s6 {color: #5763a9}
-span.s7 {color: #676d92}
+span.s6 {color: #5a65a5}
+span.s7 {color: #686e90}
 span.s8 {color: #6f7178}
-span.s9 {color: #0000bf}
+span.s9 {color: #0018b8}
 span.s10 {font: 12.0px Helvetica}
-span.s11 {font: 14.0px Helvetica}
-span.s12 {color: #007300}
-span.s13 {color: #606060}
+span.s11 {font: 11.0px Monaco}
+span.s12 {font: 11.0px Monaco; color: #0000bf}
+span.s13 {font: 14.0px Helvetica}
+span.s14 {text-decoration: underline ; color: #001ee6}
+span.s15 {color: #356f14}
+span.s16 {color: #606060}
 span.Apple-tab-span {white-space:pre}
 </style>
 </head>
@@ -64,13 +65,13 @@
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>bounds </b>- An instance of <a href="../Geometry/Rect.html"><span class="s8">Rect</span></a>,<span class="Apple-converted-space">  </span>or<span class="Apple-converted-space">  </span>a <a href="../Geometry/Point.html"><span class="s8">Point</span></a> indicating width@height.</p>
 <p class="p9"><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>(</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w = <span class="s9">SCWindow</span>.new.front;</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 60, 150, 20));</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a.action = { a.value.postln };</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s4">)</span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w = <span class="s9">SCWindow</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 60, 150, 20));</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>a.action = { a.value.postln };</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>)</p>
 <p class="p9"><br></p>
-<p class="p12"><b>Accessing Instance and Class Variables</b><span class="s10"><span class="Apple-tab-span">	</span></span></p>
-<p class="p13"><br></p>
+<p class="p11"><b>Accessing Instance and Class Variables</b><span class="s10"><span class="Apple-tab-span">	</span></span></p>
+<p class="p12"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>value</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>value_ (val)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b></p>
@@ -79,28 +80,35 @@
 <p class="p6"><b><span class="Apple-tab-span">	</span>valueAction_ (val)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>Sets the property, \value, by calling setPropertyWithAction(\value, <b>val</b>). Does the sliders <b>action</b>.</p>
-<p class="p14"><br></p>
-<p class="p12"><b>Customizing Appearance</b></p>
+<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p6"><b><span class="Apple-tab-span">	</span>increment (zoom)</b></p>
+<p class="p6"><b><span class="Apple-tab-span">	</span>decrement (zoom)</b></p>
+<p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
+<p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>These are the methods called by pressing the arrow keys. These methods increment or decrement the slider value by <span class="s11">(max(</span><span class="s12">this</span><span class="s11">.step, </span><span class="s12">this</span><span class="s11">.pixelStep) * zoom)</span>. This means that by default increment<span class="Apple-converted-space">  </span>and decrement change the value by <b>pixelStep</b> (<b>step</b> is nil by default). You can set <b>step</b> to quantize the slider values. If you call these methods from your code, you can also change the resolution of the values with the <b>zoom</b> factor. This will not effect how the keys work, since they will always use a zoom factor of 1.</p>
+<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>zoom </b>- Defaults to 1.<span class="Apple-converted-space"> </span></p>
+<p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p13"><br></p>
+<p class="p11"><b>Customizing Appearance</b></p>
 <p class="p7"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>thumbSize</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>thumbSize_ (size)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>size </b>- The size of the slider button in pixels. Its width or height, depending on the slider orientation</p>
 <p class="p7"><br></p>
-<p class="p12"><b>Subclassing and Internal Methods<span class="Apple-converted-space"> </span></b></p>
-<p class="p6"><span class="s11"><span class="Apple-tab-span">	</span></span>The following methods are usually not used directly or are called by a primitive. Programmers can still call or override these as needed.<span class="Apple-converted-space"> </span></p>
+<p class="p11"><b>Subclassing and Internal Methods<span class="Apple-converted-space"> </span></b></p>
+<p class="p6"><span class="s13"><span class="Apple-tab-span">	</span></span>The following methods are usually not used directly or are called by a primitive. Programmers can still call or override these as needed.<span class="Apple-converted-space"> </span></p>
 <p class="p7"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>properties</b></p>
 <p class="p7"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>A list of properties to which this view responds. See <a href="SCView.html"><span class="s8">SCView</span></a>.<span class="Apple-converted-space"> </span></p>
-<p class="p14"><br></p>
-<p class="p15"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>returns:</p>
-<p class="p16"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>[ </span>\bounds<span class="s4">, </span>\visible<span class="s4">, </span>\enabled<span class="s4">, </span>\canFocus<span class="s4">, </span>\resize<span class="s4">, </span>\background<span class="s4">, </span>\minWidth<span class="s4">, </span>\maxWidth<span class="s4">, </span>\minHeight<span class="s4">, </span>\maxHeight<span class="s4">, </span>\knobColor<span class="s4">, </span>\step<span class="s4">, </span>\thumbSize<span class="s4"> \]</span></p>
+<p class="p13"><br></p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>returns:</p>
+<p class="p15"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>[ </span>\bounds<span class="s4">, </span>\visible<span class="s4">, </span>\enabled<span class="s4">, </span>\canFocus<span class="s4">, </span>\resize<span class="s4">, </span>\background<span class="s4">, </span>\minWidth<span class="s4">, </span>\maxWidth<span class="s4">, </span>\minHeight<span class="s4">, </span>\maxHeight<span class="s4">, </span>\knobColor<span class="s4">, </span>\step<span class="s4">, </span>\thumbSize<span class="s4"> \]</span></p>
 <p class="p7"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>pixelStep</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Returns the reciprocal of:<span class="Apple-converted-space">  </span>the<span class="Apple-converted-space">  </span>slider width or height (depending on orientation) minus the <b>thumbSize</b><span class="Apple-tab-span">	</span></p>
-<p class="p14"><br></p>
+<p class="p13"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>defaultKeyDownAction (char, modifiers, unicode)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>The default keydown actions are:</p>
@@ -117,8 +125,6 @@
 <p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>unicode 16rF701, <span class="Apple-tab-span">	</span>increment by <b>step</b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>down arrow</p>
 <p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>unicode 16rF702, <span class="Apple-tab-span">	</span>decrement by <b>step</b>1<span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>left arrow</p>
 <p class="p7"><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>All the increment and decrement actions only work if you have explictily set <b>step</b> first. See <a href="SCSliderBase.html"><span class="s2">SCSliderBase</span></a></p>
-<p class="p14"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>defaultGetDrag</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>The method called by default when initiating a drag <b>from</b> an SCSlider. Returns the same as <b>value</b>.<span class="Apple-converted-space"> </span></p>
@@ -131,154 +137,154 @@
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>The default method called when a drag has been recieved. Performs <b>valueAction_()</b><span class="Apple-converted-space">  </span>using<span class="Apple-converted-space">  </span><b>currentDrag</b> as an argument. <span class="Apple-converted-space"> </span></p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p12"><b>Examples</b></p>
-<p class="p17"><br></p>
-<p class="p18"><br></p>
-<p class="p19">// the simplest version will give you a very long float</p>
-<p class="p11">(</p>
-<p class="p11">w = <span class="s9">SCWindow</span>.new.front;</p>
-<p class="p11">c = <span class="s9">SCNumberBox</span>(w, <span class="s9">Rect</span>(20, 20, 150, 20));</p>
-<p class="p11">a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 60, 150, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.value_(a.value)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
-<p class="p11">a.action.value;</p>
-<p class="p11">)</p>
-<p class="p18"><br></p>
-<p class="p19">// use a <a href="../Control/Spec.html">Spec</a> to round and map the output range for clearer display</p>
-<p class="p11">(</p>
-<p class="p11">w = <span class="s9">SCWindow</span>.new.front;</p>
-<p class="p19"><span class="s4">b = </span><span class="s9">ControlSpec</span><span class="s4">(-50, 50, </span><span class="s12">\linear</span><span class="s4">, 0.01); </span>// min, max, mapping, step</p>
-<p class="p11">c = <span class="s9">SCStaticText</span>(w, <span class="s9">Rect</span>(20, 20, 150, 20)).align_(<span class="s12">\center</span>).background_(<span class="s9">Color</span>.rand);</p>
-<p class="p11">a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 50, 150, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.focusColor_(<span class="s9">Color</span>.red(alpha:0.2))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.background_(<span class="s9">Color</span>.rand)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.string_(b.map(a.value).asString)</p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// round the float so it will fit in the SCNumberBox</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
-<p class="p11">a.action.value;</p>
-<p class="p18"><br></p>
-<p class="p11">)</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p19">// change the stepsize of the slider, selected via a SCPopUpMenu</p>
-<p class="p11">(</p>
-<p class="p11">w = <span class="s9">SCWindow</span>.new.front;</p>
-<p class="p20"><span class="s4">a = [</span>"0"<span class="s4">, </span>"0.0625"<span class="s4">, </span>"0.125"<span class="s4">, </span>"0.25"<span class="s4">, </span>"0.5"<span class="s4">, </span>"1"<span class="s4">];</span></p>
-<p class="p11">b = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 100, 100, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.value_(b.value)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}).background_(<span class="s9">Color</span>.rand);</p>
-<p class="p11">d = <span class="s9">SCPopUpMenu</span>(w, <span class="s9">Rect</span>(20, 60, 100, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.items_(a)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>b.step_((a.at(d.value)).asFloat);</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
-<p class="p11"><span class="s9">SCStaticText</span>(w, <span class="s9">Rect</span>(130, 60, 100, 20)).string_(<span class="s13">"change step"</span>);<span class="Apple-tab-span">	</span></p>
-<p class="p11">c = <span class="s9">SCNumberBox</span>(w, <span class="s9">Rect</span>(20, 20, 100, 20));</p>
-<p class="p11">)</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p19">// use the slider view to accept key actions</p>
-<p class="p18"><br></p>
-<p class="p19"><span class="s4">(</span>// select the slider, type something and watch the post window</p>
-<p class="p11">w = <span class="s9">SCWindow</span>.new;</p>
-<p class="p11">c = <span class="s9">SCSlider</span>(w,<span class="s9">Rect</span>(0,0,100,30));</p>
-<p class="p11">c.keyDownAction = { <span class="s9">arg</span> view,char,modifiers,unicode,keycode;</p>
-<p class="p11">[char,modifiers,unicode,keycode].postln;</p>
-<p class="p11">};</p>
-<p class="p11">w.front;</p>
-<p class="p11">)</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p19">// adding funtionality to a view by the method addAction</p>
-<p class="p19">// this is useful for adding things to existing frameworks</p>
-<p class="p19">// that have action functions already.<span class="Apple-converted-space"> </span></p>
-<p class="p18"><br></p>
-<p class="p11">(</p>
-<p class="p11">w = <span class="s9">GUI</span>.window.new(<span class="s13">"A Slider"</span>);</p>
-<p class="p11">a = <span class="s9">GUI</span>.slider.new(w, <span class="s9">Rect</span>(40, 10, 300, 30));</p>
-<p class="p11">w.front</p>
-<p class="p11">);</p>
-<p class="p18"><br></p>
-<p class="p19">// now incrementally add some action to the slider</p>
-<p class="p11">a.addAction({ <span class="s9">|sl|</span> sl.value.postln });</p>
-<p class="p11">a.addAction({ <span class="s9">|sl|</span> w.view.background = <span class="s9">Color</span>.green(sl.value) });</p>
-<p class="p11">a.addAction({ <span class="s9">|sl|</span> sl.background = <span class="s9">Color</span>.red(1 - sl.value) });</p>
-<p class="p18"><br></p>
-<p class="p19">// adding and removing an action:</p>
-<p class="p20"><span class="s4">f = { </span><span class="s9">|sl|</span><span class="s4"> </span>"--------*******-------"<span class="s4">.postln; };</span></p>
-<p class="p11">a.addAction(f);</p>
-<p class="p11">a.removeAction(f);</p>
-<p class="p18"><br></p>
-<p class="p19">// or remove all, of course</p>
-<p class="p11">a.action = <span class="s9">nil</span>;</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p11">-----</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p19">// you can use<span class="Apple-converted-space">  </span>SCSlider for triggering sounds also:</p>
-<p class="p18"><br></p>
-<p class="p11">(<span class="Apple-converted-space"> </span></p>
-<p class="p11">s.waitForBoot({</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="s9">SynthDef</span>(<span class="s12">\pluck</span>,{<span class="s9">arg</span> freq=55;</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Out</span>.ar(0,</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Pluck</span>.ar(<span class="s9">WhiteNoise</span>.ar(0.06),<span class="Apple-converted-space"> </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="s9">EnvGen</span>.kr(<span class="s9">Env</span>.perc(0,4), 1.0, doneAction: 2),<span class="Apple-converted-space"> </span></p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>freq.reciprocal,<span class="Apple-converted-space"> </span></p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>freq.reciprocal,<span class="Apple-converted-space"> </span></p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>10,<span class="Apple-converted-space"> </span></p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>coef:0.1)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>);</p>
-<p class="p11"><span class="Apple-tab-span">	</span>}).send(s);</p>
-<p class="p18"><span class="Apple-tab-span">	</span></p>
-<p class="p18"><br></p>
-<p class="p11"><span class="Apple-tab-span">	</span>w = <span class="s9">SCWindow</span>.new(<span class="s13">"Hold arrow keys to trigger sound"</span>,<span class="s9">Rect</span>(300,<span class="s9">SCWindow</span>.screenBounds.height-300,400,100)).front;</p>
-<p class="p11"><span class="Apple-tab-span">	</span>a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(50, 20, 300, 40))</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.value_(0.5)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.step_(0.05)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.focus</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.action_({</p>
-<p class="p19"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// trigger a synth with varying frequencies</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Synth</span>(<span class="s12">\pluck</span>, [<span class="s12">\freq</span>,55+(1100*a.value)]);</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.background_(<span class="s9">Gradient</span>(<span class="s9">Color</span>.rand,<span class="s9">Color</span>.rand));</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>})</p>
-<p class="p11">});</p>
-<p class="p18"><br></p>
-<p class="p11">)</p>
-<p class="p18"><br></p>
-<p class="p19">// change the background color of SCWIndow by moving the sliders</p>
-<p class="p11">(</p>
-<p class="p11">w = <span class="s9">SCWindow</span>(<span class="s13">"RGB fader"</span>, <span class="s9">Rect</span>(100, 500, 400, 400))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.front;</p>
-<p class="p11">f = { w.view.background_(<span class="s9">Color</span>.new(r.value, g.value, b.value, 1)) };</p>
-<p class="p11">r = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 140, 200, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
-<p class="p11">g = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 170, 200, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
-<p class="p11">b = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 200, 200, 20))</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
-<p class="p11"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
-<p class="p11">f.value;</p>
-<p class="p11">);</p>
-<p class="p18"><br></p>
-<p class="p18"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
-<p class="p17"><br></p>
+<p class="p11"><b>Examples</b></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p17">// the simplest version will give you a very long float</p>
+<p class="p10">(</p>
+<p class="p10">w = <span class="s9">SCWindow</span>.new.front;</p>
+<p class="p10">c = <span class="s9">SCNumberBox</span>(w, <span class="s9">Rect</span>(20, 20, 150, 20));</p>
+<p class="p10">a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 60, 150, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.value_(a.value)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
+<p class="p10">a.action.value;</p>
+<p class="p10">)</p>
+<p class="p16"><br></p>
+<p class="p17">// use a <a href="../Control/Spec.html"><span class="s14">Spec</span></a> to round and map the output range for clearer display</p>
+<p class="p10">(</p>
+<p class="p10">w = <span class="s9">SCWindow</span>.new.front;</p>
+<p class="p17"><span class="s4">b = </span><span class="s9">ControlSpec</span><span class="s4">(-50, 50, </span><span class="s15">\linear</span><span class="s4">, 0.01); </span>// min, max, mapping, step</p>
+<p class="p10">c = <span class="s9">SCStaticText</span>(w, <span class="s9">Rect</span>(20, 20, 150, 20)).align_(<span class="s15">\center</span>).background_(<span class="s9">Color</span>.rand);</p>
+<p class="p10">a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 50, 150, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.focusColor_(<span class="s9">Color</span>.red(alpha:0.2))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.background_(<span class="s9">Color</span>.rand)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.string_(b.map(a.value).asString)</p>
+<p class="p17"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// round the float so it will fit in the SCNumberBox</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
+<p class="p10">a.action.value;</p>
+<p class="p16"><br></p>
+<p class="p10">)</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p17">// change the stepsize of the slider, selected via a SCPopUpMenu</p>
+<p class="p10">(</p>
+<p class="p10">w = <span class="s9">SCWindow</span>.new.front;</p>
+<p class="p18"><span class="s4">a = [</span>"0"<span class="s4">, </span>"0.0625"<span class="s4">, </span>"0.125"<span class="s4">, </span>"0.25"<span class="s4">, </span>"0.5"<span class="s4">, </span>"1"<span class="s4">];</span></p>
+<p class="p10">b = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(20, 100, 100, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>c.value_(b.value)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>}).background_(<span class="s9">Color</span>.rand);</p>
+<p class="p10">d = <span class="s9">SCPopUpMenu</span>(w, <span class="s9">Rect</span>(20, 60, 100, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.items_(a)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>b.step_((a.at(d.value)).asFloat);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>});</p>
+<p class="p10"><span class="s9">SCStaticText</span>(w, <span class="s9">Rect</span>(130, 60, 100, 20)).string_(<span class="s16">"change step"</span>);<span class="Apple-tab-span">	</span></p>
+<p class="p10">c = <span class="s9">SCNumberBox</span>(w, <span class="s9">Rect</span>(20, 20, 100, 20));</p>
+<p class="p10">)</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p17">// use the slider view to accept key actions</p>
+<p class="p16"><br></p>
+<p class="p17"><span class="s4">(</span>// select the slider, type something and watch the post window</p>
+<p class="p10">w = <span class="s9">SCWindow</span>.new;</p>
+<p class="p10">c = <span class="s9">SCSlider</span>(w,<span class="s9">Rect</span>(0,0,100,30));</p>
+<p class="p10">c.keyDownAction = { <span class="s9">arg</span> view,char,modifiers,unicode,keycode;</p>
+<p class="p10">[char,modifiers,unicode,keycode].postln;</p>
+<p class="p10">};</p>
+<p class="p10">w.front;</p>
+<p class="p10">)</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p17">// adding funtionality to a view by the method addAction</p>
+<p class="p17">// this is useful for adding things to existing frameworks</p>
+<p class="p17">// that have action functions already.<span class="Apple-converted-space"> </span></p>
+<p class="p16"><br></p>
+<p class="p10">(</p>
+<p class="p10">w = <span class="s9">GUI</span>.window.new(<span class="s16">"A Slider"</span>);</p>
+<p class="p10">a = <span class="s9">GUI</span>.slider.new(w, <span class="s9">Rect</span>(40, 10, 300, 30));</p>
+<p class="p10">w.front</p>
+<p class="p10">);</p>
+<p class="p16"><br></p>
+<p class="p17">// now incrementally add some action to the slider</p>
+<p class="p10">a.addAction({ <span class="s9">|sl|</span> sl.value.postln });</p>
+<p class="p10">a.addAction({ <span class="s9">|sl|</span> w.view.background = <span class="s9">Color</span>.green(sl.value) });</p>
+<p class="p10">a.addAction({ <span class="s9">|sl|</span> sl.background = <span class="s9">Color</span>.red(1 - sl.value) });</p>
+<p class="p16"><br></p>
+<p class="p17">// adding and removing an action:</p>
+<p class="p18"><span class="s4">f = { </span><span class="s9">|sl|</span><span class="s4"> </span>"--------*******-------"<span class="s4">.postln; };</span></p>
+<p class="p10">a.addAction(f);</p>
+<p class="p10">a.removeAction(f);</p>
+<p class="p16"><br></p>
+<p class="p17">// or remove all, of course</p>
+<p class="p10">a.action = <span class="s9">nil</span>;</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p10">-----</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p17">// you can use<span class="Apple-converted-space">  </span>SCSlider for triggering sounds also:</p>
+<p class="p16"><br></p>
+<p class="p10">(<span class="Apple-converted-space"> </span></p>
+<p class="p10">s.waitForBoot({</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="s9">SynthDef</span>(<span class="s15">\pluck</span>,{<span class="s9">arg</span> freq=55;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Out</span>.ar(0,</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Pluck</span>.ar(<span class="s9">WhiteNoise</span>.ar(0.06),<span class="Apple-converted-space"> </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="s9">EnvGen</span>.kr(<span class="s9">Env</span>.perc(0,4), 1.0, doneAction: 2),<span class="Apple-converted-space"> </span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>freq.reciprocal,<span class="Apple-converted-space"> </span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>freq.reciprocal,<span class="Apple-converted-space"> </span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>10,<span class="Apple-converted-space"> </span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>coef:0.1)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>);</p>
+<p class="p10"><span class="Apple-tab-span">	</span>}).send(s);</p>
+<p class="p16"><span class="Apple-tab-span">	</span></p>
+<p class="p16"><br></p>
+<p class="p10"><span class="Apple-tab-span">	</span>w = <span class="s9">SCWindow</span>.new(<span class="s16">"Hold arrow keys to trigger sound"</span>,<span class="s9">Rect</span>(300,<span class="s9">SCWindow</span>.screenBounds.height-300,400,100)).front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span>a = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(50, 20, 300, 40))</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.value_(0.5)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.step_(0.05)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.focus</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>.action_({</p>
+<p class="p17"><span class="s4"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// trigger a synth with varying frequencies</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s9">Synth</span>(<span class="s15">\pluck</span>, [<span class="s15">\freq</span>,55+(1100*a.value)]);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.background_(<span class="s9">Gradient</span>(<span class="s9">Color</span>.rand,<span class="s9">Color</span>.rand));</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>})</p>
+<p class="p10">});</p>
+<p class="p16"><br></p>
+<p class="p10">)</p>
+<p class="p16"><br></p>
+<p class="p17">// change the background color of SCWIndow by moving the sliders</p>
+<p class="p10">(</p>
+<p class="p10">w = <span class="s9">SCWindow</span>(<span class="s16">"RGB fader"</span>, <span class="s9">Rect</span>(100, 500, 400, 400))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.front;</p>
+<p class="p10">f = { w.view.background_(<span class="s9">Color</span>.new(r.value, g.value, b.value, 1)) };</p>
+<p class="p10">r = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 140, 200, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
+<p class="p10">g = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 170, 200, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
+<p class="p10">b = <span class="s9">SCSlider</span>(w, <span class="s9">Rect</span>(100, 200, 200, 20))</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.value_(0.5)</p>
+<p class="p10"><span class="Apple-tab-span">	</span>.action_({ f.value });</p>
+<p class="p10">f.value;</p>
+<p class="p10">);</p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></p>
+<p class="p16"><br></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/