From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #296 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 Monday, May 28 2001 Volume 01 : Number 296 ---------------------------------------------------------------------- Date: Fri, 25 May 2001 16:10:30 -0500 From: James McCartney <---@---.---> Subject: Re: SuperCollider sucks, I mean socks. on 5/25/01 3:56 PM, christian adam hresko at godpup@ix.netcom.com wrote: > i'll take a pair of socks, and [...] Please be respectful of women here, thank you. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Fri, 25 May 2001 17:10:42 -0400 From: christian adam hresko <---@---.---> Subject: Re: SuperCollider sucks, I mean socks. James McCartney wrote: > on 5/25/01 3:56 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > i'll take a pair of socks, and [...] > > Please be respectful of women here, thank you. > > that was completely and totally sarcastic. sorry if that post was crossing the line(s). i thought it was quite apparent that i was kidding, with no offense intended. respectfully yours, christian : although i do want some socks, if that's okay. ------------------------------ Date: Fri, 25 May 2001 16:52:01 -0500 From: James McCartney <---@---.---> Subject: Re: SuperCollider sucks, I mean socks. on 5/25/01 4:10 PM, christian adam hresko at godpup@ix.netcom.com wrote: > that was completely and totally sarcastic. > > sorry if that post was crossing the line(s). > > i thought it was quite apparent that i was kidding, with no offense intended. Whether something is a joke or not has nothing to do with whether it is offensive. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 26 May 2001 00:27:49 +0200 From: Roland Pfrengle <---@---.---> Subject: Re: SC-install on a second disk am 25.05.2001 21:34 Uhr schrieb James McCartney unter asynth@io.com: > on 5/25/01 1:01 PM, Roland Pfrengle at roland.p@snafu.de wrote: > >> If I switch it off (because of noise), > > How are you switching off your internal drive? > I doubt PACE supports that. > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > Hi James, I switch it off simply in the energy saver control panel. Roland ------------------------------ Date: Sat, 26 May 2001 00:31:54 +0200 From: Roland Pfrengle <---@---.---> Subject: Re: SC-install on a second disk am 25.05.2001 21:34 Uhr schrieb James McCartney unter asynth@io.com: > on 5/25/01 1:01 PM, Roland Pfrengle at roland.p@snafu.de wrote: > >> If I switch it off (because of noise), > > How are you switching off your internal drive? > I doubt PACE supports that. > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > Again James, I use the control strip of the energy saver control panel. Roland ------------------------------ Date: Fri, 25 May 2001 19:04:00 -0400 From: christian adam hresko <---@---.---> Subject: Re: SuperCollider sucks, I mean socks. James McCartney wrote: > on 5/25/01 4:10 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > that was completely and totally sarcastic. > > > > sorry if that post was crossing the line(s). > > > > i thought it was quite apparent that i was kidding, with no offense intended. > > Whether something is a joke or not has nothing to do with whether it is > offensive. > i said i was sorry. i'm going to go make 'art music' now. thanks, christian ------------------------------ Date: Sat, 26 May 2001 00:27:38 +0100 From: LUThER_SKIZZO <---@---.---> Subject: Re: SuperCollider sucks, I mean socks. on 25/5/01 10:10 pm GT, christian adam hresko at godpup@ix.netcom.com apparently typed: > James McCartney wrote: > >> on 5/25/01 3:56 PM, christian adam hresko at godpup@ix.netcom.com wrote: >> >>> i'll take a pair of socks, and [...] >> >> Please be respectful of women here, thank you. >> >> > > that was completely and totally sarcastic. > > sorry if that post was crossing the line(s). > > i thought it was quite apparent that i was kidding, with no offense intended. > > > respectfully yours, > > christian > > : although i do want some socks, if that's okay. Christian You should wonder whether she wants you or not. This is not programming but tough life, isn't it? lb - -- >>LUThER_SKIZZO_999.......................................///eventually//me// E hiss999@dircon.co.uk hiss999@dircon.co.uk hiss999@dircon.co.uk >>>it////////takes////a////fool///to////recognise//another/one/ >................................the.....end//////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////. ------------------------------ Date: Fri, 25 May 2001 20:00:19 -0500 From: James McCartney <---@---.---> Subject: Re: SC-install on a second disk on 5/25/01 5:31 PM, Roland Pfrengle at roland.p@snafu.de wrote: > I use the control strip of the energy saver control panel. So you are putting it to sleep, not turning it off, correct? - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 26 May 2001 11:55:55 +0200 From: Roland Pfrengle <---@---.---> Subject: Re: SC-install on a second disk am 26.05.2001 3:00 Uhr schrieb James McCartney unter asynth@io.com: > on 5/25/01 5:31 PM, Roland Pfrengle at roland.p@snafu.de wrote: > >> I use the control strip of the energy saver control panel. > > So you are putting it to sleep, not turning it off, correct? > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > Sorry James, you are right. I'm composer, no technician, therefore a little incorrect. Roland ------------------------------ Date: Sat, 26 May 2001 11:57:05 +0200 From: Martin Stepanek <---@---.---> Subject: MIDIOut hi, try to play an external synth from sc. this code should send MIDI-Data every second, right? ( Synth.play({ thisSynth.repeat(0, 1, { MIDIOut(0).noteOn(1, 64, 64); "Out, out, brief candle!".postln}); Plug.ar(0); }) ) well, if it does, it does get through to my midi-interface on very rare occasions (every 12th or 13th time). I use a pb g3, 400 and a emagic mt4 usb midi-interface. Receiving MIDI-Data in sc is no problem with my setup. lg, martin Postmodernism is German Romanticism with Better Special Effects ~Jeff Keuss~ ------------------------------ Date: Sat, 26 May 2001 14:24:13 +0200 From: heiko goelzer <---@---.---> Subject: cpu on osc-load hallo i was looking for a Ugen that would work fine as a placebo in a Tspawn with as little as possible cpu usage. i did some testing like below. it seems FSinOsc is a good choice. but what really scared me was, that in each test the cpu avg and peak got twice as high after 17 sec of playing, combined with some mayor clicking and buzzing on the speaker. i play a G3 250 Mhz. this is 2.2.10 stuff. any explenations ?? thanks for your help. heiko ( // cpu tester Synth.play({ TSpawn.ar({LFSaw.ar(1,0.001)},1,100,SinOsc.ar(10)) }); ) ( // cpu tester Synth.play({ TSpawn.ar({LFPulse.ar(1,0.5,0.001)},1,100,SinOsc.ar(10)) }); ) ( // cpu tester Synth.play({ TSpawn.ar({FSinOsc.ar(1,0.001)},1,100,SinOsc.ar(10)) }); ) ------------------------------ Date: Sat, 26 May 2001 10:26:44 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: shared memory in SC3 Hi James, Can "frozen" memory be garbage collected? (For example, suppose the \signal component of Library gets replaced.) RJK ------------------------------ Date: Sat, 26 May 2001 17:06:06 +0200 From: Roland Pfrengle <---@---.---> Subject: Re: SC-install on a second disk am 26.05.2001 3:00 Uhr schrieb James McCartney unter asynth@io.com: > on 5/25/01 5:31 PM, Roland Pfrengle at roland.p@snafu.de wrote: > >> I use the control strip of the energy saver control panel. > > So you are putting it to sleep, not turning it off, correct? > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > Hi James again, the operating system says in the control strip : 'switch off harddisk', so I used the same terminology. ------------------------------ Date: Sat, 26 May 2001 17:33:10 +0100 From: Scott Wilson <---@---.---> Subject: Stupid Spawn question Sure this is quite easy, but I canıt quite get it to work. I want to have Spawn spawn the next event when the previous one is completed. The ultimate duration of an event is varying with realtime input so itıs impossible to determine duration at spawn time. In the Help file it says: "If nextTime is set to nil in the newEventFunc, then the next time will be determined from the logical duration of the most recently started event." Perhaps I misunderstand "logical duration", because this code only spawns one event: ( // Spawn example 1 (modified) var env; env = Env.linen(2,5,2); // 9 second trapezoid envelope specification Synth.play({ Spawn.ar({ arg spawn, i, synth; // newEventFunc spawn.nextTime = nil; a = Pan2.ar( EnvGen.ar( env, Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) ), 1.0.rand2 ); }, 2) // new event every second })) What am I missing? Also, is there an easy way to call some function upon the completion of a spawned event, or of an envelope? Thanks, Scott ------------------------------ Date: Sat, 26 May 2001 10:31:08 -0500 From: James McCartney <---@---.---> Subject: Re: shared memory in SC3 on 5/26/01 9:26 AM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > Hi James, > > Can "frozen" memory be garbage collected? (For example, suppose > the \signal component of Library gets replaced.) > > RJK Since the data is accessed asynchronously by two threads, it is not safe to have it in the garbage collected memory. The only way to garbage collect it would be to stop both the non real time and real time engines. That (only) happens if you do a recompile of the library. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 26 May 2001 10:54:16 -0800 From: minty <---@---.---> Subject: Re: cpu on osc-load hello heiko the reason for cpu going up and sound problems is that you have no envelope around whatever is in your TSpawn. because of that the, for example, LFSaw that you spawn continutes to play forever - so each successive spawn piles up on top of that. this works: ( // cpu tester Synth.play({ TSpawn.ar({ EnvGen.kr(Env.linen(0.0,0.5,0.5,0.5)) * LFSaw.ar(100,0.1) },1,100,SinOsc.ar(10)) }); ) notice also that the freq and mul values for LFSaw in your test code would have rendered it inaudible anyway... hope that helps peace ben - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com > From: heiko goelzer <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Sat, 26 May 2001 14:24:13 +0200 > To: sc users > Subject: cpu on osc-load > > hallo > > i was looking for a Ugen that would work fine as a placebo in a Tspawn with > as little as possible cpu usage. i did some testing like below. it seems > FSinOsc is a good choice. but what really scared me was, that in each test > the cpu avg and peak got twice as high after 17 sec of playing, combined > with some mayor clicking and buzzing on the speaker. i play a G3 250 Mhz. > this is 2.2.10 stuff. any explenations ?? > thanks for your help. > > heiko > > ( > // cpu tester > Synth.play({ TSpawn.ar({LFSaw.ar(1,0.001)},1,100,SinOsc.ar(10)) > }); > ) > > ( > // cpu tester > Synth.play({ TSpawn.ar({LFPulse.ar(1,0.5,0.001)},1,100,SinOsc.ar(10)) > }); > ) > > ( > // cpu tester > Synth.play({ TSpawn.ar({FSinOsc.ar(1,0.001)},1,100,SinOsc.ar(10)) > }); > ) > > ------------------------------ Date: Sat, 26 May 2001 15:56:23 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: more v 3 questions Hi James, Is there any particular reason that messages like 'stop' in Main are object messages instead of class messages? (Main.stop, might be easier for new users to understand than thisProcess.stop) Is there a way to type in values as strings (like NumericalView in SC 2)? RJK PS: (I really like the way you can get extra precision with a Knob by clicking and sliding the mouse far away and the automatic synchronization of multiple gui views with a control is quite nice.) RJK ------------------------------ Date: Sat, 26 May 2001 16:34:42 -0500 From: James McCartney <---@---.---> Subject: Re: more v 3 questions on 5/26/01 2:56 PM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > Hi James, > > Is there any particular reason that messages like 'stop' in Main are > object messages instead of class messages? (Main.stop, might be easier > for new users to understand than thisProcess.stop) Because the process object is what has to receive it in the end, but you can put this in your Main class if you like: *stop { thisProcess.stop } - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 26 May 2001 16:35:37 -0500 From: James McCartney <---@---.---> Subject: Re: more v 3 questions on 5/26/01 2:56 PM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > Is there a way to type in values as strings (like NumericalView in SC 2)? No, but since all the UI elements are written in SC, you could write it. I haven't gotten to that. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sat, 26 May 2001 17:34:51 -0400 From: christian adam hresko <---@---.---> Subject: CD-R recommends i guess it's about time i purchased a CD-R, and i'm just trying to get some feedback from list members. i was considering the EZQuest Firewire drive, since i could use this with my G3 B&W along with my G4 powerbook. i 'test drove' my friends, and it worked flawlessly. (love the skip proof technology) any help would be appreciated. btw, did anyone catch the Autechre show in DC last night? (two G4 powerbooks and a Nord Modular was all i could see...) cheers, christian ------------------------------ Date: Sat, 26 May 2001 18:50:16 -0400 From: "crucial" <---@---.---> Subject: Re: cpu on osc-load monsieur minty explained the envs. james once mentioned that LFTri probably has the lowest cpu. though I wonder why Plug.ar(0) wouldn't be the lowest. if you are just trying to execute something, use ImpulseSequencer.kr( { code }, trig ) or synth.sched >hallo > >i was looking for a Ugen that would work fine as a placebo in a Tspawn with >as little as possible cpu usage. i did some testing like below. it seems >FSinOsc is a good choice. but what really scared me was, that in each test >the cpu avg and peak got twice as high after 17 sec of playing, combined >with some mayor clicking and buzzing on the speaker. i play a G3 250 Mhz. >this is 2.2.10 stuff. any explenations ?? >thanks for your help. > >heiko > >( >// cpu tester >Synth.play({ TSpawn.ar({LFSaw.ar(1,0.001)},1,100,SinOsc.ar(10)) >}); >) > >( >// cpu tester >Synth.play({ TSpawn.ar({LFPulse.ar(1,0.5,0.001)},1,100,SinOsc.ar(10)) >}); >) > >( >// cpu tester >Synth.play({ TSpawn.ar({FSinOsc.ar(1,0.001)},1,100,SinOsc.ar(10)) >}); >) > > > _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Sat, 26 May 2001 18:56:46 -0400 From: "crucial" <---@---.---> Subject: Re: Stupid Spawn question >Sure this is quite easy, but I canıt quite get it to work. > >I want to have Spawn spawn the next event when the previous one is >completed. The ultimate duration of an event is varying with realtime input >so itıs impossible to determine duration at spawn time. In the Help file it >says: > >"If nextTime is set to nil in the newEventFunc, then the next time >will be determined from the logical duration of the most recently started >event." > >Perhaps I misunderstand "logical duration", because this code only spawns >one event: > >( >// Spawn example 1 (modified) >var env; >env = Env.linen(2,5,2); // 9 second trapezoid envelope specification >Synth.play({ > Spawn.ar({ arg spawn, i, synth; > // newEventFunc > spawn.nextTime = nil; > a = Pan2.ar( > EnvGen.ar( > env, > Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) > ), > 1.0.rand2 > ); > > }, > 2) // new event every second >})) > >What am I missing? nextTime supplied as an arg, not as you have it here explicitly setting it. i think you might be killing it. (// Spawn example 1 (modified) var env; env = Env.linen(2,5,2); // 9 second trapezoid envelope specification Synth.play({ Spawn.ar({ arg spawn, i, synth; // this is both more efficient, and perhaps the spawn next time works right ? EnvGen.kr( env) * Pan2.ar( Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) , 1.0.rand2 ) ); }, nil, // next time determined "logically" 2 // 2 channels })) i do not guarantee the above. > >Also, is there an easy way to call some function upon the completion of a >spawned event, or of an envelope? synth.sched( env duration, > >Thanks, > >Scott > > > _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Sun, 27 May 2001 01:52:38 +0200 From: "Scott Wilson" <---@---.---> Subject: Re: Stupid Spawn question > nextTime supplied as an arg, not as you have it here explicitly setting it. > i think you might be killing it. > > > (// Spawn example 1 (modified) > var env; > env = Env.linen(2,5,2); // 9 second trapezoid envelope specification > Synth.play({ > Spawn.ar({ arg spawn, i, synth; > > // this is both more efficient, and perhaps the spawn next time works right ? > EnvGen.kr( > env) > * > Pan2.ar( > Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) > , > 1.0.rand2 > ) > ); > > }, > nil, // next time determined "logically" > 2 // 2 channels > })) > > > i do not guarantee the above. Actually I tried this earlier, and it has the same effect. In the help file it specifically states "If nextTime is set to nil in the newEventFunc", but as I said, still only spawns one event. James, am I misunderstanding "logical duration"? What exactly does this statement mean? (> >"If nextTime is set to nil in the newEventFunc, then the next time > >will be determined from the logical duration of the most recently started > >event.") > >n > >Also, is there an easy way to call some function upon the completion of a > >spawned event, or of an envelope? > > synth.sched( env duration, Yeah, okay of course that works with an envelope, providing it doesn't have a sustain section. Really I was looking for something that might be a variable length event. i.e. something happens, the duration of which is varied in realtime as it's happening, then when it's finished something else happens. I know I could do this with SetTempo, but not everything in SC is timed in beats so it could get messy. Easy solutions? Thanks, Scott _________ > >Sure this is quite easy, but I canıt quite get it to work. > > > >I want to have Spawn spawn the next event when the previous one is > >completed. The ultimate duration of an event is varying with realtime input > >so itıs impossible to determine duration at spawn time. In the Help file it > >says: > > > >"If nextTime is set to nil in the newEventFunc, then the next time > >will be determined from the logical duration of the most recently started > >event." > > > >Perhaps I misunderstand "logical duration", because this code only spawns > >one event: > > > >( > >// Spawn example 1 (modified) > >var env; > >env = Env.linen(2,5,2); // 9 second trapezoid envelope specification > >Synth.play({ > > Spawn.ar({ arg spawn, i, synth; > > // newEventFunc > > spawn.nextTime = nil; > > a = Pan2.ar( > > EnvGen.ar( > > env, > > Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) > > ), > > 1.0.rand2 > > ); > > > > }, > > 2) // new event every second > >})) > > > >What am I missing? ------------------------------ Date: Sat, 26 May 2001 19:01:28 -0500 From: James McCartney <---@---.---> Subject: Re: Stupid Spawn question on 5/26/01 11:33 AM, Scott Wilson at sdwilson@mail.wesleyan.edu wrote: > Sure this is quite easy, but I canıt quite get it to work. > > I want to have Spawn spawn the next event when the previous one is > completed. The ultimate duration of an event is varying with realtime input > so itıs impossible to determine duration at spawn time. In the Help file it > says: > > "If nextTime is set to nil in the newEventFunc, then the next time > will be determined from the logical duration of the most recently started > event." > > Perhaps I misunderstand "logical duration", because this code only spawns > one event: > > ( > // Spawn example 1 (modified) > var env; > env = Env.linen(2,5,2); // 9 second trapezoid envelope specification > Synth.play({ > Spawn.ar({ arg spawn, i, synth; > // newEventFunc > spawn.nextTime = nil; > a = Pan2.ar( > EnvGen.ar( > env, > Resonz.ar(WhiteNoise.ar(0.05), 2000.0.rand + 80, 0.05) > ), > 1.0.rand2 > ); > > }, > 2) // new event every second > })) > > What am I missing? Env.linen creates an envelope without a release. It goes to zero but has no release segment. The next event will happen upon synth.release being called. But it never gets called here. > > Also, is there an easy way to call some function upon the completion of a > spawned event, or of an envelope? If the envelope release is timed, you can just schedule a function to happen at that time. If it is being called explicitly then you are already in a function. One other thing to bring up here is that this feature of Spawn was put in before there were Patterns and triggerSynth in TSpawn. So therefore it is obsolete and not brought forward into version 3. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 27 May 2001 10:15:08 +0000 From: newton armstrong <---@---.---> Subject: Re: cpu on osc-load crucial wrote: > james once mentioned that LFTri probably has the lowest cpu. > though I wonder why Plug.ar(0) wouldn't be the lowest. i never asked if this was illegal or improper, but when i've needed to spawn a dummy ugen i've just used: { Spawn.ar({}) }.play ------------------------------ Date: Sat, 26 May 2001 23:44:29 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: Re: more v 3 questions HI James, I guess I need some hints. How do I get a View to respond to key input? (I could not find anything like keyDownAction in the version 3 code.) RJK On Sat, 26 May 2001, James McCartney wrote: > on 5/26/01 2:56 PM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > > > Is there a way to type in values as strings (like NumericalView in SC 2)? > > No, but since all the UI elements are written in SC, you could write it. > I haven't gotten to that. > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > > ------------------------------ Date: Sun, 27 May 2001 02:59:10 -0400 From: jason mcmahon <---@---.---> Subject: Re - OT: CD-R recommends I was there, but I was down on the floor and could only see the Nord and the glowing Apple's of G3 PowerBooks. I saw you there, you were stage right upstairs on the railing. You had a white shirt on... :-) p.s.: thanx for the tip on the Apple Store. I picked up a new iBook with combo DVD/CD-RW drive and an AirPort card on Friday... So far, it rocks... //bsom At 05:34 PM 5/26/01 -0400, you wrote: >btw, did anyone catch the Autechre show in DC last night? (two G4 >powerbooks and a Nord Modular was all i could see...) > > >cheers, > >christian ------------------------------ Date: Sun, 27 May 2001 08:07:45 -0500 From: James McCartney <---@---.---> Subject: Re: more v 3 questions on 5/26/01 10:44 PM, Ronald J. Kuivila at rkuivila@mail.wesleyan.edu wrote: > HI James, > > I guess I need some hints. How do I get a View to respond to key input? > (I could not find anything like keyDownAction in the version 3 code.) > > RJK > In GUIScreen there is this which sends the keyDown to its top view: keyDown { arg char, cmdKey, optionKey, controlKey, shiftKey, capsLockKey; if (view.notNil, { event = KeyEvent(this, char, mouseInView, cmdKey, optionKey, controlKey, shiftKey, capsLockKey); view.keyDown(char, event); }); } However the other view classes have not had this method implemented yet. keyDown in class Object is defined to do nothing, so currently there is no response. keyDown would have to be implemented in container views as well as any that want to receive them. This has not been done yet. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 27 May 2001 15:19:45 +0200 (CEST) From: integer@www.god-emil.dk Subject: [ot] [!nt] \n2+0\ \/\ n2+o - bulet!n nn - reciprocal altruism avec kapelica gallery \ student organizatie of the univ. of ljubljana - http://www.kapelica.org/ nn - digital_is_not_analog - real-time.snail.traces + http://www.eusocial.com/nnnnnnnn/dina nn - ultra.violet.beez.tanz http://www.eusocial.com/nnnnnnnn/beez.tanz/ nn - article for spielart [zmakc] `theater etcetera` publication http://www.membank.org/inter.body nn - salon magazine + net-flyer magazine are traveling to .eu to interview mememememememememememe - http://www.net-flyer.com/ nn - 242.koelenterate has been selekted for esf short film festival http://www.m9ndfukc.org/data/filmz/242.koelenterate.mov nn - Centre international d'art contemporain de Montréal (CIAC) will feature mememememememememememe in the next issue http://www.ciac.ca/magazine - http://www.eusocial.com/juzt/memememememe nn - Art + Gender Theory www transcript [later in the week] http://www.eusocial.com/nnnnnnnn/cccp ds! - http://www.digitalsistersindeed.org at venice biennale - http://www.labiennaledivenezia.net/ nn - kome meLTtt+ m! !sz dresz at - http://sonar.es http://www.eusocial.com/nnnnnnnn/!sz.sch!vrz nn + mez article by beatrice beaubien - http://www.eusocial.com/nnnnnnnn/leak!ng.!ntegerz nn - siggraph CAA doc http://membank.org/dataset/f/sig.jpg 1001 ventuze /_/ / \ \/ i should like to be a human plant \/ __ __/ i will shed leaves in the shade \_\ because i like stepping on bugs *--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-- Netochka Nezvanova nezvanova@eusocial.com http://www.eusocial.com http://www.biohakc.com http://www.ggttctttat.com/! I am not Greta Garbo!!! http://steim.nl/leaves/petalz *--*--*--*--*--*--*--*--*--*--*--*--*-- --*--*--*--*--*--*-- ------------------------------ Date: Mon, 28 May 2001 09:35:51 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: NumberView Hi James, Below is a slight refinement of the NumberView hack. Now, it displays the string being typed in in grey and then displays the value the control is actually set to (after hitting the enter key) in black. RJK NumberView : ControlView { var <>value, <>inputString; *new { arg pen, bounds, control, margin, layoutSize; ^super.new(pen, bounds, control, margin, layoutSize) .inputString_(String.new) } layout { arg argBounds; this.bounds = argBounds; } draw { value = control.getMapped(value); if(inputString.size == 0, {pen.use({ value.asString.drawLeftJustIn(bounds) }) }, {pen.use({ Pen.foreColor = Color.grey; inputString.drawLeftJustIn(bounds) }); } ); } respond { inputString = String.new; } keyDown { arg char, event; var color; if (char.ascii != 3, { inputString = inputString ++ char; }, { control.setMapped( control.spec.constrain(inputString.asFloat) ); inputString = String.new; } ); } } ------------------------------ End of sc-users-digest V1 #296 ******************************