From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #324 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 Tuesday, July 17 2001 Volume 01 : Number 324 ---------------------------------------------------------------------- Date: Mon, 16 Jul 2001 14:05:11 EDT From: JoJoBuBu@aol.com Subject: Re: No audio in - time for action - --part1_11e.1b8a1e0.288486d7_boundary Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit In a message dated 7/16/2001 5:06:36 AM Eastern Daylight Time, jemfiner@waitrose.com writes: > Are there enough audio in addicts in the world to persuade apple to > reintroduce them in the next batch of G4 laptops . . . I'm writing to my > friends at apple . . . maybe its worth bombarding them, petition, street > riots . . . > > > If you were to, in all seriousness, get a petition going, I would sign it and I'm sure a bunch of others would as well. Not sure about the street riots hehe. Andy - --part1_11e.1b8a1e0.288486d7_boundary Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: 7bit In a message dated 7/16/2001 5:06:36 AM Eastern Daylight Time,
jemfiner@waitrose.com writes:


Are there enough audio in addicts in the world to persuade apple to
reintroduce them in the next batch of G4 laptops . . . I'm writing to my
friends at apple . . . maybe its worth bombarding them, petition, street
riots . . .


Jem


If you were to, in all seriousness, get a petition going, I would sign it and
I'm sure a bunch of others would as well. Not sure about the street riots
hehe.

