[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] SF.net SVN: supercollider:[8106] trunk/build/Help/GUI
Revision: 8106
http://supercollider.svn.sourceforge.net/supercollider/?rev=8106&view=rev
Author: jmfuo
Date: 2008-12-11 19:17:34 +0000 (Thu, 11 Dec 2008)
Log Message:
-----------
added increment / decrement documentation
Modified Paths:
--------------
trunk/build/Help/GUI/SCRangeSlider.html
trunk/build/Help/GUI/SCSlider.html
Modified: trunk/build/Help/GUI/SCRangeSlider.html
===================================================================
--- trunk/build/Help/GUI/SCRangeSlider.html 2008-12-11 19:07:25 UTC (rev 8105)
+++ trunk/build/Help/GUI/SCRangeSlider.html 2008-12-11 19:17:34 UTC (rev 8106)
@@ -20,23 +20,25 @@
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: 9.0px Monaco}
-p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #476c1d}
+p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #516a24}
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: #bf0000}
span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #61699c}
-span.s3 {color: #4357c0}
-span.s4 {color: #6b718a}
-span.s5 {color: #5d67a2}
-span.s6 {color: #3e54c5}
-span.s7 {color: #6f717b}
+span.s2 {color: #636a99}
+span.s3 {color: #485abb}
+span.s4 {color: #6c7188}
+span.s5 {color: #5f689f}
+span.s6 {color: #4357c0}
+span.s7 {color: #6f717a}
span.s8 {color: #0000bf}
span.s9 {color: #007300}
span.s10 {color: #000000}
-span.s11 {font: 14.0px Helvetica}
-span.s12 {color: #6f7181}
-span.s13 {font: 9.0px Monaco}
-span.s14 {color: #606060}
+span.s11 {font: 11.0px Monaco}
+span.s12 {font: 11.0px Monaco; color: #0018b8}
+span.s13 {font: 14.0px Helvetica}
+span.s14 {color: #6f7180}
+span.s15 {font: 9.0px Monaco}
+span.s16 {color: #606060}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -107,16 +109,14 @@
<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>A convenience method which performs both the <b>lo_</b><span class="Apple-converted-space"> </span>and <b>hi_</b> setters. Does the <b>action</b> of the slider.</p>
<p class="p5"><br></p>
-<p class="p6"><b><span class="Apple-tab-span"> </span>increment</b></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"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Increments both slider values, lo and hi, by 1/bounds.width, unless the hight value is out of bounds. Does the action of the slider.</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 both the the slider values (<b>hi</b> and <b>lo</b>) 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. Performs the action of the slider.</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="p5"><br></p>
-<p class="p6"><b><span class="Apple-tab-span"> </span>decrement</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>Decrements both slider values, lo and hi, by 1/bounds.width, unless the lo value is out of bounds. Does the action of the slider.</p>
-<p class="p5"><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="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>defaultKeyDownAction (char, modifiers, unicode)</b></p>
<p class="p7"><b><span class="Apple-tab-span"> </span></b></p>
@@ -134,7 +134,7 @@
<p class="p5"><br></p>
<p class="p6"><b><span class="Apple-tab-span"> </span>properties</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>A list of properties to which this view responds. See <a href="SCView.html"><span class="s12">SCView</span></a>.<span class="Apple-converted-space"> </span></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="s14">SCView</span></a>.<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"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>returns:</p>
<p class="p14"><span class="s10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>[ </span>\bounds<span class="s10">, </span>\visible<span class="s10">, </span>\enabled<span class="s10">, </span>\canFocus<span class="s10">, </span>\resize<span class="s10">, </span>\background<span class="s10">, </span>\minWidth<span class="s10">, </span>\maxWidth<span class="s10">, </span>\minHeight<span class="s10">, </span>\maxHeight<span class="s10">, </span>\knobColor<span class="s10">, </span>\step<span class="s10">, </span>\lo<span class="s10">, </span>\hi<span class="s10"> ]</span></p>
@@ -146,7 +146,7 @@
<p class="p6"><span class="Apple-tab-span"> </span><b>defaultCanReceiveDrag</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 method called by default when attempting to drop a drag in this object. By default, SCSlider will respond only to drags<span class="Apple-converted-space"> </span>where<span class="Apple-converted-space"> </span>the drag contains a <a href="../Geometry/Point.html"><span class="s2">Point</span></a>. <span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span></p>
+<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span></p>
<p class="p6"><span class="Apple-tab-span"> </span><b>defaultReceiveDrag</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 method called when a drag has been recieved. Sets <b>lo</b> and <b>hi</b><span class="Apple-converted-space"> </span>repectively using the <a href="../Geometry/Point.html"><span class="s2">Point</span></a>(currentDrag.x@xxxxxxxxxxxxx). Does <b>not</b> perform the action. <span class="Apple-converted-space"> </span></p>
@@ -196,7 +196,7 @@
<p class="p15"><br></p>
<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}.play;</p>
<p class="p15"><br></p>
-<p class="p11"><span class="Apple-tab-span"> </span>w = <span class="s8">SCWindow</span>(<span class="s14">"SC2DSlider"</span>, <span class="s8">Rect</span>(100,<span class="s8">SCWindow</span>.screenBounds.height-400, 400 ,50));</p>
+<p class="p11"><span class="Apple-tab-span"> </span>w = <span class="s8">SCWindow</span>(<span class="s16">"SC2DSlider"</span>, <span class="s8">Rect</span>(100,<span class="s8">SCWindow</span>.screenBounds.height-400, 400 ,50));</p>
<p class="p11"><span class="Apple-tab-span"> </span>t = <span class="s8">SCRangeSlider</span>(w, <span class="s8">Rect</span>(10, 10, 380, 30))</p>
<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.lo_(0.4)</p>
<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.hi_(0.6)</p>
Modified: trunk/build/Help/GUI/SCSlider.html
===================================================================
--- trunk/build/Help/GUI/SCSlider.html 2008-12-11 19:07:25 UTC (rev 8105)
+++ trunk/build/Help/GUI/SCSlider.html 2008-12-11 19:17:34 UTC (rev 8106)
@@ -23,24 +23,25 @@
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}
+p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
+p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
+p.p19 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
+p.p20 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #6f7179}
-span.s3 {color: #5d67a2}
+span.s2 {color: #6f7178}
+span.s3 {color: #5f689f}
span.s4 {color: #000000}
span.s5 {text-decoration: underline}
-span.s6 {color: #5a65a5}
-span.s7 {color: #686e90}
-span.s8 {color: #6f7178}
-span.s9 {color: #0018b8}
-span.s10 {font: 12.0px Helvetica}
-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.s6 {color: #5d67a2}
+span.s7 {color: #696f8e}
+span.s8 {color: #0018b8}
+span.s9 {font: 12.0px Helvetica}
+span.s10 {font: 11.0px Monaco}
+span.s11 {font: 11.0px Monaco; color: #0018b8}
+span.s12 {font: 14.0px Helvetica}
+span.s13 {color: #0000bf}
+span.s14 {color: #007300}
+span.s15 {color: #606060}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -62,15 +63,15 @@
<p class="p6"><b><span class="Apple-tab-span"> </span>*new (parent, bounds)</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>parent </b>-<span class="Apple-converted-space"> </span>The parent view.</p>
-<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="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="s2">Rect</span></a>,<span class="Apple-converted-space"> </span>or<span class="Apple-converted-space"> </span>a <a href="../Geometry/Point.html"><span class="s2">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="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>w = <span class="s8">SCWindow</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a = <span class="s8">SCSlider</span>(w, <span class="s8">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="p11"><b>Accessing Instance and Class Variables</b><span class="s10"><span class="Apple-tab-span"> </span></span></p>
+<p class="p11"><b>Accessing Instance and Class Variables</b><span class="s9"><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>
@@ -84,7 +85,7 @@
<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="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="s10">(max(</span><span class="s11">this</span><span class="s10">.step, </span><span class="s11">this</span><span class="s10">.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. Performs the action of the slider.</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>
@@ -96,11 +97,11 @@
<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="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="p6"><span class="s12"><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="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="s2">SCView</span></a>.<span class="Apple-converted-space"> </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>
@@ -131,7 +132,7 @@
<p class="p7"><br></p>
<p class="p6"><span class="Apple-tab-span"> </span><b>defaultCanReceiveDrag</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 method called by default when attempting to drop a drag in this object.<span class="Apple-converted-space"> </span>By default, SCSlider will respond only to drags<span class="Apple-converted-space"> </span>where<span class="Apple-converted-space"> </span>the drag contains a <a href="../Math/Number.html"><span class="s8">Number</span></a>.<span class="Apple-converted-space"> </span></p>
+<p class="p6"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>The method called by default when attempting to drop a drag in this object.<span class="Apple-converted-space"> </span>By default, SCSlider will respond only to drags<span class="Apple-converted-space"> </span>where<span class="Apple-converted-space"> </span>the drag contains a <a href="../Math/Number.html"><span class="s2">Number</span></a>.<span class="Apple-converted-space"> </span></p>
<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p6"><span class="Apple-tab-span"> </span><b>defaultReceiveDrag</b></p>
<p class="p7"><b><span class="Apple-tab-span"> </span></b></p>
@@ -139,152 +140,152 @@
<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p11"><b>Examples</b></p>
<p class="p16"><br></p>
+<p class="p17"><br></p>
+<p class="p18">// the simplest version will give you a very long float</p>
+<p class="p19">(</p>
+<p class="p19">w = <span class="s13">SCWindow</span>.new.front;</p>
+<p class="p19">c = <span class="s13">SCNumberBox</span>(w, <span class="s13">Rect</span>(20, 20, 150, 20));</p>
+<p class="p19">a = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(20, 60, 150, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>c.value_(a.value)</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
+<p class="p19">a.action.value;</p>
+<p class="p19">)</p>
+<p class="p17"><br></p>
+<p class="p18">// use a <a href="../Control/Spec.html"><span class="s5">Spec</span></a> to round and map the output range for clearer display</p>
+<p class="p19">(</p>
+<p class="p19">w = <span class="s13">SCWindow</span>.new.front;</p>
+<p class="p18"><span class="s4">b = </span><span class="s13">ControlSpec</span><span class="s4">(-50, 50, </span><span class="s14">\linear</span><span class="s4">, 0.01); </span>// min, max, mapping, step</p>
+<p class="p19">c = <span class="s13">SCStaticText</span>(w, <span class="s13">Rect</span>(20, 20, 150, 20)).align_(<span class="s14">\center</span>).background_(<span class="s13">Color</span>.rand);</p>
+<p class="p19">a = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(20, 50, 150, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.focusColor_(<span class="s13">Color</span>.red(alpha:0.2))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.background_(<span class="s13">Color</span>.rand)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.value_(0.5)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>c.string_(b.map(a.value).asString)</p>
+<p class="p18"><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="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
+<p class="p19">a.action.value;</p>
+<p class="p17"><br></p>
+<p class="p19">)</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p18">// change the stepsize of the slider, selected via a SCPopUpMenu</p>
+<p class="p19">(</p>
+<p class="p19">w = <span class="s13">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="p19">b = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(20, 100, 100, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>c.value_(b.value)</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}).background_(<span class="s13">Color</span>.rand);</p>
+<p class="p19">d = <span class="s13">SCPopUpMenu</span>(w, <span class="s13">Rect</span>(20, 60, 100, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.items_(a)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.step_((a.at(d.value)).asFloat);</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
+<p class="p19"><span class="s13">SCStaticText</span>(w, <span class="s13">Rect</span>(130, 60, 100, 20)).string_(<span class="s15">"change step"</span>);<span class="Apple-tab-span"> </span></p>
+<p class="p19">c = <span class="s13">SCNumberBox</span>(w, <span class="s13">Rect</span>(20, 20, 100, 20));</p>
+<p class="p19">)</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p18">// use the slider view to accept key actions</p>
+<p class="p17"><br></p>
+<p class="p18"><span class="s4">(</span>// select the slider, type something and watch the post window</p>
+<p class="p19">w = <span class="s13">SCWindow</span>.new;</p>
+<p class="p19">c = <span class="s13">SCSlider</span>(w,<span class="s13">Rect</span>(0,0,100,30));</p>
+<p class="p19">c.keyDownAction = { <span class="s13">arg</span> view,char,modifiers,unicode,keycode;</p>
+<p class="p19">[char,modifiers,unicode,keycode].postln;</p>
+<p class="p19">};</p>
+<p class="p19">w.front;</p>
+<p class="p19">)</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p18">// adding funtionality to a view by the method addAction</p>
+<p class="p18">// this is useful for adding things to existing frameworks</p>
+<p class="p18">// that have action functions already.<span class="Apple-converted-space"> </span></p>
+<p class="p17"><br></p>
+<p class="p19">(</p>
+<p class="p19">w = <span class="s13">GUI</span>.window.new(<span class="s15">"A Slider"</span>);</p>
+<p class="p19">a = <span class="s13">GUI</span>.slider.new(w, <span class="s13">Rect</span>(40, 10, 300, 30));</p>
+<p class="p19">w.front</p>
+<p class="p19">);</p>
+<p class="p17"><br></p>
+<p class="p18">// now incrementally add some action to the slider</p>
+<p class="p19">a.addAction({ <span class="s13">|sl|</span> sl.value.postln });</p>
+<p class="p19">a.addAction({ <span class="s13">|sl|</span> w.view.background = <span class="s13">Color</span>.green(sl.value) });</p>
+<p class="p19">a.addAction({ <span class="s13">|sl|</span> sl.background = <span class="s13">Color</span>.red(1 - sl.value) });</p>
+<p class="p17"><br></p>
+<p class="p18">// adding and removing an action:</p>
+<p class="p20"><span class="s4">f = { </span><span class="s13">|sl|</span><span class="s4"> </span>"--------*******-------"<span class="s4">.postln; };</span></p>
+<p class="p19">a.addAction(f);</p>
+<p class="p19">a.removeAction(f);</p>
+<p class="p17"><br></p>
+<p class="p18">// or remove all, of course</p>
+<p class="p19">a.action = <span class="s13">nil</span>;</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p19">-----</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p18">// you can use<span class="Apple-converted-space"> </span>SCSlider for triggering sounds also:</p>
+<p class="p17"><br></p>
+<p class="p19">(<span class="Apple-converted-space"> </span></p>
+<p class="p19">s.waitForBoot({</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="s13">SynthDef</span>(<span class="s14">\pluck</span>,{<span class="s13">arg</span> freq=55;</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Out</span>.ar(0,</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Pluck</span>.ar(<span class="s13">WhiteNoise</span>.ar(0.06),<span class="Apple-converted-space"> </span></p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">EnvGen</span>.kr(<span class="s13">Env</span>.perc(0,4), 1.0, doneAction: 2),<span class="Apple-converted-space"> </span></p>
+<p class="p19"><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="p19"><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="p19"><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="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>coef:0.1)</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>);</p>
+<p class="p19"><span class="Apple-tab-span"> </span>}).send(s);</p>
+<p class="p17"><span class="Apple-tab-span"> </span></p>
+<p class="p17"><br></p>
+<p class="p19"><span class="Apple-tab-span"> </span>w = <span class="s13">SCWindow</span>.new(<span class="s15">"Hold arrow keys to trigger sound"</span>,<span class="s13">Rect</span>(300,<span class="s13">SCWindow</span>.screenBounds.height-300,400,100)).front;</p>
+<p class="p19"><span class="Apple-tab-span"> </span>a = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(50, 20, 300, 40))</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.value_(0.5)</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.step_(0.05)</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.focus</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>.action_({</p>
+<p class="p18"><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="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">Synth</span>(<span class="s14">\pluck</span>, [<span class="s14">\freq</span>,55+(1100*a.value)]);</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.view.background_(<span class="s13">Gradient</span>(<span class="s13">Color</span>.rand,<span class="s13">Color</span>.rand));</p>
+<p class="p19"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>})</p>
+<p class="p19">});</p>
+<p class="p17"><br></p>
+<p class="p19">)</p>
+<p class="p17"><br></p>
+<p class="p18">// change the background color of SCWIndow by moving the sliders</p>
+<p class="p19">(</p>
+<p class="p19">w = <span class="s13">SCWindow</span>(<span class="s15">"RGB fader"</span>, <span class="s13">Rect</span>(100, 500, 400, 400))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.front;</p>
+<p class="p19">f = { w.view.background_(<span class="s13">Color</span>.new(r.value, g.value, b.value, 1)) };</p>
+<p class="p19">r = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(100, 140, 200, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.value_(0.5)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({ f.value });</p>
+<p class="p19">g = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(100, 170, 200, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.value_(0.5)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({ f.value });</p>
+<p class="p19">b = <span class="s13">SCSlider</span>(w, <span class="s13">Rect</span>(100, 200, 200, 20))</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.value_(0.5)</p>
+<p class="p19"><span class="Apple-tab-span"> </span>.action_({ f.value });</p>
+<p class="p19">f.value;</p>
+<p class="p19">);</p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><br></p>
+<p class="p17"><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/