From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #153 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Sunday, August 6 2000 Volume 01 : Number 153 ---------------------------------------------------------------------- Date: Fri, 04 Aug 2000 01:36:42 +0000 From: "christian.adam.hresko." <---@---.---> Subject: Re: imgsyn turbulence James McCartney wrote: > more playing around in version 3. (Do not ask when..) > > > > files named: more_imgsyn_XX.jpg > > just a question about system requirements. will SC 3 continue to be stable on a G3? (450 MHz... 384 Mb RAM) thanks bunches. cheers, christian - -- http://www.thislinkgoesnowhere.com ------------------------------ Date: Fri, 04 Aug 2000 14:22:54 +0200 From: hairi <---@---.---> Subject: Re: imgsyn turbulence > > just a question about system requirements. > > will SC 3 continue to be stable on a G3? (450 MHz... 384 Mb RAM) > > thanks bunches. > > cheers, > > christian > and another question : will SC 3 be compatible with classes written for 2.2.9 silly question : will it still output SOUND ( not just images ? ) Hairi ------------------------------ Date: Sat, 05 Aug 2000 10:16:27 +0000 From: Jem Finer <---@---.---> Subject: synth.time > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. - --MS_Mac_OE_3048315387_325600_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Why does this : ( play({ arg synth; synth.repeat(0,0.5,{(synth.time%1).postln}); LFTri.ar(0) }) ) give this print out ? - -0 0.5 1 0.5 4.9738e-14 0.5 1.05693e-13 0.5 1.61648e-13 0.5 2.17604e-13 0.5 2.73559e-13 0.5 3.30402e-13 0.5 (ie - why is synth.time%1 equal to 4.9738e-14 when synth.time is 2, 1.05693e-13 when it's 3 etc ? ) Thanks Jem - --MS_Mac_OE_3048315387_325600_MIME_Part Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable synth.time Why does this :


(
play({
arg synth;
synth.repeat(0,0.5,{(synth.time%1).postln});
LFTri.ar(0)
})
)

give this print out ?

- -0
0.5
1
0.5
4.9738e-14
0.5
1.05693e-13
0.5
1.61648e-13
0.5
2.17604e-13
0.5
2.73559e-13
0.5
3.30402e-13
0.5