Andy
- --part1_11e.1b8a1e0.288486d7_boundary-- ------------------------------ Date: Mon, 16 Jul 2001 14:34:18 -0400 (EDT) From: jo5_h <---@---.---> Subject: Macworld Expo NYC / mLAN // christian, jo5_h, r and others who attend Mac world expo NY. are we meeting // at Expo? i've been sick w/ some kinda cold or flu for the last couple of days, which is keeping me out of work today, so i'm prolly not gonna be able to slip away from my job anytime this week to attend the Expo. :[ i'd still be interesting in meeting up w/ other SC users in the NYC area at some point, if others would be up for a little gathering. it might be the kick in the pants that i need to get me working in SC more seriously. these days, after spending all day sitting in front of a computer at work, i spend more time reading this mailing list than i spend SuperColliding when i get home at night. // "hey there's no mic in! useless!" you know, i never thought much of this until recently. i owned a Blue & White PowerMac G3, for which i had purchased first an Audiomedia III card, and then a MOTU 2408 mkII when my I/O needs increased. i read a lot of the negative feedback about the newer PowerMacs not having an audio in, but i figured most ppl would just buy some sort of third-party interface if they were doing "serious" audio work. well, these days i have a Cube and a TiBook, and i see what ppl are getting at. what i wouldn't do for a built-in audio input on both of these machines, just so i could muck around w/out having to depend on something w/ more channels, which would also take up more space (which is much more precious now that i'm crammed into an apartment in NYC w/ my gf). is anyone on this list using some sorta mLAN product w/ either a TiBook or Cube, running Mac OS 9.1 and/or X? i'm looking for a type of non-USB I/O solution that i can swap between my TiBook and Cube, and i'm a little concerned w/ the apparent CPU usage of the MOTU 828. the other option which i'm looking into at the moment is replacing my Tascam TM-D1000 mixer w/ something from Yamaha, which could interface directly w/ my Macs via a single mLAN cable, avoiding the box-in-the-middle of the MOTU unit. if anyone's got any experience w/ this sorta solution that they could share, i'd love to hear it. - - jo5_h beep boop muthafuckers http://braineater.net/ ------------------------------ Date: Mon, 16 Jul 2001 16:00:38 -0400 From: felix@crucial-systems.com Subject: Re: OT -mac expo NY meeting... i'm here. i have some crash space too if anyone wants. >christian, jo5_h, r and others who attend Mac world expo NY. are we meeting >at Expo? it'll be fun to check out the new G4 or whatever they have, and say >"hey there's no mic in! useless!" hehe. > >tomonori yamasaki > > _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Mon, 16 Jul 2001 17:13:35 -0400 From: christian adam hresko <---@---.---> Subject: Re: OT -mac expo NY meeting... felix@crucial-systems.com wrote: > i'm here. i have some crash space too if anyone wants. > > >christian, jo5_h, r and others who attend Mac world expo NY. are we meeting > >at Expo? it'll be fun to check out the new G4 or whatever they have, and say > >"hey there's no mic in! useless!" hehe. > > > >tomonori yamasaki > > > > > > _____(( > http://crucial-systems.com > _________________))_______ well i say we all meet up. the mac expo is from wednesday to friday, correct? i guess i could pre register tonight and get a bus ticket. i'm way behind on my SC projects though since i'm spending more time interviewing for jobby jobs. so maybe we could have: tomonori me a.k.a felix josh lee if you guys are up for it, i'd be glad to hop a ride up there and spend a few days in NYC. i'll have to go for the 'currently poor' mac expo package (270 bucks or whatever it is...) since i'm not spending a buttload to listen to steve jobs rant about the 'future' of apple. the seminars look interesting, but not 500 bucks interesting. i'll buy the book. oh yeah, i'm not nearly as pessimistic as it may seem on this list... (i'm a complete goofball actually) cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 17:59:56 -0400 From: christian adam hresko <---@---.---> Subject: plugin for example (continuing from my other email...) how does the MyLFSaw interface below MyLFSaw : UGen { *ar { arg freq = 440.0, iphase = 0.0, mul = 1.0, add = 0.0; ^this.multiChannelPerform('ar1', freq, iphase, mul, add) } *ar1 { arg freq = 440.0, iphase = 0.0, mul = 1.0, add = 0.0; ^super.ar1.init(freq, iphase, mul, add) } *kr { arg freq = 440.0, iphase = 0.0, mul = 1.0, add = 0.0; ^this.multiChannelPerform('kr1', freq, iphase, mul, add) } *kr1 { arg freq = 440.0, iphase = 0.0, mul = 1.0, add = 0.0; ^super.kr1.init(freq, iphase, mul, add) } } relate to the C++ class interface below class MyLFSaw : public MulAddUnit { public: MyLFSaw(World* inWorld, int inCalcRate, void* inClientData); protected: virtual void InputsChanged(); virtual void Reset(); private: void next_a(int inNumSamples); void next_k(int inNumSamples); Samp mPhase, mFreqMul; Input mIn[4]; }; since MyLFSaw inherits from MulAddUnit, we have the following protected methods in MulAddUnit private: void ChooseMulAddFunc(); // mul add functions for every occasion: void ampmix_k(int inNumSamples); void ampmix_aa(int inNumSamples); void ampmix_ak(int inNumSamples); void ampmix_ai(int inNumSamples); void ampmix_a0(int inNumSamples); void ampmix_ka(int inNumSamples); void ampmix_kk(int inNumSamples); void ampmix_ki(int inNumSamples); void ampmix_k0(int inNumSamples); void ampmix_ia(int inNumSamples); void ampmix_ik(int inNumSamples); void ampmix_ii(int inNumSamples); void ampmix_i0(int inNumSamples); void ampmix_1a(int inNumSamples); void ampmix_1k(int inNumSamples); void ampmix_1i(int inNumSamples); void ampmix_10(int inNumSamples); void ampmix_0a(int inNumSamples); void ampmix_0k(int inNumSamples); void ampmix_0i(int inNumSamples); void ampmix_00(int inNumSamples); Input *mMulAddIn; Samp mPrevMul, mPrevAdd; MulAddUnitFunc mMulAddFunc; bool mDoMulAdd; what are all these ampmix methods doing, and why are there so many of them? what is an 'occasion?' is aa audio to audio and ak is audio to control and ai is audio to something and a0 is audio to something else? i guess what i'm trying to ask is, where are the corresponding 'arguments' in C++ that relate to the freq, iphase, mul, and add arguments in SC? and where are the ar, ar1, kr, and kr1 mehtods? obviously i'm lost. (more comments with the code perhaps?) any help would be appreciated. cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 18:04:09 -0400 From: christian adam hresko <---@---.---> Subject: private, not protected since MyLFSaw inherits from MulAddUnit, we have the following protected methods in MulAddUnit... sorry, i meant private methods. which means you can ignore that whole inherits part since you can't access private member functions/methods without public functions/methods. cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 17:17:59 -0500 From: James McCartney <---@---.---> Subject: Re: plugin on 7/16/01 4:59 PM, christian adam hresko at godpup@ix.netcom.com wrote: > for example (continuing from my other email...) how does the MyLFSaw > interface below > > MyLFSaw : UGen { [...] > } > > relate to the C++ class interface below > > > class MyLFSaw : public MulAddUnit > { [...] > }; You just have inputs and outputs. You usually do not have to access the SC object from the C++ object. The exceptions are when you have some kind of data to access as for EnvGen or Sequencer. There is no example for that yet, but most normal DSP type ugens do not need this. > > since MyLFSaw inherits from MulAddUnit, we have the following protected > methods in MulAddUnit > > > private: > void ChooseMulAddFunc(); > > // mul add functions for every occasion: > void ampmix_k(int inNumSamples); [...] > > what are all these ampmix methods doing, and why are there so many of > them? what is an 'occasion?' They implement mul and add. You don't have to know about them. > > i guess what i'm trying to ask is, where are the corresponding > 'arguments' in C++ that relate to the freq, iphase, mul, and add > arguments in SC? Input mIn[4]; Which you usually access via ZIN(0), ZIN(1), ... ZIN(3) > > and where are the ar, ar1, kr, and kr1 mehtods? obviously i'm lost. > (more comments with the code perhaps?) any help would be appreciated. ar and kr methods are for creating the SC object and have nothing to do with the C++ object which does the synthesis. The SC language object has no role in the synthesis. You access the signal inputs via the ZIN macros. ZIN(0) is freq. ZIN(1) is phase, etc.. The function that does the synthesis is set by SetRunFunc. But you don't need to know many of these things if you are writing a phase vocoder ugen. Those are much simpler because they inherit most stuff and only have to override the spectral manipulation part. Have you read the ICMC paper? - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 16 Jul 2001 20:09:43 -0400 From: christian adam hresko <---@---.---> Subject: Re: plugin James McCartney wrote: > on 7/16/01 4:59 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > for example (continuing from my other email...) how does the MyLFSaw > > interface below > > > > MyLFSaw : UGen { > [...] > > } > > > > relate to the C++ class interface below > > > > > > class MyLFSaw : public MulAddUnit > > { > [...] > > }; > > You just have inputs and outputs. You usually do not have to access the SC > object from the C++ object. > The exceptions are when you have some kind of data to access as for EnvGen > or Sequencer. There is no example for that yet, but most normal DSP type > ugens do not need this. okay, i'll keep this in mind. > > > > > > since MyLFSaw inherits from MulAddUnit, we have the following protected > > methods in MulAddUnit > > > > > > private: > > void ChooseMulAddFunc(); > > > > // mul add functions for every occasion: > > void ampmix_k(int inNumSamples); > [...] > > > > what are all these ampmix methods doing, and why are there so many of > > them? what is an 'occasion?' > > They implement mul and add. You don't have to know about them. okay, that's one thing i can check off my list. i guess as you can already tell that i'm overly obsessed with things i don't have to 'worry' about... i'll put that aside for the time being. > > > > > > i guess what i'm trying to ask is, where are the corresponding > > 'arguments' in C++ that relate to the freq, iphase, mul, and add > > arguments in SC? > > Input mIn[4]; > Which you usually access via ZIN(0), ZIN(1), ... ZIN(3) ahhh... well, this makes things relatively simple. 'we' specify an array of inputs. SC takes care of the rest. > > > > > > and where are the ar, ar1, kr, and kr1 mehtods? obviously i'm lost. > > (more comments with the code perhaps?) any help would be appreciated. > > ar and kr methods are for creating the SC object and have nothing to do with > the C++ object which does the synthesis. okay then. check that one off the list as well. > > > The SC language object has no role in the synthesis. > You access the signal inputs via the ZIN macros. > ZIN(0) is freq. > ZIN(1) is phase, etc.. well this is cool. this makes much more sense now. i recall a ZOUT as well, which most likely functions the same way. (but deals with the output signal...) nice macros btw. > > > The function that does the synthesis is set by SetRunFunc. > > But you don't need to know many of these things if you are writing a phase > vocoder ugen. Those are much simpler because they inherit most stuff and > only have to override the spectral manipulation part. i'll go over all this tonight. thanks for the input. the solution seems much more elegant now. > > > Have you read the ICMC paper? no. but i will tonight. cheers, christian ------------------------------ Date: Tue, 17 Jul 2001 00:59:13 +0000 From: Jem Finer <---@---.---> Subject: literal table too big > 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_3078176353_1818271_MIME_Part Content-type: text/plain; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable error : =80 ERROR: Literal table too big. Simplify the function. Next literal was: class (034B86E0) in file 'Macintosh HD:Applications:SC2.2.10 f:DefaultLibrary:Main.sc' line 6837 char 3 : }=80); } I've got a lot of Instruments in Main.sc - too many ? Or too many variables - - or what ? What is the limit ? Jem - --MS_Mac_OE_3078176353_1818271_MIME_Part Content-type: text/html; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable literal table too big error :


