From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #347 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 Thursday, August 23 2001 Volume 01 : Number 347 ---------------------------------------------------------------------- Date: Tue, 21 Aug 2001 20:00:18 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: jeReBirth >>Hi, >>The enclosed is an attempt to make a graphic interface for making beats >>etc. a-la ReBirth. >> >>When playing the peak CPU is around 100% (on my G3 266) but the average >>CPU is much lower (10 - 20%). >> >>Is there a way that I could programme it so it uses less (peak) CPU? > >hi john! >by using if-statements routing the signal inside those Pbind >ugenFuncs you could save about 20% cpu. i use it all the time as >some kind of Pause substitute. > >e.g. > >*bd1 { arg amp = 0.5, pan = 0, volume = 0.5, release = 0.3, pitch = 50; >if (amp>0,{ > ^Pan2.ar( > Mix.ar(SinOsc.ar([pitch-15, pitch, pitch+15])) * >Line.kr(amp/2, 0, amp*release) > ,pan,volume) >},{ > ^FSinOsc.ar(0,0) //dummy ugen >})} > > >*sd1 { arg amp = 0.6, pan = 0, volume = 0.5, release = 0.25, pitch = 2000; >if (amp>0,{ > ^Pan2.ar( > Resonz.ar( > WhiteNoise.ar, > pitch, > 0.4) * EnvGen.kr(Env.perc(0.01, amp*release, amp*2)) > ,pan,volume) >},{ > ^FSinOsc.ar(0,0) //dummy ugen >})} > >and so on... > > >ps. cool. can't wait to see a bunch of filters implemented. > >/fredrik > >-- >#| > http://olofsson.da.ru >|# there is a way to impelment this into Pattern:asSpawn (or .ar in sc3) asSpawn { arg protoEvent, channels=1; var stream, outersynth, out, tspawn; stream = this.asEventStream(protoEvent); outersynth = thisSynth; out = TSpawn.ar(nil, channels); tspawn = out.source; stream.protoEvent.put(\inSpawn, tspawn); stream.protoEvent.put(\outersynth, outersynth); // schedule a task outersynth.sched(0, { arg outersynth, now, task; var event, freqs, lag, newSynth, inSpawn; newSynth = Synth.new({ arg innersynth; event = stream.next; if (event.isNil, { nil },{ event.use({ var freqs, strum; outersynth.sched(event.delta, task); // schedule the next event outersynth.tempo = ~tempo.value; freqs = ~freq; if ( freqs.isKindOf(Symbol) or: (~amp == 0) , { //don't play \rest or zero amp events nil; // rest },{ ~outersynth = outersynth; ~innersynth = innersynth; innersynth.channelOffset = ~chanOffset; if (freqs.isKindOf(SequenceableCollection), { strum = ~strum; if (strum == 0.0, { // mix chords innersynth.releaseTime = ~sustain; Mix.arFill(freqs.size, { arg i; ~freq = freqs.at(i); ~ugenFunc.valueEnvir; }); },{ // strum chords if (strum > 0.0, { Spawn.ar({ arg sp, i, strumsynth; strumsynth.releaseTime = ~sustain; ~freq = freqs.at(i); ~ugenFunc.valueEnvir; }, channels, strum, freqs.size); },{ // reverse order Spawn.ar({ arg sp, i, strumsynth; strumsynth.releaseTime = ~sustain; ~freq = freqs.at(freqs.size - 1 - i); ~ugenFunc.valueEnvir; }, channels, strum.abs, freqs.size); }); },{ }); },{ innersynth.releaseTime = ~sustain; ~ugenFunc.valueEnvir; // normal case }); }); }); // event.use }); }); // Synth.new if (newSynth.notNil, { inSpawn = event.at(\inSpawn); lag = event.at(\lag); if (lag <= 0.0, { inSpawn.triggerSynth(newSynth); },{ // schedule lagged event in the future inSpawn.synth.sched(lag, { inSpawn.triggerSynth(newSynth); }); }); }); }); ^out } ------------------------------ Date: Tue, 21 Aug 2001 20:05:46 +0200 From: John Eacott <---@---.---> Subject: Re: jeReBirth Thanks Fredrik, a significant improvement. I'll try adding some filters etc. j - -- john eacott ======================================== composer - interactive sound design informal.org --- strangeattraction.com --- wmin.ac.uk eacottj@wmin.ac.uk --- john@informal.org ------------------------------ Date: Tue, 21 Aug 2001 20:47:45 +0200 From: Fredrik Olofsson <---@---.---> Subject: Re: jeReBirth >there is a way to impelment this into Pattern:asSpawn (or .ar in sc3) >if ( freqs.isKindOf(Symbol) or: (~amp == 0) , { //don't play \rest >or zero amp events so, is there a reason _not_ implementing this? a rest is a rest, right? /fredrik - -- #| http://olofsson.da.ru |# ------------------------------ Date: Tue, 21 Aug 2001 22:11:45 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: jeReBirth >>there is a way to impelment this into Pattern:asSpawn (or .ar in sc3) > > >>if ( freqs.isKindOf(Symbol) or: (~amp == 0) , { //don't play \rest >>or zero amp events > > >so, is there a reason _not_ implementing this? a rest is a rest, right? > >/fredrik >-- >#| > http://olofsson.da.ru >|# the \rest is used in freq, the 0.0 is used in amp, this should mean the same, at least for me. ------------------------------ Date: Wed, 22 Aug 2001 00:00:16 +0200 From: sc <---@---.---> Subject: Re: MidiInput devices, how to clear MIDIController http://www.studiobeige.de ... .. . ... . . .http://www.echtzeitmusik.de > James, > > Is it possible in SC2.2.11 to select between different MIDI Input Ports > ( like the different input ports from a motu midi interface) > > Is it possible to * clear * the value of a MIDIController ? > I'm trying to controll a MIDIController from an endless knob, but the > MIDIController stays on the last value, which means, that > also not turning the knob, the MIDIController gives a value != 0, (which > > is ugly). > > cheers > Paul > do use a 4Control or 10Control ? - -- ------------------------------ Date: Wed, 22 Aug 2001 02:31:58 +0200 From: Paul Modler <---@---.---> Subject: Re: MidiInput devices, how to clear MIDIController sc wrote: > http://www.studiobeige.de ... .. . ... . . .http://www.echtzeitmusik.de > > > James, > > > > Is it possible in SC2.2.11 to select between different MIDI Input Ports > > ( like the different input ports from a motu midi interface) > > > > Is it possible to * clear * the value of a MIDIController ? > > I'm trying to controll a MIDIController from an endless knob, but the > > MIDIController stays on the last value, which means, that > > also not turning the knob, the MIDIController gives a value != 0, (which > > > > is ugly). > > > > cheers > > Paul > > > do use a 4Control or 10Control ? > -- no, motormix any help ? - -- Paul Modler Sounddesign Hochschule fuer Gestaltung im ZKM 76135 Karlsruhe Raum 3-I-12 paul.modler@hfg-karlsruhe.de plpm1@york.ac.uk (0049)-(0)721-8203-2355 (0049)-(0)174-4329396 ------------------------------ Date: Wed, 22 Aug 2001 17:09:09 +0100 From: Arie van Schutterhoef <---@---.---> Subject: fff2nn Hi everybody, A rather intriguing question as come up lately: Is there a way to use tthe magnitude or the real of a FFT as discrete values to train Martin Robinson's Neural Nets? AvS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ^ Arie van Schutterhoef | arsche@xs4all.nl ^_±±±±±±±±±±±±±±±±±±±±±±±__""""""""""""""""""""""""""""""""" | ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | ` |# -laboratory for live electro-acoustic music- # | ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | *========================================================++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ------------------------------ Date: Wed, 22 Aug 2001 18:09:52 +0100 From: Arie van Schutterhoef <---@---.---> Subject: Re: fff2nn >Is there a way to use tthe magnitude or >the real of a FFT as discrete values to train >Martin Robinson's Neural Nets? - -or to rephrase that: to convert the real part of the input spectra to an array? AvS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ^ Arie van Schutterhoef | arsche@xs4all.nl ^_±±±±±±±±±±±±±±±±±±±±±±±__""""""""""""""""""""""""""""""""" | ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | ` |# -laboratory for live electro-acoustic music- # | ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | *========================================================++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ------------------------------ Date: Wed, 22 Aug 2001 13:35:53 -0400 From: "felix" <---@---.---> Subject: Re: fff2nn Yeah, i thought a bit about that too ! To train it with 30 or so samples and then see what it can generate. someone must have tried something like it, but probably not for music making, more likely for analysis / recognition. > Hi everybody, > > A rather intriguing question as come up > lately: > > Is there a way to use tthe magnitude or > the real of a FFT as discrete values to train > Martin Robinson's Neural Nets? > > AvS > > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > .................................................................. > > ^ Arie van Schutterhoef | arsche@xs4all.nl > ^_???????????????????????__""""""""""""""""""""""""""""""""" | > ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | > ` |# -laboratory for live electro-acoustic music- # | > ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | > > *========================================================++ > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > .................................................................. > > > > > ------------------------------ Date: Wed, 22 Aug 2001 14:58:09 -0500 From: matrix6k@yahoo.com Subject: .midicps i'm trying to model my jupiter -6. two arrays of 6 sawtooth osc's. i wish the second array to be one octave below the first array. my attempt drifts along the scale. what am i missing ? ( var you, comp; SetTempo.kr(96); comp = { arg in; Compander.ar(in, in, thresh:0.1, slopeBelow:1, slopeAbove:1) }; you=Pbind( \ugenFunc, { arg pan=0, freq=100, freqnv=200, db=0.5, length=1, decay=1, attack=0,dur; var env, out, freaknv, freak; env = Env.linen(attack,dur/length,decay); freaknv = Env.linen(0,1,1); freak = EnvGen.kr(freaknv, 1, freqnv); Pan2.ar( EnvGen.ar(env, RLPF.ar( Mix.ar([ Mix.arFill(6, { Saw.ar(freq) }), Mix.arFill(6, { Saw.ar(freq -12.midicps) }) ]), freak, 0.5), 0, db), pan)}, \root, -23 ); Ptpar([ 0,Pfx(Pbindf(\dur, Pseq([1],inf), \degree, Pseq([1,2,3,4,5,6,7,8],inf), \freqnv, Pfunc({5000.rand}), \db, 0.2, \pan, Pfunc({1.0.rand2}), you),comp) ]).play ) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ Date: Wed, 22 Aug 2001 15:32:47 -0500 From: James McCartney <---@---.---> Subject: Re: .midicps on 8/22/01 2:58 PM, matrix6k@yahoo.com at matrix6k@yahoo.com wrote: > Mix.arFill(6, { Saw.ar(freq -12.midicps) }) You are taking the frequency of midi note number 12 (the C 4 octaves below middle C, which happens to be 16.3516 Hertz) and subtracting that from freq. That will obviously not work. This will: Mix.arFill(6, { Saw.ar(freq * 0.5) }) - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 22 Aug 2001 15:33:38 -0500 From: James McCartney <---@---.---> Subject: Re: MidiInput devices, how to clear MIDIController on 8/20/01 9:39 PM, Paul Modler at pmodler@hfg-karlsruhe.de wrote: > James, > > Is it possible in SC2.2.11 to select between different MIDI Input Ports > ( like the different input ports from a motu midi interface) > no > Is it possible to * clear * the value of a MIDIController ? no Sorry.. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 22 Aug 2001 15:46:49 -0500 From: James McCartney <---@---.---> Subject: Re: .midicps > Mix.arFill(6, { Saw.ar(freq) }), One more thing. It is pointless to mix together six identical Saw oscillators. What were you wanting to do here? - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 22 Aug 2001 14:41:17 -0700 (PDT) From: Lee Azzarello <---@---.---> Subject: Re: .midicps I tried to do an emulation of the Roland SH-101 in SC and after spending 2 weeks to get a single note out of it I found a Reaktor ensemble that did the same thing perfectly. I hope I don't offend anyone, but I don't think SC is the best language to use for analogue synth emulation. - -l[e^2] *old { ^this.shouldNotImplement(thisMethod) } http://eds.org/~lee ------------------------------ Date: Thu, 23 Aug 2001 00:22:10 +0200 From: jr@xs4all.nl (joel ryan) Subject: releaseall without going into the details does any one have any guesses why a << .releaseAll >> message would generate the sort of error pasted below: its sent to an instrument with a spawning grainer whose volume is controlled by a plug who's source is set in a synth.repeat loop based on data passed via another plug. from the outside. there is an envelope with a sustain node multiplied times the spawn the .release method works to kill other instruments outB = TSpawn.ar(nil); tVoiceB = outB.source; b14.action= { nowInst = pumpingGrainer };    b9.action ={tVoiceB.releaseAll}; >€ ERROR: UGen::poll: UGen already done. >ERROR: >Primitive '_UGenPoll' failed. > >Failed. >RECEIVER: >Instance of Plug ''{ (06BF0798, gc=02, fmt=00, flg=00, set=05) > instance variables [8] > synth : instance of Synth (06BF0580, size=0, set=06) > inputs : Integer 113182560 > rate : Symbol 'control' > state : Integer 3 > source : Float 0.180409 > prevSource : nil > index : Integer 0 > result : nil >} >CALL STACK: > Object::primitiveFailed > arg this = > UGen::poll > arg this = > < FunctionDef in Method Interpreter::functionCompileContext > > arg sameSynth = > arg now = 130.018594 > arg task = 252 > < FunctionDef in Method Synth::repeat > > arg synth = > arg now = 130.018594 > arg repeatFunc = > Synth::play > arg this = > arg duration = nil > Meta_Synth::play > arg this = class Synth > arg ugenGraphFunc = > arg duration = nil > var newsynth = > < FunctionDef in Method Interpreter::functionCompileContext > > var pj = 0 > var maxPlayers = 6 . . . . jryan - -- - -=-=-=-=---=-=-=-=-===-----=-==-=-=-====---=------=-------- Joel Ryan STEIM :: Ballett Frankfurt :: Institute of Sonology Achtergracht 19, 1017WL Amsterdam +31 (20) 624-3886 +31 (20) 626-4262 fax http://www.frankfurt-ballett.de/joel.html http://www.steim.nl ------------------------------ Date: Wed, 22 Aug 2001 17:31:20 -0500 From: James McCartney <---@---.---> Subject: Re: releaseall on 8/22/01 5:22 PM, joel ryan at jr@xs4all.nl wrote: >> € ERROR: UGen::poll: UGen already done. >> ERROR: >> Primitive '_UGenPoll' failed. >> >> Failed. >> RECEIVER: >> Instance of Plug ''{ (06BF0798, gc=02, fmt=00, flg=00, set=05) >> instance variables [8] >> synth : instance of Synth (06BF0580, size=0, set=06) >> inputs : Integer 113182560 >> rate : Symbol 'control' >> state : Integer 3 >> source : Float 0.180409 >> prevSource : nil >> index : Integer 0 >> result : nil >> } >> CALL STACK: >> Object::primitiveFailed >> arg this = >> UGen::poll >> arg this = >> < FunctionDef in Method Interpreter::functionCompileContext > >> arg sameSynth = >> arg now = 130.018594 >> arg task = 252 >> < FunctionDef in Method Synth::repeat > Synth::repeat is calling a function that is polling a UGen in a voice that has already finished playing. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 22 Aug 2001 17:23:17 -0800 From: ben <---@---.---> Subject: FW: Richard Devine, Phoenecia 'live' in L.A. sept. 2 for those of you in the area... - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com - ---------- > From: "Experimental Liquor Museum" <---@---.---> > Reply-To: "Experimental Liquor Museum" > Date: Wed, 22 Aug 2001 11:36:37 -0700 > To: > Subject: Richard Devine, Phoenecia 'live' in L.A. sept. 2 > > > :. e l m conceptions and p a x present .: > 'designed disorder' > / . dD o3 . \ > .: sun. / sept. 2 :. > -= with help from 'kelp and circuits' (S.F.) =- > > > > /-------- richard devine(warp) > the schematic music company ] ----> live > \ -------- phoenecia (schema) > > > /------trichome \ > the experiemental liquor museum [ ----- t.l. smith ] ----> dj > \------ rd / > > / ----- uprock rhizome \ > kelp and circuits [ _ _ _ _ _ _ _ _ _ _ _ _ ] ---->live > > > - for those who missed the first rounds of 'dD', we give you a second > chance. for those who've made it, we give you a second helping > (in a larger venue). as far as we're concerned, these are the best live > laptop performances in exsistence. in addition, we've stumbled upon > an undercover producer/performer with a refreshing new sound: > 'uprock rhizome' will soon be audible > > > location: Sugar > 814 Broadway @ Lincoln |. > Santa Monica, CA 90401 |. > capacity: 300 ppl > > time: 9pm - 2 am > door price: 10$ > age limit: 21 and over > no pre-sale tickets > early arrival suggested > > :-. information: www.elmconceptions.com > time equals art :\ > www.paxismusic.com > www.kelpandcircuits.com .-: > > > > ..__thank you for supporting the subteranean__. > - we mean it- :] > > > ------------------------------ Date: Wed, 22 Aug 2001 20:47:29 -0400 From: "felix" <---@---.---> Subject: Re: releaseall you did try to poll the plug, but the plug was created, or perhaps just had its source set to something that was created within a spawn function. when the spawn ended, the plug ugen was declared dead (or its source was declared dead) and its state set to 3. sc ugens are not 'reversible', they cannot be re-inited once they are over. though i don't see why we shouldn't or couldn't. > without going into the details > does any one have any guesses why a << .releaseAll >> message > would generate the sort of error pasted below: > > its sent to an instrument with a spawning grainer > whose volume is controlled by a plug who's source is set in a synth.repeat loop > based on data passed via another plug. from the outside. > > there is an envelope with a sustain node multiplied times the spawn > > the .release method works to kill other instruments > > outB = TSpawn.ar(nil); > > tVoiceB = outB.source; > b14.action= { nowInst = pumpingGrainer }; ?? > b9.action ={tVoiceB.releaseAll}; > > > > > > >? ERROR: UGen::poll: UGen already done. > >ERROR: > >Primitive '_UGenPoll' failed. > > > >Failed. > >RECEIVER: > >Instance of Plug ''{ (06BF0798, gc, fmt ------------------------------ Date: Wed, 22 Aug 2001 22:13:26 -0500 From: matrix6k@yahoo.com Subject: Re: .midicps oopz- guess i shoulda changed it to straight Mix.ar. i took my freq +0.2.rand2 out for clarity. i found that mixing 6 oscillators together with Mix.arFill(6, { Saw.ar(freq +0.2.rand2) } sounds really fat. i just wanted to get the two arrays to be an octave apart like i can do on a jp-6. btw: even with two oscillators an octave apart, this still sounds thick. way thick. continually impressed- - -m James McCartney wrote: > > > Mix.arFill(6, { Saw.ar(freq) }), > > One more thing. It is pointless to mix together six identical Saw > oscillators. What were you wanting to do here? > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ Date: Thu, 23 Aug 2001 06:36:39 +0100 From: Arie van Schutterhoef <---@---.---> Subject: Re: fff2nn >Yeah, i thought a bit about that too ! >To train it with 30 or so samples and then see what it can generate. >someone must have tried something like it, >but probably not for music making, >more likely for analysis / recognition. - -Which indeed was/is the intention, and the outcome of that application is up for the definition whether that's suitable for 'music making'. But in order to get there, first has to get the question answered, and with all respects, this hasn't been the answer to the question, which was: Is there a way to use tthe magnitude or the real of a FFT as discrete values to train Martin Robinson's Neural Nets? or to rephrase that: to convert the real part of the input spectra to an array? An answer to that question is greatly appreciated, because at the moment it is hampering the development of a much larger application we're at the moment working on at the Schreck Ensemble. We're also trying to implemenent this at the 'hard way', using a C hard-coded version of it on a SGI-machine.... But it would be nice if SuperCollider could do the trick...Considering also the ability of SC to write higher level applications of it by writing your own objects and classes in a subsequent stage. However the only initial way to get there, is the answer to question... cheerfully your/everybody's arie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ^ Arie van Schutterhoef | arsche@xs4all.nl ^_±±±±±±±±±±±±±±±±±±±±±±±__""""""""""""""""""""""""""""""""" | ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | ` |# -laboratory for live electro-acoustic music- # | ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | *========================================================++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................................................. ------------------------------ Date: Thu, 23 Aug 2001 00:04:03 -0500 From: James McCartney <---@---.---> Subject: Re: fff2nn on 8/23/01 12:36 AM, Arie van Schutterhoef at arsche@xs4all.nl wrote: > Is there a way to use tthe magnitude or > the real of a FFT as discrete values to train > Martin Robinson's Neural Nets? > or to rephrase that: > to convert the real part of the input > spectra to an array? Doing it in SC code would be too slow. You'd need to write C code. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Thu, 23 Aug 2001 00:46:53 -0500 From: James McCartney <---@---.---> Subject: Re: .midicps on 8/22/01 10:13 PM, matrix6k@yahoo.com at matrix6k@yahoo.com wrote: > i took my freq +0.2.rand2 out for clarity. OK, I thought that was probably what it was. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Thu, 23 Aug 2001 12:42:01 +0200 From: "sfogar@inwind.it"<---@---.---> Subject: Mac Os 9.2.1 Did anybody try it ? Is it worth ? Or is it better to wait ? I downloaded it but I'd like to know something more before ... Cheers Alessandro Fogar ------------------------------ Date: Thu, 23 Aug 2001 12:56:35 +0200 From: jr@xs4all.nl (joel ryan) Subject: Re: releaseall so interestingly it was an extra debuging synth.repeat(... {aplug.poll.postln }) sort of thing which was scheduled upto 500 ms after the voice was was killed. it must have been this plug which was hanging around but what about useful synth.repeat loops? One of which was updating a plug inside the same voice at 0.050s and so far hasn't cause an error. Is there any general way to do the .releaseall killing thing for objects with multiple scheduling times? do I need to put some sort of envelope around/among syth.sched loops? thanks j - -- Synth::repeat is calling a function that is polling a UGen in a voice that has already finished playing. you did try to poll the plug, but the plug was created, or perhaps just had its source set to something that was created within a spawn function. when the spawn ended, the plug ugen was declared dead (or its source was declared dead) and its state set to 3. sc ugens are not 'reversible', they cannot be re-inited once they are over. though i don't see why we shouldn't or couldn't. ------------------------------ Date: Thu, 23 Aug 2001 06:30:36 +0200 From: John Eacott <---@---.---> Subject: Re: jeReBirth > > there is a way to impelment this into Pattern:asSpawn (or .ar in sc3) > > asSpawn { arg protoEvent, channels=1; > var stream, outersynth, out, tspawn; > >etc. Aargh.. my brain aches, this is too complicated for me. Any chance you could modify the jeReBirth patch to illustrate? - -- john eacott ======================================== composer - interactive sound design informal.org --- strangeattraction.com ------------------------------ Date: Thu, 23 Aug 2001 07:10:57 -0500 From: James McCartney <---@---.---> Subject: Re: releaseall on 8/23/01 5:56 AM, joel ryan at jr@xs4all.nl wrote: > so interestingly it was an extra debuging synth.repeat(... > {aplug.poll.postln }) sort of thing > which was scheduled upto 500 ms after the voice was was killed. > it must have been this plug which was hanging around > > > but what about useful synth.repeat loops? > One of which was updating a plug inside the same voice at 0.050s > and so far hasn't cause an error. > > Is there any general way to do the .releaseall killing thing > for objects with multiple scheduling times? > do I need to put some sort of envelope around/among syth.sched loops? > > thanks > j If the Plug and the synth.repeat are inside the same synth then there will be no problem. The synth scheduler stops when the synth does. The problem occurs if you poll from a synth outside the synth that dies. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Thu, 23 Aug 2001 12:42:24 -0400 From: "felix" <---@---.---> Subject: Re: Re: releaseall slightly lazy (but it is debug code anyway): in the synth.repeat( { if(plug.notNil and: {plug.state != 3 },{ plug.poll ...... }) }) to protect yourself. i have had a couple of cases where tyhe resource in question may have died, so i must check its pulse before polling. > so interestingly it was an extra debuging synth.repeat(... > {aplug.poll.postln }) sort of thing > which was scheduled upto 500 ms after the voice was was killed. > it must have been this plug which was hanging around > > > but what about useful synth.repeat loops? > One of which was updating a plug inside the same voice at 0.050s > and so far hasn't cause an error. > > Is there any general way to do the .releaseall killing thing > for objects with multiple scheduling times? > do I need to put some sort of envelope around/among syth.sched loops? > > thanks > j > > > -- > > > > Synth::repeat is calling a function that is polling a UGen in a voice that > has already finished playing. > > > > you did try to poll the plug, but the plug was created, or perhaps > just had its source set to something that was created within a spawn > function. > > when the spawn ended, the plug ugen was declared dead (or its source > was declared dead) and its state set to 3. > > sc ugens are not 'reversible', they cannot be re-inited once they are over. > though i don't see why we shouldn't or couldn't. > > > ------------------------------ Date: Thu, 23 Aug 2001 11:18:36 -0700 (PDT) From: Lee Azzarello <---@---.---> Subject: Re: Mac Os 9.2.1 On Thu, 23 Aug 2001, sfogar@inwind.it wrote: > Is it worth ? > > Or is it better to wait ? It's designed for better Classic compatibility in OS X when 10.1 comes out in September. If you don't have X installed, you probably don't need it. - -l[e^2] *old { ^this.shouldNotImplement(thisMethod) } http://eds.org/~lee ------------------------------ End of sc-users-digest V1 #347 ******************************