(ie - why is synth.time%1 equal to 4.9738e-14 when synth.time is 2, 1.05693= e-13 when it's 3 etc ? )


Thanks

Jem
=20 - --MS_Mac_OE_3048315387_325600_MIME_Part-- ------------------------------ Date: Sat, 05 Aug 2000 10:16:04 +0000 From: Jem Finer <---@---.---> Subject: re : sync > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. - --MS_Mac_OE_3048315365_324232_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Thanks Julian for your sync solution (copied below) : I'm not sure we're talking about the same thing though (or maybe I don't understand the code properly) - I want some global pulse to which any subsequent lib item can take it's time. So for example if this global pulse is called globalTempo all ImpulseSequencers could read ImpulseSequencer.ar(`someArrayOfamplitudes, globalTempo) cheers Jem ( { arg synth; var trig, res; res = MouseX.kr(0.001, 2); trig = Sequencer.kr({synth.time}, Impulse.kr(res.reciprocal)); trig = HPZ2.kr(trig)>0; Ringz.ar(trig, 1000, 0.2, 0.1); }.play; ) ( Library.put(['sync'], { var globtrig; globtrig = { arg synth, resolution; 0 re : sync Thanks Julian for your sync solution (copied below) :

I'm not sure we're talking about the same thing though (or maybe I don't un= derstand the code properly) - I want some global pulse to which any subseque= nt lib item can take it's time.

So for example if this global pulse is called globalTempo all ImpulseSequen= cers could read

ImpulseSequencer.ar(`someArrayOfa= mplitudes, globalTempo)


cheers

Jem






(
{

arg synth;
var trig, res;
res =3D MouseX.kr(0.001, 2);
trig =3D Sequencer.kr({synth.time}, Impulse.kr(res.reciprocal));
trig =3D HPZ2.kr(trig)>0;
Ringz.ar(trig, 1000, 0.2, 0.1);
}.play;
)

(
Library.put(['sync'], { var globtrig;
globtrig =3D { arg synth, resolution;
            &n= bsp;         0<HPZ2.kr(
            &n= bsp;            =  Sequencer.kr({synth.time}, Impulse.kr(resolution.reciprocal))
            &n= bsp;         )
      };
      
{ arg synth; Decay2.ar(globtrig.value(synth, 0.1), 0.01, 0.2,
Pulse.ar(100, LFNoise1.kr(0.6), 0.01)) }.play
});
)

- --MS_Mac_OE_3048315365_324232_MIME_Part-- ------------------------------ Date: Sat, 05 Aug 2000 06:02:57 -0500 From: James McCartney <---@---.---> Subject: Re: synth.time on 8/5/00 5:16 AM, Jem Finer at jemfiner@waitrose.com wrote: > (ie - why is synth.time%1 equal to 4.9738e-14 when synth.time is 2, > 1.05693e-13 when it's 3 etc ? Because the math for the time accumulator is double precision, not infinite precision. 4.9738e-14 is pretty near zero. 4.9738e-14 times the distance from Earth to the Sun (approx 1.5e+14 millimeters) is 7 millimeters. 1.5e+14 * 4.9738e-14 - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 5 Aug 2000 10:19:05 -0400 From: rkuivila@mail.wesleyan.edu (Ron Kuivila) Subject: a naive (and niggling) OO question Hi James, When a piece of code is interpreted, are the variable declarations the only constructs that are not examples of message passing? RJK ------------------------------ Date: Sat, 05 Aug 2000 14:14:43 -0800 From: Peter =?iso-8859-1?Q?K=F6nig?= <---@---.---> Subject: unsubscribe This is a multi-part message in MIME format. - --------------B0E7C7BE60C2C0F93C928317 Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit unsubscribe - --------------B0E7C7BE60C2C0F93C928317 Content-Type: text/x-vcard; charset=us-ascii; name="smellybug.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Peter Kšnig Content-Disposition: attachment; filename="smellybug.vcf" begin:vcard n:;-Petey x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:smellybug@earthlink.net, pete@tippett.com x-mozilla-cpt:;1 fn:-Petey end:vcard - --------------B0E7C7BE60C2C0F93C928317-- ------------------------------ Date: Sun, 06 Aug 2000 09:28:21 +0000 From: Jem Finer <---@---.---> Subject: simple plug problem ? Hi, In this program - a version of the beat sequencer - the idea is that one has a choice of instrument tp play for each row of check boxes. In order to make writing it more efficient I had hoped that each instrument could be a function with the row of checkboxes passed as the argument. Guess what - I can't get it to work ! It's very happy with the instruments NOT a function - but that would mean rewriting each one for each subsequent row of boxes. In this version I've only left the top row for sake of space. So the question is : why does the function idea not work - I think I'm missing something simple ? Thanks Jem ( var w,kickbeats,snarebeats,hihatbeats, boxes,snareboxes,hihatboxes,tempo,numTempo; var kick,snare,hihat; var row1k,row1s,row1h; w = GUIWindow.new("panel", Rect.newBy(8, 559, 783, 177)); kickbeats = Array.fill(16,0); boxes = kickbeats.collect( { arg eachBeat, i; CheckBoxView.new( w, Rect.newBy(13 + (26 * i), 33, 22, 22), "CheckBoxView", eachBeat, 0, 1, 0, 'linear') .action_({ arg thisBox; kickbeats.put(i, thisBox.value) }); }); tempo = SliderView.new( w, Rect.newBy(13, 8, 220, 23), "SliderView", 120, 20, 300, 1, 'linear'); numTempo = NumericalView.new( w, Rect.newBy(249, 9, 64, 20), "NumericalView", 120, 20, 300, 1,'linear'); tempo.action = {numTempo.value = tempo.value}; numTempo.action = {tempo.value = numTempo.value}; row1k = RadioButtonView.new( w, Rect.newBy(432, 35, 47, 19), "kick", 1, 0, 1, 0, 'linear'); row1s = RadioButtonView.new( w, Rect.newBy(487, 35, 55, 18), "snare", 0, 0, 1, 0, 'linear'); row1h = RadioButtonView.new( w, Rect.newBy(552, 35, 55, 18), "hihat", 0, 0, 1, 0, 'linear'); scope({ arg synth; var t,aKik,aSnare,aHiHat; var row1plug,row2plug,row3plug; t = LFPulse.ar(tempo.kr/15); /*kick as function only has to be written once argument is row of checkboxes */ aKik = {arg b; Decay2.ar( ImpulseSequencer.ar(`b, t), 0.001, 0.5, FSinOsc.ar(80, 0.75)) }; // snare : has to be written for each row of boxes aSnare = Decay2.ar( ImpulseSequencer.ar(`kickbeats, t), 0.001, 0.5, PinkNoise.ar(1)) ; aHiHat = ImpulseSequencer.ar(`kickbeats, t); row1plug = Plug.ar(aKik.value(kickbeats)); row1k.action = {row1plug.source = aKik.value(kickbeats)}; row1s.action = {row1plug.source = aSnare}; row1h.action = {row1plug.source = aHiHat}; row1plug }); w.close; ) ------------------------------ End of sc-users-digest V1 #153 ******************************