=80 ERROR: Literal table too big. Simplify the function.
Next literal was:
  class  (034B86E0)
  in file 'Macintosh HD:Applications:SC2.2.10 f:DefaultLibrary:M= ain.sc'
  line 6837 char 3 :
         }=80);
     }



I've got a lot of Instruments in Main.sc - too many ? Or too many variables= - or what ?

What is the limit ?


Jem
- --MS_Mac_OE_3078176353_1818271_MIME_Part-- ------------------------------ Date: Mon, 16 Jul 2001 21:13:28 -0500 From: James McCartney <---@---.---> Subject: Re: plugin on 7/16/01 7:09 PM, christian adam hresko at godpup@ix.netcom.com wrote: > 'we' specify an array of inputs. SC takes care of the rest. You do have to call MakeInputs on it to get them set up. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 16 Jul 2001 21:25:34 -0500 From: James McCartney <---@---.---> Subject: Re: literal table too big > 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_3078163535_1755668_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit on 7/16/01 7:59 PM, Jem Finer at jemfiner@waitrose.com wrote: I've got a lot of Instruments in Main.sc - too many ? Or too many variables - - or what ? What is the limit ? Literal table items are things like constants, literal strings, literal arrays, functions. There can only be 256 per method or function block. Move things into separate methods. You could define fewer or one instrument per method. Or even better have a method in Main read the instruments as individual text files and compile them. If you have arrays of literals, mark them as such, i.e. [1, 2, 3, 4] -> #[1, 2, 3, 4] this reduces the number of literals from four to one, and it also runs faster. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. - --MS_Mac_OE_3078163535_1755668_MIME_Part Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable Re: literal table too big on 7/16/01 7:59 PM, Jem Finer at jemfiner@waitrose.com wrote:

