From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #320 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 Wednesday, July 11 2001 Volume 01 : Number 320 ---------------------------------------------------------------------- Date: Tue, 10 Jul 2001 01:43:38 +0200 From: "Scott Wilson" <---@---.---> Subject: Re: .sched? > A synth's scheduling queue only lasts as long as the synth does, so if you > want to schedule something at a certain time you must do it in a synth that > exists at that time. So to schedule a next event after some event then you > need to have a synth that encloses them. If you need separate tempo streams > then you will need a synth per stream. I understand all this, and believe I have taken it into account. The synth is still existing at the time the .sched is evaluated since the code is designed such that the synth will not release until after the next event is called. In fact if I adjust the code to check I can still hear the event. As I wrote, this is only a problem when this event is not the first one. If it is the first one, then it works fine, with exactly the same code, and levels of spawning. If it isn't the first one, then the .sched gets evaluated immediately. This is what confuses me. It seems as if the tempo is initially very high for some reason, but as I wrote before it doesn't matter if I comment out the tempo related lines of code. The problem seems to be scheduling with the local synth if it's not the first event spawned. So not that it doesn't get evaluated, but that it gets evaluated (seemingly) right away. > Is the TSpawn supposed to be triggering an entire series of events with an > independant tempo stream? If so then you do need one more level of spawning. No, this event alone (let's call it A) has an independant tempo stream, but the next event needs to be spawned at a certain point in the progression of event A. The next event is in the master tempo stream again. I can't adjust the tempo of the master Synth, since this will affect things that are already happening, and I don't want to do that. I'll try another level of spawning though. Thanks, S. ------------------------------ Date: Mon, 09 Jul 2001 21:07:32 -0500 From: James McCartney <---@---.---> Subject: Re: .sched? Can you make a complete small example that exhibits the problem? I can't figure out what you are doing with the Routine.. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 09:01:40 +0000 From: Jem Finer <---@---.---> Subject: routing out I'm assuming no one has tried a MOTU 828 - but this question remains : In the same way that one can route audio in - AudioIn.ar([1,2]) or AudioIn.ar([5,6]) for example - How does one route AudioOut to different channels ? thanks Jem ------------------------------ Date: Tue, 10 Jul 2001 10:35:13 +0100 From: Andy Wilson <---@---.---> Subject: London SC Day - correct address whoops, the address should have read; Time : 2pm - late Saturday 14th July Place : Public Life http://www.publiclife.org Commercial ST Shoreditch London http://www.streetmap.co.uk/streetmap.dll?G2M?X=533750&Y=181750&A=Y&Z=1 ie. it's Commercial Street not Commercial Rd (which is just around the corner) - -- { andy wilson << managing director << LShift << www.lshift.net } { www.andyw.com && www.faust-pages.com && www.directorxml.com } ------------------------------ Date: Tue, 10 Jul 2001 13:02:01 +0200 From: Scott Wilson <---@---.---> Subject: Re: .sched? on 7/10/01 4:07 AM, James McCartney at asynth@io.com wrote: > Can you make a complete small example that exhibits the problem? > I can't figure out what you are doing with the Routine.. This demonstrates it, works fine the first time, not the second and thereafter. Synth.play({ arg masterSynth; Spawn.ar({ arg spawn, i, synth; synth.sched(1, { "Should be one second after event spawned".postln; }); FSinOsc.ar(100 + 300.0.rand, 0.1); }, 1, 3) }); Actually, this does the same thing. Synth.play({ arg masterSynth; Spawn.ar({ arg spawn, i, synth; masterSynth.sched(1, { "Should be one second after event spawned".postln; }); FSinOsc.ar(100 + 300.0.rand, 0.1); }, 1, 3) }); .tsched works fine in both cases. S. ------------------------------ Date: Fri, 06 Jul 2001 14:40:32 -0600 From: "David Cottle" <---@---.---> Subject: New versions of CAC Hi, I've just added a new version for Computer Assisted Composition. This text deals less with synthesis and more with computer music topics. I've added chapters on file management and soundfile manipulation (concrete). They are on the swiki: http://swiki.hfbk.uni-hamburg.de:8080/MusicTechnology/19 ------------------------------ Date: Fri, 06 Jul 2001 14:40:32 -0600 From: "David Cottle" <---@---.---> Subject: New versions of CAC Hi, I've just added a new version for Computer Assisted Composition. This text deals less with synthesis and more with computer music topics. I've added chapters on file management and soundfile manipulation (concrete). They are on the swiki: http://swiki.hfbk.uni-hamburg.de:8080/MusicTechnology/19 ------------------------------ Date: Tue, 10 Jul 2001 09:19:31 -0500 From: James McCartney <---@---.---> Subject: Re: mysteries of the MOTU 828 driver on 7/9/01 9:51 AM, Jem Finer at jemfiner@waitrose.com wrote: > hardwareSetup { > super.hardwareSetup; > false.trace; > > if (Synth.hardwareName == 'MOTU 828', { > Synth.setOutputRouting([9,10,11,12,13,14,15,16]); > Synth.setInputRouting([ 9,10,11,12,13,14,15,16]); > },{ > Synth.normalRouting; > }); > > > BUT what happens is that channel 1 out of SC seems to end up on all 8 optical > channels. Even running a mono patch still outputs on all 8 optical channels. > > > > Am I writing the routing code wrong ? > Yes, you have the output mapping inverted. The slots in the output routing array represent the hardware channels. The index you supply tells it which software channel to stuff into that output. This way, one software channel can go out multiple outputs. So your array should look like this: Synth.setOutputRouting([1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8]); The slots in the input routing array represent the software input channels. The index you supply tells it which hardware channel to stuff into that input. This allows one hardware channel to go to multiple software inputs. Your code for the input routing is correct. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 09:23:55 -0500 From: James McCartney <---@---.---> Subject: Re: routing out on 7/10/01 4:01 AM, Jem Finer at jemfiner@waitrose.com wrote: > I'm assuming no one has tried a MOTU 828 - but this question remains : > > In the same way that one can route audio in - AudioIn.ar([1,2]) or > AudioIn.ar([5,6]) for example - > > How does one route AudioOut to different channels ? > > > thanks > > > Jem > mysynth.channelOffset = channel; The synth's outputs will be put onto a contiguous set of channels beginning at the offset. The default channel offset is zero, meaning that the synth's first channel goes onto the output's first channel. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 09:50:11 -0500 From: James McCartney <---@---.---> Subject: Re: .sched? on 7/10/01 6:02 AM, Scott Wilson at sdwilson@mail.wesleyan.edu wrote: > Synth.play({ arg masterSynth; > Spawn.ar({ arg spawn, i, synth; > > synth.sched(1, { "Should be one second after event spawned".postln; }); > FSinOsc.ar(100 + 300.0.rand, 0.1); > }, 1, 3) > }); Yes, looks like a bug. Scheduling something at time zero makes it work for this case. Synth.play({ arg masterSynth; Spawn.ar({ arg spawn, i, synth; "spawn".postln; synth.sched(0, {}); synth.sched(1, { "Should be one second after event spawned".postln; }); FSinOsc.ar(100 + 300.0.rand, 0.1); }, 1, 3) }); - -- The problem that causes the bug is that when a patch is being constructed it is not connected to a parent synth and has no tempo base. This is one reason why in SC3 tempo bases are not inherited. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 10:49:28 -0500 From: "t. krakowiak" <---@---.---> Subject: arg i ? i meant to ask this for some time now, i keep seeing "i" in arg declaration, what and why is that? > Synth.play({ arg masterSynth; > Spawn.ar({ arg spawn, i, synth; > > synth.sched(1, { "Should be one second after event spawned".postln; }); > FSinOsc.ar(100 + 300.0.rand, 0.1); > }, 1, 3) > }); ------------------------------ Date: Tue, 10 Jul 2001 10:11:08 -0500 From: James McCartney <---@---.---> Subject: Re: arg i ? on 7/10/01 10:49 AM, t. krakowiak at krakowiak@sympatico.ca wrote: > i meant to ask this for some time now, > > i keep seeing "i" in arg declaration, what and why is that? > >> Synth.play({ arg masterSynth; >> Spawn.ar({ arg spawn, i, synth; >> >> synth.sched(1, { "Should be one second after event > spawned".postln; }); >> FSinOsc.ar(100 + 300.0.rand, 0.1); >> }, 1, 3) >> }); > > > Three variables are passed to the ugen function. the spawn, the event count, the synth. You can name them anything you like. "i" just happens to be a common name for a counter variable. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 16:30:10 +0100 From: "Fabrice Mogini" <---@---.---> Subject: Message for Ben > 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_3077627410_458100_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit I couldn't get Ben's private email address to work so I apologize if this message doesn't concern you all on the SC list! Hi ben, I met you in Norwich (Hy-brids/SC activities) last saturday. I was wandering if I could possibly use your laptop on the London SC day? - ->I will play in the evening with Nick Collins (one track each in a row...) so we need two computers to get crossfades between each other (Andy Wilson does not know if there will be any spare computer...) By the way, I enjoyed your CD! Cheers Fabrice Mogini - --MS_Mac_OE_3077627410_458100_MIME_Part Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable Message for Ben I couldn't get Ben's private email address to work
so I apologize if this message doesn't concern you all on the SC list!

