[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] SF.net SVN: supercollider: [6892] trunk
Revision: 6892
http://svn.sourceforge.net/supercollider/?rev=6892&view=rev
Author: joshpar
Date: 2008-01-07 15:01:11 -0800 (Mon, 07 Jan 2008)
Log Message:
-----------
make 2 channels grain UGens pan like Pan2
Modified Paths:
--------------
trunk/Source/plugins/GrainUGens.cpp
trunk/build/Help/UGens/GranularSynthesis/GrainBuf.html
trunk/build/Help/UGens/GranularSynthesis/GrainFM.html
trunk/build/Help/UGens/GranularSynthesis/GrainIn.html
trunk/build/Help/UGens/GranularSynthesis/GrainSin.html
Modified: trunk/Source/plugins/GrainUGens.cpp
===================================================================
--- trunk/Source/plugins/GrainUGens.cpp 2008-01-07 21:45:29 UTC (rev 6891)
+++ trunk/Source/plugins/GrainUGens.cpp 2008-01-07 23:01:11 UTC (rev 6892)
@@ -386,6 +386,7 @@
float panangle, pan1, pan2; \
float *out1, *out2; \
if (numOutputs > 1) { \
+ if (numOutputs == 2) pan = pan * 0.5; \
pan = sc_wrap(pan * 0.5f, 0.f, 1.f); \
float cpan = numOutputs * pan + 0.5; \
float ipan = floor(cpan); \
Modified: trunk/build/Help/UGens/GranularSynthesis/GrainBuf.html
===================================================================
--- trunk/build/Help/UGens/GranularSynthesis/GrainBuf.html 2008-01-07 21:45:29 UTC (rev 6891)
+++ trunk/build/Help/UGens/GranularSynthesis/GrainBuf.html 2008-01-07 23:01:11 UTC (rev 6892)
@@ -12,15 +12,15 @@
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; min-height: 12.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #961e1e}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #782727}
-span.s1 {color: #001db9}
+p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #4d4d4d}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #821017}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #631a1e}
+span.s1 {color: #0000aa}
span.s2 {color: #000000}
-span.s3 {color: #0023b6}
-span.s4 {color: #426f0e}
-span.s5 {color: #0428b3}
-span.s6 {color: #556b17}
+span.s3 {color: #000aa7}
+span.s4 {color: #345e0d}
+span.s5 {color: #0011a3}
+span.s6 {color: #445a13}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -38,7 +38,9 @@
<p class="p3"><b><span class="Apple-tab-span"> </span>pos</b> - the playback position for the grain to start with (0 is beginning, 1 is end of file)</p>
<p class="p3"><b><span class="Apple-tab-span"> </span>interp -<i> </i></b>the interpolation method used for pitchshifting grains. 1 = no interpolation. 2 = linear.<span class="Apple-converted-space"> </span></p>
<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>4 = cubic interpolation (more computationally intensive).</p>
-<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>a value from -1 to 1. Determines where to pan the output in the same manner as PanAz.<span class="Apple-tab-span"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>Determines where to pan the output. If numChannels = 1, no panning is done.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>If numChannels = 2, panning is similar to Pan2.</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if numChannels > 2, pannins is the same as PanAz.<span class="Apple-tab-span"> </span></p>
<p class="p3"><b><span class="Apple-tab-span"> </span>envbufnum</b> - the buffer number containing a singal to use for the grain envelope. -1 uses a built-in<span class="Apple-converted-space"> </span></p>
<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>Hanning envelope.</p>
<p class="p2"><br></p>
Modified: trunk/build/Help/UGens/GranularSynthesis/GrainFM.html
===================================================================
--- trunk/build/Help/UGens/GranularSynthesis/GrainFM.html 2008-01-07 21:45:29 UTC (rev 6891)
+++ trunk/build/Help/UGens/GranularSynthesis/GrainFM.html 2008-01-07 23:01:11 UTC (rev 6892)
@@ -12,14 +12,14 @@
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; min-height: 12.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #961e1e}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #782727}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #556b17}
-span.s1 {color: #001db9}
-span.s2 {color: #426f0e}
+p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #821017}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #631a1e}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #445a13}
+span.s1 {color: #0000aa}
+span.s2 {color: #345e0d}
span.s3 {color: #000000}
-span.s4 {color: #0428b3}
-span.s5 {color: #556b17}
+span.s4 {color: #0011a3}
+span.s5 {color: #445a13}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -36,7 +36,9 @@
<p class="p3"><span class="Apple-tab-span"> </span><b>carfreq</b> - the carrier freq of the grain generators internal oscillator</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>modfreq</b> - the modulating freq of the grain generators internal oscillator</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>index - </b>the index of modulation</p>
-<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>a value from -1 to 1. Determines where to pan the output in the same manner as PanAz.<span class="Apple-tab-span"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>Determines where to pan the output. If numChannels = 1, no panning is done.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>If numChannels = 2, panning is similar to Pan2.</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if numChannels > 2, pannins is the same as PanAz.<span class="Apple-tab-span"> </span></p>
<p class="p3"><b><span class="Apple-tab-span"> </span>envbufnum</b> - the buffer number containing a singal to use for the grain envelope. -1 uses a built-in<span class="Apple-converted-space"> </span></p>
<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>Hanning envelope.</p>
<p class="p2"><br></p>
Modified: trunk/build/Help/UGens/GranularSynthesis/GrainIn.html
===================================================================
--- trunk/build/Help/UGens/GranularSynthesis/GrainIn.html 2008-01-07 21:45:29 UTC (rev 6891)
+++ trunk/build/Help/UGens/GranularSynthesis/GrainIn.html 2008-01-07 23:01:11 UTC (rev 6892)
@@ -12,16 +12,14 @@
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; min-height: 12.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
-p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #782727}
-p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #556b17}
-span.s1 {color: #0000bf}
-span.s2 {color: #007300}
+p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #af0005}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #631a1e}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #445a13}
+span.s1 {color: #0000b1}
+span.s2 {color: #0d6301}
span.s3 {color: #000000}
-span.s4 {color: #0428b3}
-span.s5 {color: #556b17}
+span.s4 {color: #0011a3}
+span.s5 {color: #445a13}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -35,7 +33,9 @@
<p class="p3"><span class="Apple-tab-span"> </span>The following args are polled at grain creation time</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>dur</b> - size of the grain.</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>in</b> - the input to granulate</p>
-<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>a value from -1 to 1. Determines where to pan the output in the same manner as PanAz.<span class="Apple-tab-span"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>Determines where to pan the output. If numChannels = 1, no panning is done.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>If numChannels = 2, panning is similar to Pan2.</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if numChannels > 2, pannins is the same as PanAz.<span class="Apple-tab-span"> </span></p>
<p class="p3"><b><span class="Apple-tab-span"> </span>envbufnum</b> - the buffer number containing a singal to use for the grain envelope. -1 uses a built-in<span class="Apple-converted-space"> </span></p>
<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>Hanning envelope.</p>
<p class="p2"><br></p>
@@ -45,30 +45,30 @@
<p class="p5">s.boot;</p>
<p class="p4"><br></p>
<p class="p5">(</p>
-<p class="p6"><span class="s1">var</span> winenv;</p>
-<p class="p7">// a custom envelope<span class="Apple-converted-space"> </span></p>
-<p class="p6">winenv = <span class="s1">Env</span>([0, 1, 0], [0.5, 0.5], [8, -8]);</p>
-<p class="p6">z = <span class="s1">Buffer</span>.sendCollection(s, winenv.discretize, 1);</p>
-<p class="p8"><br></p>
-<p class="p6"><span class="s1">SynthDef</span>(<span class="s2">\in_grain_test</span>, {<span class="s1">arg</span> gate = 1, amp = 1, envbuf;</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="s1">var</span> pan, env;</p>
-<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span></span>// use mouse x to control panning</p>
-<p class="p6"><span class="Apple-tab-span"> </span>pan = <span class="s1">MouseX</span>.kr(-1, 1);</p>
-<p class="p6"><span class="Apple-tab-span"> </span>env = <span class="s1">EnvGen</span>.kr(</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s1">Env</span>([0, 1, 0], [1, 1], <span class="s2">\sin</span>, 1),</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gate,</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>levelScale: amp,</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>doneAction: 2);</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="s1">Out</span>.ar(0,</p>
-<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s1">GrainIn</span>.ar(2, <span class="s1">Impulse</span>.kr(10), 0.1, <span class="s1">PinkNoise</span>.ar, pan, envbuf) * env)</p>
-<p class="p6"><span class="Apple-tab-span"> </span>}).send(s);</p>
-<p class="p8"><br></p>
+<p class="p5"><span class="s1">var</span> winenv;</p>
+<p class="p6">// a custom envelope<span class="Apple-converted-space"> </span></p>
+<p class="p5">winenv = <span class="s1">Env</span>([0, 1, 0], [0.5, 0.5], [8, -8]);</p>
+<p class="p5">z = <span class="s1">Buffer</span>.sendCollection(s, winenv.discretize, 1);</p>
+<p class="p4"><br></p>
+<p class="p5"><span class="s1">SynthDef</span>(<span class="s2">\in_grain_test</span>, {<span class="s1">arg</span> gate = 1, amp = 1, envbuf;</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="s1">var</span> pan, env;</p>
+<p class="p6"><span class="s3"><span class="Apple-tab-span"> </span></span>// use mouse x to control panning</p>
+<p class="p5"><span class="Apple-tab-span"> </span>pan = <span class="s1">MouseX</span>.kr(-1, 1);</p>
+<p class="p5"><span class="Apple-tab-span"> </span>env = <span class="s1">EnvGen</span>.kr(</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s1">Env</span>([0, 1, 0], [1, 1], <span class="s2">\sin</span>, 1),</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>gate,</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>levelScale: amp,</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>doneAction: 2);</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="s1">Out</span>.ar(0,</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s1">GrainIn</span>.ar(2, <span class="s1">Impulse</span>.kr(10), 0.1, <span class="s1">PinkNoise</span>.ar, pan, envbuf) * env)</p>
+<p class="p5"><span class="Apple-tab-span"> </span>}).send(s);</p>
+<p class="p4"><br></p>
<p class="p5">)</p>
<p class="p4"><br></p>
-<p class="p9">// use built-in env</p>
-<p class="p10"><span class="s3">x = </span><span class="s4">Synth</span><span class="s3">(</span>\in_grain_test<span class="s3">, [</span>\envbuf<span class="s3">, -1])</span></p>
+<p class="p7">// use built-in env</p>
+<p class="p8"><span class="s3">x = </span><span class="s4">Synth</span><span class="s3">(</span>\in_grain_test<span class="s3">, [</span>\envbuf<span class="s3">, -1])</span></p>
<p class="p4"><br></p>
-<p class="p9">// switch to the custom env</p>
+<p class="p7">// switch to the custom env</p>
<p class="p5">x.set([<span class="s5">\envbuf</span>, z])</p>
<p class="p5">x.set([<span class="s5">\envbuf</span>, -1]);</p>
<p class="p4"><br></p>
Modified: trunk/build/Help/UGens/GranularSynthesis/GrainSin.html
===================================================================
--- trunk/build/Help/UGens/GranularSynthesis/GrainSin.html 2008-01-07 21:45:29 UTC (rev 6891)
+++ trunk/build/Help/UGens/GranularSynthesis/GrainSin.html 2008-01-07 23:01:11 UTC (rev 6892)
@@ -12,14 +12,14 @@
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; min-height: 12.0px}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #961e1e}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #782727}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #556b17}
-span.s1 {color: #001db9}
-span.s2 {color: #426f0e}
+p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #6d0313}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #4f1117}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #354910}
+span.s1 {color: #000099}
+span.s2 {color: #294d0c}
span.s3 {color: #000000}
-span.s4 {color: #0428b3}
-span.s5 {color: #556b17}
+span.s4 {color: #000092}
+span.s5 {color: #354910}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -33,7 +33,9 @@
<p class="p3"><span class="Apple-tab-span"> </span>The following args are polled at grain creation time</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>dur</b> - size of the grain.</p>
<p class="p3"><span class="Apple-tab-span"> </span><b>freq</b> - the input to granulate</p>
-<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>a value from -1 to 1. Determines where to pan the output in the same manner as PanAz.<span class="Apple-tab-span"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><b>pan</b> -<span class="Apple-converted-space"> </span>Determines where to pan the output. If numChannels = 1, no panning is done.<span class="Apple-converted-space"> </span></p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>If numChannels = 2, panning is similar to Pan2.</p>
+<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>if numChannels > 2, pannins is the same as PanAz.<span class="Apple-tab-span"> </span></p>
<p class="p3"><b><span class="Apple-tab-span"> </span>envbufnum</b> - the buffer number containing a singal to use for the grain envelope. -1 uses a built-in<span class="Apple-converted-space"> </span></p>
<p class="p3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>Hanning envelope.</p>
<p class="p2"><br></p>
@@ -51,7 +53,7 @@
<p class="p5"><span class="s1">SynthDef</span>(<span class="s2">\sin_grain_test</span>, {<span class="s1">arg</span> gate = 1, amp = 1, envbuf;</p>
<p class="p5"><span class="Apple-tab-span"> </span><span class="s1">var</span> pan, env, freqdev;</p>
<p class="p6"><span class="s3"><span class="Apple-tab-span"> </span></span>// use mouse x to control panning</p>
-<p class="p5"><span class="Apple-tab-span"> </span>pan = -0.5;// <span class="s1">MouseX</span>.kr(-1, 1);</p>
+<p class="p5"><span class="Apple-tab-span"> </span>pan = <span class="s1">MouseX</span>.kr(-1, 1);</p>
<p class="p6"><span class="s3"><span class="Apple-tab-span"> </span></span>// use WhiteNoise and mouse y to control deviation from center pitch</p>
<p class="p5"><span class="Apple-tab-span"> </span>freqdev = <span class="s1">WhiteNoise</span>.kr(<span class="s1">MouseY</span>.kr(0, 400));</p>
<p class="p5"><span class="Apple-tab-span"> </span>env = <span class="s1">EnvGen</span>.kr(</p>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.