I've got a lot of Instruments in Main.sc - too many ? Or to= o many variables - or what ?

What is the limit ?

Literal table items are things like constants, literal strings, literal arr= ays, functions.
There can only be 256 per method or function block.

Move things into separate methods. You could define fewer or one instr= ument per method.
Or even better have a method in Main read the instruments as individual
text files and compile them.

If you have arrays of literals, mark them as such,
i.e. [1, 2, 3, 4] -> #[1, 2, 3, 4]
this reduces the number of literals from four to one, and it also runs fast= er.

- --- james mccartney   james@audiosynth.com   <http:/= /www.audiosynth.com>
SuperCollider - a real time synthesis programming language for the PowerMac= .
<ftp://www.audiosynth.com/pub/updates/SC2.2.10.sea.hqx>

- --MS_Mac_OE_3078163535_1755668_MIME_Part-- ------------------------------ Date: Mon, 16 Jul 2001 22:26:04 -0400 From: christian adam hresko <---@---.---> Subject: Re: plugin James McCartney wrote: > on 7/16/01 7:09 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > 'we' specify an array of inputs. SC takes care of the rest. > > You do have to call MakeInputs on it to get them set up. > yep. i just finished reading the ICMC paper. very informative. i'll have bunches of questions as i try and implement a new UGen. i suppose the difficult part is deciding what to implement, and how to implement it. (lots of reading ahead...) i can't resist asking this question (another 'you don't need to worry about it...'), but i'm assuming the extern "C" is present because of MacOS (toolbox) pascal fragments? (SC has been completely rewritten in C++ according to you, so that would rule out the use of a C linkage convention...) thanks again for the help. cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 22:41:17 -0400 From: christian adam hresko <---@---.---> Subject: Phase Vocoder james... is part of the code for the Phase Vocoder UGens in SC3 derived from mark dolson's code? thanks. christian ------------------------------ Date: Mon, 16 Jul 2001 22:06:13 -0500 From: James McCartney <---@---.---> Subject: Re: plugin on 7/16/01 9:26 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > i can't resist asking this question (another 'you don't need to worry about > it...'), but i'm assuming the extern "C" is present because of MacOS (toolbox) > pascal fragments? (SC has been completely rewritten in C++ according to you, > so > that would rule out the use of a C linkage convention...) extern "C" is for being able to find the name of the function at runtime without C++ name mangling. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 16 Jul 2001 23:14:55 -0400 From: christian adam hresko <---@---.---> Subject: some SC3 questions sorry if these have already been answered. i'm just getting around to using SC3 more, and i have two questions. first off (and i don't know why i didn't notice this before...) command 1 is supposed to fade out, correct? if i command 2 i will get a fade, but command 1 produces a command period stop ala SC2. enclosing functions. i'm guessing all the PV examples are non-realtime (or non-realtime virtual machine) processes? why is this? cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 22:35:00 -0500 From: James McCartney <---@---.---> Subject: Re: some SC3 questions on 7/16/01 10:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > sorry if these have already been answered. > > i'm just getting around to using SC3 more, and i have two questions. > > first off (and i don't know why i didn't notice this before...) command > 1 is supposed to fade out, correct? if i command 2 i will get a fade, > but command 1 produces a command period stop ala SC2. It is a fade out. The fade time is settable in Main::fadeEndAll. > > enclosing functions. what ? > > i'm guessing all the PV examples are non-realtime (or non-realtime > virtual machine) processes? why is this? Which ones? All the examples in "PV test" are real time. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 16 Jul 2001 23:42:00 -0400 From: christian adam hresko <---@---.---> Subject: Re: some SC3 questions James McCartney wrote: > on 7/16/01 10:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > sorry if these have already been answered. > > > > i'm just getting around to using SC3 more, and i have two questions. > > > > first off (and i don't know why i didn't notice this before...) command > > 1 is supposed to fade out, correct? if i command 2 i will get a fade, > > but command 1 produces a command period stop ala SC2. > > It is a fade out. The fade time is settable in Main::fadeEndAll. there it is. thanks. > > > > > > enclosing functions. > > what ? i was referring to the enclosure of functions (i.e. code) to limit the scope of variables so that you can't pass something to the RTVM and NRTVM at the same time. so after you enclose, you .send everything to the RTVM. this leads to my question below... > > > > > > i'm guessing all the PV examples are non-realtime (or non-realtime > > virtual machine) processes? why is this? > > Which ones? All the examples in "PV test" are real time. there's an absence of the .send. i was wondering why this was so. all the examples have the # directive, but don't have a .send. cheers, christian ------------------------------ Date: Mon, 16 Jul 2001 22:58:52 -0500 From: James McCartney <---@---.---> Subject: Re: some SC3 questions on 7/16/01 10:42 PM, christian adam hresko at godpup@ix.netcom.com wrote: > there's an absence of the .send. i was wondering why this was so. all the > examples have the # directive, but don't have a .send. The send is done by the Synth.scope method. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 17 Jul 2001 00:11:13 -0400 From: christian adam hresko <---@---.---> Subject: Re: some SC3 questions James McCartney wrote: > on 7/16/01 10:42 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > there's an absence of the .send. i was wondering why this was so. all the > > examples have the # directive, but don't have a .send. > > The send is done by the Synth.scope method. > > okay, thanks. that clears that up. there's so many PV UGens i'm trying to find something useful to add to the already extensive collection. maybe a 'random' spectral hole punch. the spectral delay would be nice, but that seems like a tough first project involving plugin 'design.' although a good deal of the PV UGens have the qualities needed for this. more research. cheers, christian.caffeine(tea); ------------------------------ Date: Tue, 17 Jul 2001 00:14:33 -0400 From: christian adam hresko <---@---.---> Subject: an SC3 GUI request are we still allowed to make requests? it would be very cool (and nice) to have an x-y button/slider. a 'floating' button which coincides with both the x and y axis. just a thought. cheers, christian ------------------------------ Date: Tue, 17 Jul 2001 00:19:20 EDT From: DSPGuy@aol.com Subject: Low latency for active noise control I'm thinking about doing some active noise control work, and I'd like to use SC if possible. In many applications, this is a kind of feedback control problem in which loop delay must be very small in order to maintain stability. Is there hope? If so, what are the lowest-latency I/O devices available? What techniques are available in SC to minimize latency? Jerry ------------------------------ Date: Tue, 17 Jul 2001 00:14:39 -0500 From: James McCartney <---@---.---> Subject: Re: an SC3 GUI request on 7/16/01 11:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > it would be very cool (and nice) to have an x-y button/slider. a > 'floating' button which coincides with both the x and y axis. just a > thought. I don't know what you mean. There is a 2D slider already. In any case, all of the current UI widgets are written in SC code. There is nothing "under the hood". - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 17 Jul 2001 00:21:59 -0500 From: James McCartney <---@---.---> Subject: Re: Low latency for active noise control on 7/16/01 11:19 PM, DSPGuy@aol.com at DSPGuy@aol.com wrote: > > I'm thinking about doing some active noise control work, and I'd like to > use SC if possible. In many applications, this is a kind of feedback > control problem in which loop delay must be very small in order to > maintain stability. > > Is there hope? > > If so, what are the lowest-latency I/O devices available? > > What techniques are available in SC to minimize latency? > > Jerry > I wouldn't think any desktop computer solution would work very well for that. You'd really need to have dedicated hardware. (A photo of me using active noise cancelling headphones in an airplane : http://www.audiosynth.com/autobio/moonie.jpg ) - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 17 Jul 2001 00:42:22 -0500 From: James McCartney <---@---.---> Subject: Re: Phase Vocoder on 7/16/01 9:41 PM, christian adam hresko at godpup@ix.netcom.com wrote: > is part of the code for the Phase Vocoder UGens in SC3 derived from mark > dolson's code? No, it is my own code. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 17 Jul 2001 02:08:57 -0400 From: christian adam hresko <---@---.---> Subject: Re: an SC3 GUI request James McCartney wrote: > on 7/16/01 11:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > it would be very cool (and nice) to have an x-y button/slider. a > > 'floating' button which coincides with both the x and y axis. just a > > thought. > > I don't know what you mean. There is a 2D slider already. > > In any case, all of the current UI widgets are written in SC code. There is > nothing "under the hood". > a button-like widget which moves up/down AND left/right. cheers, christian ------------------------------ Date: Tue, 17 Jul 2001 00:08:29 -0700 From: cramakrishnan@acm.org Subject: Re: an SC3 GUI request christian adam hresko writes: > James McCartney wrote: > > on 7/16/01 11:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > > > it would be very cool (and nice) to have an x-y button/slider. a > > > 'floating' button which coincides with both the x and y axis. just a > > > thought. > > > > I don't know what you mean. There is a 2D slider already. > > a button-like widget which moves up/down AND left/right. That's exactly what the 2D slider is. ( var slider; // a raw array for holding control values. Library.put(\controlArray , FloatArray[300,300]); slider = Slider2D.new( Pen.new( action: \strokeFill, foreColor: rgb(128,128,192), backColor:rgb(128,128,192) ), layoutSize: LayoutSize(weight: 2), control: { arg x, y; (x.notNil).if({Library.put(\controlArray, 0, 300 + (100 * x))}); (y.notNil).if({Library.put(\controlArray, 1, 300 + (100 * y))}); } ); x = GUIScreen.new("Controller", Rect(50, 70, 300, 320), View(nil, [ WindowLayer(nil, [GUIWindow.new("Controller", Rect.newBy(0, 0, 220, 220), slider)])])); #{ {[ SinOsc.ar(Plug.ar(Library.at(\controlArray), 0, id: 0),0,0.2), SinOsc.ar(Plug.ar(Library.at(\controlArray), 0, id: 1),0,0.2) ]}.play }.send; ) - - sekhar - -- C. Ramakrishnan cramakrishnan@acm.org ------------------------------ Date: Tue, 17 Jul 2001 03:16:12 -0400 From: christian adam hresko <---@---.---> Subject: Re: an SC3 GUI request cramakrishnan@acm.org wrote: > christian adam hresko writes: > > James McCartney wrote: > > > on 7/16/01 11:14 PM, christian adam hresko at godpup@ix.netcom.com wrote: > > > > > > > it would be very cool (and nice) to have an x-y button/slider. a > > > > 'floating' button which coincides with both the x and y axis. just a > > > > thought. > > > > > > I don't know what you mean. There is a 2D slider already. > > > > a button-like widget which moves up/down AND left/right. > > That's exactly what the 2D slider is. > > ( > var slider; > > // a raw array for holding control values. > Library.put(\controlArray , FloatArray[300,300]); > > slider = Slider2D.new( > Pen.new( > action: \strokeFill, > foreColor: rgb(128,128,192), > backColor:rgb(128,128,192) > ), > layoutSize: LayoutSize(weight: 2), > control: { arg x, y; > (x.notNil).if({Library.put(\controlArray, 0, 300 + (100 * x))}); > (y.notNil).if({Library.put(\controlArray, 1, 300 + (100 * y))}); > } > ); > > x = GUIScreen.new("Controller", Rect(50, 70, 300, 320), View(nil, [ > WindowLayer(nil, [GUIWindow.new("Controller", Rect.newBy(0, 0, 220, > 220), slider)])])); > > #{ > {[ > SinOsc.ar(Plug.ar(Library.at(\controlArray), 0, id: 0),0,0.2), > SinOsc.ar(Plug.ar(Library.at(\controlArray), 0, id: 1),0,0.2) > ]}.play > }.send; > ) > > - sekhar > > -- > C. Ramakrishnan cramakrishnan@acm.org hey wow. i didn't know (obviously...) that you could do this. wicked. i need to catch up on my SC3 and GUI stuff in general. sorry about the redundant questions. cheers, christian ------------------------------ Date: Tue, 17 Jul 2001 03:34:59 -0400 From: christian adam hresko <---@---.---> Subject: Re: an SC3 GUI request->Pen i have a question about this snippet of code: slider = Slider2D.new( Pen.new( action: \strokeFill, where did you get strokeFill from? this produces the same thing: slider = Slider2D.new( Pen.new( action: \fill, i can't find strokeFill anywhere. thanks again. dense, christian ------------------------------ Date: Tue, 17 Jul 2001 01:28:21 -0700 From: cramakrishnan@acm.org Subject: Ringz I have a question about Ringz. I would have thought this patch would make no noise, considering the resonant freq for Ringz is above the human hearing range: ( { var patch, tweaked; patch = LFPulse.ar( 11, 1, SinOsc.ar(20) ); tweaked = Ringz.ar( patch, 32400, 3 ); Pan2.ar( // patch, tweaked, 0 ) }.play ) Am I misunderstanding what a Ringz filter does? Or is the sound caused by aliasing or some other artifict of the algorithm? - - sekhar - -- C. Ramakrishnan cramakrishnan@acm.org ------------------------------ Date: Tue, 17 Jul 2001 01:29:01 -0700 From: "C. Ramakrishnan" <---@---.---> Subject: Patches Two patches (SC2) for your listening pleasure. - - sekhar ( { var patch, harmGen, theHarms; // Create an array that defines the descrete frequencies for the Ringz harmGen = Array.series(10, 1, 0.1); theHarms = harmGen * 100; // Whoops... didn't mean to type this, but sounds neat! -- keep 1.do({arg i; theHarms = theHarms ** (100*i+2);}); patch = OverlapTexture.ar({ var theOsc; theOsc = SinOsc.ar(20, 2pi.rand, 0.2); 4.do({theOsc = SinOsc.ar(20 + 10.rand, 2pi.rand, 0.2)}); Pan2.ar( Ringz.ar( LFPulse.ar( 40.rand, 2.rand, theOsc ), theHarms.at((theHarms.size - 1).linrand), // I want this weighted to the high end 3 ), 0.5.rand2 // pan pos )}, 40, 10, 3, 2); Normalizer.ar(patch, 0.4, 0.1); }.play ) ( { var patch, harmGen, theHarms, texture, distParm; // Create an array that defines the descrete frequencies for the Ringz harmGen = Array.series(5, 1, 0.2); theHarms = harmGen * 100; 2.do({arg i; theHarms = theHarms ++ ((harmGen*100) + (100*(i+1)));}); distParm = (theHarms.size - 1); texture = { var theOsc; theOsc = SinOsc.ar(20, 2pi.rand, 0.2); 4.do({theOsc = SinOsc.ar(20 + 10.rand, 2pi.rand, 0.2)}); Pan2.ar( Ringz.ar( LFPulse.ar( 40.rand, 2.rand, theOsc ), theHarms.at(distParm - distParm.linrand), // I want this weighted to the low end 3 ), 0.5.rand2 // pan pos )}; patch = OverlapTexture.ar(texture, 40, 10, 3, 2); patch = patch + OverlapTexture.ar(texture, 120, 20, 2, 2); Normalizer.ar(patch, 0.4, 0.1); }.play ) ------------------------------ Date: Tue, 17 Jul 2001 01:46:34 -0700 From: cramakrishnan@acm.org Subject: Re: an SC3 GUI request->Pen christian adam hresko writes: > i have a question about this snippet of code: > > slider = Slider2D.new( > Pen.new( > action: \strokeFill, > > where did you get strokeFill from? I got it from one of James SC3 examples. It's 3:30 AM where you are. Shouldn't you be sleeping!? - - sekhar - -- C. Ramakrishnan cramakrishnan@acm.org ------------------------------ Date: Tue, 17 Jul 2001 08:54:33 +0000 From: Jem Finer <---@---.---> Subject: Re: literal table too big > 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_3078204873_2089164_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit > Or even better have a method in Main read the instruments as individual > text files and compile them. > sorry to be thick - this sounds good - but how ? is there a way to check how many Literal table items a function block or method has ? I tried using .literals but this doesn't actually seem to have anything assigned to it in FunctionDef. Jem - --MS_Mac_OE_3078204873_2089164_MIME_Part Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable Re: literal table too big

> Or even better have a method in Main read the instruments as individua= l
> text files and compile them.
>


sorry to be thick - this sounds good - but how ?

is there a way to check how many Literal table items a function block or me= thod has ? I tried using .literals but this doesn't actually seem to have an= ything assigned to it in FunctionDef.



Jem
- --MS_Mac_OE_3078204873_2089164_MIME_Part-- ------------------------------ Date: Tue, 17 Jul 2001 11:30:03 +0200 (CEST) From: Giorgio Robino <---@---.---> Subject: Re: Patches (an SC patches repository?) Thanks sekhar, it's a kind to share the SC code (and the music), Premise that i am SC beginner; my old idea about making music (www.sintesidelsuono.tsx.org) is to have something like a code repository for game/fun purpose and also for learning. Suppose that one person submit a first "seed" code patch and after another peoples submit elaborations creating tree of modifications ... The base idea is the concepts of sound germ and sound thread, where A "sound germ" is a patch made by a member of the group and put at disposal. A "sound thread" is the set of all subsequent elaborations of a sound made in succesive times. patch1 | +-- patch2 | | | +-- patch4 | | | +-- patch6 | | | +-- patch7 +-- patch3 | +-- patch5 The problem is how to organize pratically the echange-repository ( this mailing list maybe is not the correct plase, swicki seem to me to be a little slow/not too immediate, CVS on web like a www.souceforge.net site, a personal web site, other) ? It's interesting for SC users this idea ? - ----------------------------------------- If yes I will write here more detailed proposal (the idea was failed on CSound community for ... copyright controversials ?! strange!) Giorgio - --- Giorgio Robino http://www.giorgiorobino.com , mailto:giorgio.robino@giorgiorobino.com - --- DEEP LISTENINGS "ascolti profondi, the new music magazine" (rivista trimestrale di cultura musicale), vendita per solo per corrispondenza. Rivolgersi a Gianluigi Gasparetti, mailto:deeplist@tin.it - --- SUPERCOLLIDER is an Object Oriented Programming Environment for real-time audio and video processing. It is one of the finest and most versatile environments for signal processing and especially for creating music applications of all kinds, such as complete compositions, interactive performances, installations etc. It runs on Macintosh Power PC computers. The author of SuperCollider is James McCartney. He maintains a site at: http://www.audiosynth.com ------------------------------ End of sc-users-digest V1 #324 ******************************