Hi ben,

I met you in Norwich (Hy-brids/SC activities) last saturday.
I was wandering if I could possibly use your laptop on the London SC day? - ->I will play  in the evening with Nick Collins (one track each in = a row...)
    so we need two computers to get crossfades between = each other (Andy
    Wilson does not know if there will be any spare com= puter...)


By the way, I enjoyed your CD!
Cheers
    Fabrice Mogini
- --MS_Mac_OE_3077627410_458100_MIME_Part-- ------------------------------ Date: Tue, 10 Jul 2001 09:33:17 -0600 From: "David Cottle" <---@---.---> Subject: Re: arg i ? > i meant to ask this for some time now, > > i keep seeing "i" in arg declaration, what and why is that? > >> Synth.play({ arg masterSynth; >> Spawn.ar({ arg spawn, i, synth; This confused me too at first. I didn't know you could name them anything. Sometimes, if I understand correctly, you have to name them even though you don't use them, just for place holders. A similar example is in a do: a = [11, 22, 33, 44]; a.do({arg each, count; each.postln; count.postln;}) a = [11, 22, 33, 44]; a.do({arg z, i; z.postln; i.postln;}) ------------------------------ Date: Tue, 10 Jul 2001 11:28:23 -0500 From: "t. krakowiak" <---@---.---> Subject: Re: arg i ? thanks, but i don't see it being used though. i'm sorry if i'm asking stupid questions. - ----- Original Message ----- From: "James McCartney" <---@---.---> To: Sent: Tuesday, July 10, 2001 10:11 AM Subject: Re: arg i ? > on 7/10/01 10:49 AM, t. krakowiak at krakowiak@sympatico.ca wrote: > > > i meant to ask this for some time now, > > > > i keep seeing "i" in arg declaration, what and why is that? > > > >> Synth.play({ arg masterSynth; > >> Spawn.ar({ arg spawn, i, synth; > >> > >> synth.sched(1, { "Should be one second after event > > spawned".postln; }); > >> FSinOsc.ar(100 + 300.0.rand, 0.1); > >> }, 1, 3) > >> }); > > > > > > > Three variables are passed to the ugen function. the spawn, the event count, > the synth. You can name them anything you like. "i" just happens to be a > common name for a counter variable. > > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > ------------------------------ Date: Tue, 10 Jul 2001 11:56:29 -0500 From: "t. krakowiak" <---@---.---> Subject: Re: arg i ? Thanks David! i enjoy Your books, they're helping me a lot. - ----- Original Message ----- From: "David Cottle" <---@---.---> To: Sent: Tuesday, July 10, 2001 10:33 AM Subject: Re: arg i ? > > i meant to ask this for some time now, > > > > i keep seeing "i" in arg declaration, what and why is that? > > > >> Synth.play({ arg masterSynth; > >> Spawn.ar({ arg spawn, i, synth; > > This confused me too at first. I didn't know you could name them anything. > Sometimes, if I understand correctly, you have to name them even though you > don't use them, just for place holders. A similar example is in a do: > > a = [11, 22, 33, 44]; > a.do({arg each, count; each.postln; count.postln;}) > > a = [11, 22, 33, 44]; > a.do({arg z, i; z.postln; i.postln;}) > > > ------------------------------ Date: Tue, 10 Jul 2001 19:21:41 +0100 From: "Fabrice Mogini" <---@---.---> Subject: > 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_3077637701_1077061_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit I want to transform some data written in SC (mostly durations in seconds and pitch in midinotes) to data that I can enter in FINALE, a score-editing software. A midinote such as: [60] in SC will be written: [c4] in FINALE If I had four basic durations (in seconds) such as: [2, 1, 0.5, 0.25, 0.125] in SC It will be: [4, 5, 6, 7, 8] in FINALE. It would be handy to use a Dictionnary or IdentityDictionnary... From what I understood, keys are associated to number values. what I want to do exactly the contrary with notes (associate midi values to letters) and something slightly different again for durations (associate numbers to new numbers). Does anyone have some explanations about Dictionnary and IdentityDictionnary? Cheers Fabrice - --MS_Mac_OE_3077637701_1077061_MIME_Part Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable <no subject> I want to transform some data written in SC
(mostly durations in seconds and pitch in midinotes)
to data that I can enter in FINALE, a score-editing software.

A midinote such as:
 [60] in SC
will be written:
 [c4] in FINALE

If I had four basic durations (in seconds) such as:
 [2, 1, 0.5, 0.25, 0.125] in SC
It will be:
 [4, 5, 6, 7, 8] in FINALE.

It would be handy to use a Dictionnary or IdentityDictionnary...
From what I understood, keys are associated to number values.<---@---.---> what I want to do exactly the contrary with notes (associate midi values to= letters)
and something slightly different again for durations (associate numbers to new numbers).

Does anyone have some explanations about Dictionnary and IdentityDictionnar= y?
Cheers
 Fabrice
- --MS_Mac_OE_3077637701_1077061_MIME_Part-- ------------------------------ Date: Tue, 10 Jul 2001 12:34:22 -0600 From: David Cottle <---@---.---> Subject: NIFF > I want to transform some data written in SC > (mostly durations in seconds and pitch in midinotes) > to data that I can enter in FINALE, a score-editing software. Which raises the question, any chance that SC would support NIFF as well as MIDI? Long shot, I know, but it would complete the circuit of idea in my head to printed page all with one program. ------------------------------ Date: Tue, 10 Jul 2001 13:36:03 -0500 From: James McCartney <---@---.---> Subject: Re: on 7/10/01 1:21 PM, Fabrice Mogini at fabrice.mogini@virgin.net wrote: > It would be handy to use a Dictionnary or IdentityDictionnary... >> From what I understood, keys are associated to number values. > what I want to do exactly the contrary with notes (associate midi values to > letters) > and something slightly different again for durations (associate numbers > to new numbers). A Dictionary can associate anything to anything. d = Dictionary[ 1 -> "yi", "abc" -> 'def', pi -> "apple", "beer" -> 99, Point(2,3) -> rgb(128,128,64)]; d.at(pi).postln; d.at("beer").postln; d.at(1).postln; d.at(Point(2,3)).postln; d.at("abc").postln; - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 19:03:08 -0400 From: christian adam hresko <---@---.---> Subject: Re: arg i ? David Cottle wrote: > > i meant to ask this for some time now, > > > > i keep seeing "i" in arg declaration, what and why is that? > > > >> Synth.play({ arg masterSynth; > >> Spawn.ar({ arg spawn, i, synth; > > This confused me too at first. I didn't know you could name them anything. > Sometimes, if I understand correctly, you have to name them even though you > don't use them, just for place holders. A similar example is in a do: > > a = [11, 22, 33, 44]; > a.do({arg each, count; each.postln; count.postln;}) actually, you are using both arguments in this function. the first argument is the value of that which is in the current index, the second argument is just a variable starting at 0 which gets incremented by 1 each time you step through the loop. each = 11 count = 0 each = 22 count = 1 each = 33 count = 2 each = 44 count = 3 the following produces the same values for (arg) each, but a different value for count. each and count are not affecting one another: a = [11, 22, 33, 44]; a.do({ arg each, count; each. postln; (count + 1).postln; }); if you just want the values of the array, you could just code: a = [11, 22, 33, 44]; a.do({ arg each; each.postln; }); producing: 11 22 33 44 the letter i is conventional notation. i believe its history resides in the word increment. the same code, in C++ would look something like: int a [4] = {11, 22, 33, 44}; for(int i = 0; i <= 3; i++) cout << a[i] << endl; as you can see, james took out some of the 'dirty work' so you could spend more time on creating music/sound. (and less time worrying about syntax and syntactical errors...) if you want to see the value of i as well (which in this case IS the value of the current index) you would have something like: int a[4] = {11, 22, 33, 44}; for(int i = 0; i <= 3; i++) { cout << a[i] << endl; cout << i << endl; } i realize many people want to avoid programming so to speak, but it's nice to see where all this stuff is coming from. (or from a different perspective at least...) cheers, christian ------------------------------ Date: Tue, 10 Jul 2001 19:30:37 -0400 From: christian adam hresko <---@---.---> Subject: Re: .sr James McCartney wrote: > > > > and the spectral buffer is??? > > the buffer for the FFT. fftsize = number of frequency bins. > The FFT buffer is usually larger than the audio buffer, hence a separate > calculation rate. > > are there any examples using something.sr? i understand FFTs, IFFTs, lookup tables, etc, etc... i'm just wondering when you would use (or need) sr. (or an audio rate to spectral rate conversion) maybe something like a spectral delay??? thanks mr. james and mr. arie. cheers, christian ------------------------------ Date: Tue, 10 Jul 2001 18:55:54 -0600 From: David Cottle <---@---.---> Subject: Re: arg i ? > > > David Cottle wrote: > >>> i meant to ask this for some time now, >>> >>> i keep seeing "i" in arg declaration, what and why is that? >>> >>>> Synth.play({ arg masterSynth; >>>> Spawn.ar({ arg spawn, i, synth; >> >> This confused me too at first. I didn't know you could name them anything. >> Sometimes, if I understand correctly, you have to name them even though you >> don't use them, just for place holders. A similar example is in a do: >> >> a = [11, 22, 33, 44]; >> a.do({arg each, count; each.postln; count.postln;}) > > actually, you are using both arguments in this function. Right. To illustrate naming but not using, I should have said: a.do({arg each, count; count.postln;}) ------------------------------ Date: Tue, 10 Jul 2001 21:02:29 -0400 From: christian adam hresko <---@---.---> Subject: Re: arg i ? David Cottle wrote: > > > > > > David Cottle wrote: > > > >>> i meant to ask this for some time now, > >>> > >>> i keep seeing "i" in arg declaration, what and why is that? > >>> > >>>> Synth.play({ arg masterSynth; > >>>> Spawn.ar({ arg spawn, i, synth; > >> > >> This confused me too at first. I didn't know you could name them anything. > >> Sometimes, if I understand correctly, you have to name them even though you > >> don't use them, just for place holders. A similar example is in a do: > >> > >> a = [11, 22, 33, 44]; > >> a.do({arg each, count; each.postln; count.postln;}) > > > > actually, you are using both arguments in this function. > > Right. To illustrate naming but not using, I should have said: > > a.do({arg each, count; count.postln;}) i'm curious as to when you've had to use an argument as a 'place holder.' this doesn't seem correct. (but correct me if i'm wrong...) an example perhaps? or did you mean that you could simply declare a whole bunch of arguments (or variables) and simply not use them? in that case, you're not really using them as place holders. you're simply not using them at all. it might be better to not do this. cheers, christian ------------------------------ Date: Tue, 10 Jul 2001 21:11:14 -0500 From: James McCartney <---@---.---> Subject: Re: arg i ? on 7/10/01 8:02 PM, christian adam hresko at godpup@ix.netcom.com wrote: > or did you mean that you could simply declare a whole bunch of arguments (or > variables) and simply not use them? in that case, you're not really using > them > as place holders. you're simply not using them at all. it might be better to > not do this. You misunderstand I think. In the case of places where you provide a function to be called by the system, you are passed a certain number of arguments in a certain order. You have no control over the number of arguments or the order. That is defined by the code calling you. If you want to get access to the third argument for example but do not care about the first two, you have to declare three arguments. The names can be anything but the fact that you are getting passed three arguments: the spawn, the event count, and the synth, is not under your control by declaring the argument list. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 10 Jul 2001 20:30:59 -0600 From: David Cottle <---@---.---> Subject: Re: arg i ? > on 7/10/01 8:02 PM, christian adam hresko at godpup@ix.netcom.com wrote: > >> or did you mean that you could simply declare a whole bunch of arguments (or >> variables) and simply not use them? in that case, you're not really using >> them >> as place holders. you're simply not using them at all. it might be better >> to >> not do this. > > You misunderstand I think. [...] > about the first two, you have to declare three arguments. The names can be > anything but the fact that you are getting passed three arguments: the > spawn, the event count, and the synth, is not under your control by > declaring the argument list. And the only way to get to e.g., event count, is to declare spawn, then count. Even if you don't use spawn, even though you name them anything you want. For example: [10, 20, 30].do({arg count; count.postln;}) will not post the count, but the items in the array. [10, 20, 30].do({arg placeholder, count; count.postln;}) will post the count, not the items. If, for whatever reason, I want to use count but not the items in the array, I have to declare the first argument as a placeholder. ------------------------------ Date: Tue, 10 Jul 2001 23:18:17 -0400 From: christian adam hresko <---@---.---> Subject: Re: arg i ? James McCartney wrote: > on 7/10/01 8:02 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > or did you mean that you could simply declare a whole bunch of arguments (or > > variables) and simply not use them? in that case, you're not really using > > them > > as place holders. you're simply not using them at all. it might be better to > > not do this. > > You misunderstand I think. > In the case of places where you provide a function to be called by the > system, you are passed a certain number of arguments in a certain order. You > have no control over the number of arguments or the order. That is defined > by the code calling you. > If you want to get access to the third argument for example but do not care > about the first two, you have to declare three arguments. The names can be > anything but the fact that you are getting passed three arguments: the > spawn, the event count, and the synth, is not under your control by > declaring the argument list. > oh, yes of course. but they're not really place holders per se. those are arguments. you have no control over the argument list of a function that someone else wrote. (at least on the interface level...) i guess what we're really talking about is function definitions, argument passing and argument type checking. i thought david was talking about something else. sorry about that david. cheers, christian ------------------------------ Date: Tue, 10 Jul 2001 23:03:35 -0500 From: James McCartney <---@---.---> Subject: Re: arg i ? on 7/10/01 10:18 PM, christian adam hresko at godpup@ix.netcom.com wrote: > oh, yes of course. but they're not really place holders per se. uhh, yes they are.. Definition of: per se In itself; for its own sake. http://www.sacklunch.net/Latin/P/perse.html If you are not using the argument for anything else it *is* a placeholder "for its own sake". > those are arguments. you have no control over the argument list of a function > that > someone else wrote. (at least on the interface level...) It is the caller that someone else wrote, not the function. > i guess what we're really talking about is function definitions, argument > passing > and argument type checking. there is no type checking. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 11 Jul 2001 00:34:17 -0400 From: christian adam hresko <---@---.---> Subject: Re: arg i ? James McCartney wrote: > on 7/10/01 10:18 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > oh, yes of course. but they're not really place holders per se. > > uhh, yes they are.. > > Definition of: per se > In itself; for its own sake. > http://www.sacklunch.net/Latin/P/perse.html > > If you are not using the argument for anything else it *is* a placeholder > "for its own sake". damnit. i give up. wait, no i don't. i think the word placeholder is misleading. the function argument 'list' is the functions' signature. you wouldn't call it the functions' placeholder(s). the placeholder(s) of function so and so is... no, that just doesn't sound right. and you better not find a website, which in some perverse way, manages to define signature as "A Placeholder." > > > > those are arguments. you have no control over the argument list of a function > > that > > someone else wrote. (at least on the interface level...) > > It is the caller that someone else wrote, not the function. you know what i mean. A boss (the calling function or caller) asks a worker (the called function) to perform a task and return (i.e. report back) the results when the task is done. man, now i know what it feels like to have an older brother... > > > > i guess what we're really talking about is function definitions, argument > > passing > > and argument type checking. > > there is no type checking. > well, two out three isn't bad. but there should be type checking. i wish my mom was here. she'd back me up. cheers, christian ------------------------------ Date: Wed, 11 Jul 2001 11:09:52 +0100 From: Joanna mayes <---@---.---> Subject: Multichannel out Hi all, Does anyone have any cheaper solutions for multichannel out from a G3 333 powerbook (SCSSI & USB) than the new firewire MOTU? What has everyone been using before this? Any ideas gratefully received. Cheers Jo Dartington College of Arts, Devon, England! PS great to meet some of you at the Norwich conference and thanks for sharing your ideas ------------------------------ Date: Wed, 11 Jul 2001 10:45:05 +0000 From: Jem Finer <---@---.---> Subject: Re: Multichannel out on 11/7/01 10:09, Joanna mayes at joannamayes@onetel.net.uk wrote: > Hi all, > Does anyone have any cheaper solutions for multichannel out from a G3 333 > powerbook (SCSSI & USB) than the new firewire MOTU? What has everyone been > using before this? > > Any ideas gratefully received. > > Cheers > Jo > Dartington College of Arts, Devon, England! > > PS great to meet some of you at the Norwich conference and thanks for > sharing your ideas > > I got my MOTU 828 from Germany - Thomman - a lot cheaper than in the UK ------------------------------ Date: Wed, 11 Jul 2001 12:24:21 +0100 From: Joanna mayes <---@---.---> Subject: Re: Multichannel out A feel a Berlin trip coming on. Thanks Jem. By the way, I really like the flasher patch - only thing is that it crashes SC (3) when it's finished and turns off my control strip...answers on a postcard please... Cheers Jo > From: Jem Finer <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Wed, 11 Jul 2001 10:45:05 +0000 > To: > Subject: Re: Multichannel out > > on 11/7/01 10:09, Joanna mayes at joannamayes@onetel.net.uk wrote: > >> Hi all, >> Does anyone have any cheaper solutions for multichannel out from a G3 333 >> powerbook (SCSSI & USB) than the new firewire MOTU? What has everyone been >> using before this? >> >> Any ideas gratefully received. >> >> Cheers >> Jo >> Dartington College of Arts, Devon, England! >> >> PS great to meet some of you at the Norwich conference and thanks for >> sharing your ideas >> >> > > > I got my MOTU 828 from Germany - Thomman - a lot cheaper than in the UK > ------------------------------ Date: Mon, 09 Jul 2001 17:39:55 +0200 From: John Eacott <---@---.---> Subject: Re: London SC Day Hi Andy, Ben and I will be there by 1.30pm. Looking forward to it! John. Andy Wilson wrote: > Just a quick reminder that the London Supercollider day is this Saturday > > Time : 2pm - late Saturday 14th July > Place : Public Life > http://www.publiclife.org > Commercial Rd > Shoreditch > London > > StreetMap: > > http://www.streetmap.co.uk/streetmap.dll?G2M?X=533750&Y=181750&A=Y&Z=1 > nearest tube : Liverpool St or Whitechapel > > nb. public life is by the entrance to Hawksmoors Spitalfields Church, right > by the market. > > Can I ask that speakers try to get there at least half an hour early to set > up, etc. > > Note that the venue will be open until late - see their site for details - > so it will be easy enough to hang around after the event to chat, etc. there > may even be the possibility of playing after the main events have finished. > If in doubt, bring your mac..... > > Free Admission > > Agenda > > John Eacott : "Movement - Fluid, Beat-based Music" > Nick Collins : "Algorithmic Composition Methods for > Breakbeat Science" > Jem Finer : "One Finger Music and the Terror of Infinity" > Ben Milstein : "Why generative dance music?" > Matt Rogalsky : "On Radio Silence..." > Bourbonese Qualk : "On Certainty" > > Please pass this on to others and encourage them to turn up on the day. > -- > { andy wilson << managing director << LShift << www.lshift.net } > { www.andyw.com && www.faust-pages.com && www.directorxml.com } - -- John Eacott www.informal.org www.strangeattraction.com tel. +44 (0) 20 7582 3429 ------------------------------ Date: Wed, 11 Jul 2001 12:27:01 +0000 From: Haraldur Karlsson <---@---.---> Subject: Re: Multichannel out On 11.7.2001 10:09, "Joanna mayes" wrote: > Hi all, > Does anyone have any cheaper solutions for multichannel out from a G3 333 > powerbook (SCSSI & USB) than the new firewire MOTU? What has everyone been > using before this? > > Any ideas gratefully received. > > Cheers > Jo > Dartington College of Arts, Devon, England! > > PS great to meet some of you at the Norwich conference and thanks for > sharing your ideas > > Try those links: ------------------------------ Date: Wed, 11 Jul 2001 07:37:58 -0500 From: James McCartney <---@---.---> Subject: Fwd bounce: Re: Multichannel out > From: rkuivila@wesleyan.edu > To: > Subject: Re: Multichannel out Hi Jo, RME is about to release a PCMCIA card interface to half rack with 8 channels of audio IO, a MIDI interface, and lightpipe expansion. They claim very low latency, unlike the 828. Not any cheaper, but low latency is very important for audio processing and USB MIDI is often problematic. The description can be found at www.rme-audio.de RJK ------------------------------ Date: Wed, 11 Jul 2001 14:32:34 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: Dictionnary Thanks for the tip it will save me hours of work! Fabrice ( //My Dictionnary: SC-> Finale var results, midinotes, durations, dict, calculations; midinotes = [64,62,62,60,62,64]; durations = [1,0.5,2,0.5,0.5]; dict = Dictionary[ 60 -> "c4", 62 -> "d4", 64 -> "e4", 2 -> 4, 1 -> 5, 0.5 -> 6 ]; calculations = Array.fill(midinotes.size,{arg i; [dict.at(durations.at(i))] ++ [dict.at(midinotes.at(i))] });results = calculations; results.postln; midinotes.size.postln; midinotes.size.postln; ) //////////////////////////////////////////////////////////// - ---------- >From: James McCartney <---@---.---> >To: >Subject: Re: >Date: Tue, Jul 10, 2001, 7:36 pm > > on 7/10/01 1:21 PM, Fabrice Mogini at fabrice.mogini@virgin.net wrote: > >> It would be handy to use a Dictionnary or IdentityDictionnary... >>> From what I understood, keys are associated to number values. >> what I want to do exactly the contrary with notes (associate midi values to >> letters) >> and something slightly different again for durations (associate numbers >> to new numbers). > > > A Dictionary can associate anything to anything. > > d = Dictionary[ 1 -> "yi", "abc" -> 'def', pi -> "apple", "beer" -> 99, > Point(2,3) -> rgb(128,128,64)]; > > d.at(pi).postln; > d.at("beer").postln; > d.at(1).postln; > d.at(Point(2,3)).postln; > d.at("abc").postln; > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > ------------------------------ Date: Wed, 11 Jul 2001 09:26:26 -0500 From: James McCartney <---@---.---> Subject: Re: Dictionnary on 7/11/01 8:32 AM, fabrice mogini at fabrice.mogini@virgin.net wrote: > 64 -> "e4", > 2 -> 4, You might want to use a separate dictionary for the notes and the durations just to cleanly separate them. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Wed, 11 Jul 2001 16:17:26 +0100 From: Joanna mayes <---@---.---> Subject: Re: Multichannel out Wow - looks great, but a bit of an ouch on the price tag.. what do people think of the (half the price) new E-magic 2/6 USB (with "latency free hardware monitoring") which Haraldur mentions. Thanks for the link Harulder. Are there any pre-USB solutions which I could look for on the second-hand market, which might perform well? Cheers Jo > From: James McCartney <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Wed, 11 Jul 2001 07:37:58 -0500 > To: sc-users > Subject: Fwd bounce: Re: Multichannel out > > >> From: rkuivila@wesleyan.edu >> To: >> Subject: Re: Multichannel out > > Hi Jo, > > RME is about to release a PCMCIA card interface to half rack with 8 channels > of > audio IO, a MIDI interface, and lightpipe expansion. They claim very low > latency, unlike the 828. Not any cheaper, but low latency is very important > for > audio processing and USB MIDI is often problematic. The description can > be found at www.rme-audio.de > > RJK > > ------------------------------ End of sc-users-digest V1 #320 ******************************