From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #338 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 Friday, August 3 2001 Volume 01 : Number 338 ---------------------------------------------------------------------- Date: Wed, 1 Aug 2001 23:36:45 -0400 (EDT) From: Paul Lansky <---@---.---> Subject: Re: [OT] snack got it to work. Lesson learned the hard way. Rebuild your desktop. Great piece of software. It's the only mac program I know that lets you create markers in a file and save them as a text file. paul > > >Has anyone in this group successfully installed snack on a mac? > >http://www.speech.kth.se/snack/ > >It's a wonderful soundeditor written in Tcl/Tk. I used >it extensively on an SGI, and there is a Mac version now, >but I'm having trouble getting it to work. > >thanks >paul > ------------------------------ Date: Wed, 1 Aug 2001 23:41:36 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: Re: [OT] snack Hi Paul, Perhaps the snack.shlib is in Extensions rather than Extensions::Tool Command Language. Very impressive display. Where is a total manual? RJK On Wed, 1 Aug 2001, Paul Lansky wrote: > > Has anyone in this group successfully installed snack on a mac? > > http://www.speech.kth.se/snack/ > > It's a wonderful soundeditor written in Tcl/Tk. I used > it extensively on an SGI, and there is a Mac version now, > but I'm having trouble getting it to work. > > thanks > paul > ------------------------------ Date: Thu, 02 Aug 2001 02:13:50 -0400 From: christian adam hresko <---@---.---> Subject: simple output i just realized i've never really worked with (console) output in SC. here's my goofy little test function. i'm sure there's a better way of doing this, so any help would be appreciated: var tester; tester = { arg val; "the value ".post + val.post + " was found".post; }; tester(5).value; and what's the difference between the above and the following: var tester; tester = { arg val; "the value ".post ++ val.post ++ " was found".post; }; tester(5).value; sorry for the simpleton question. i'm used to: cout << "the value " << val << " was found" << endl; cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 03:25:16 -0400 From: christian adam hresko <---@---.---> Subject: Re: simple output - oops christian adam hresko wrote: > > > tester(5).value; > should be: tester.value(5); cheers, christian ------------------------------ Date: Wed, 1 Aug 2001 20:49:38 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: Something's up > >there. it just did it again. more like funny bugs: hit alt-3 or similar and get beautyful bytes. (sc2 and sc3 are growing together?..) ------------------------------ Date: Thu, 2 Aug 2001 16:03:09 +0200 (CEST) From: Giorgio Robino <---@---.---> Subject: Re: [OT] DiskArrayPlayer/MidiControl Hi Owain Rich, > I have a year to do a degree project so I'm thinking about the > possibilities > of interfacing a pot plant with Supercollider to create a webcast > installation piece which spans the growth of the plant. I am also newbie in SC so I can't give you a technical helps at the moment but ... I am very courious about your idea and the technological framework you will use; do you have some documentation o literarure about ? Do you are interested in bio-feedbacks with plants ? What kind of sensor you use for get the plants signal ? A commercial product or a custom builded electronic ? May you give details about that ? The interface device produce "MIDI output data" or "audio signals" or "voltage signal" or what ? Premise that I think Supercollider optimal for make algorithmic signal elaborations, what kind of music do you finally want to produce with the Supercollider ? too mutch requets ? thanks 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 ------------------------------ Date: Thu, 02 Aug 2001 14:01:56 -0400 From: christian adam hresko <---@---.---> Subject: return i have a class method. one of many. the method (or function) is recursive. i have to return at some point in this function. there's a bunch of if statements, and i was wondering how you just return in SC. not nil, just return. if (so and so) { } else if (so and so) { } else return; something something here; cheers, christian ------------------------------ Date: Thu, 2 Aug 2001 15:56:31 -0500 (CDT) From: "AUDIOSYNTH.COM" <---@---.---> Subject: Re: simple output - oops Post << "The value is " << val << ".\n"; See IOStream ------------------------------ Date: Thu, 2 Aug 2001 16:00:41 -0500 (CDT) From: "AUDIOSYNTH.COM" <---@---.---> Subject: Re: return You have to return a value. All methods return a value. The default is to return this if there is no return statment. To explicitly return this, write ^this ------------------------------ Date: Thu, 02 Aug 2001 17:09:58 -0400 From: christian adam hresko <---@---.---> Subject: Re: simple output - oops "AUDIOSYNTH.COM" wrote: > Post << "The value is " << val << ".\n"; > > See IOStream hmmm... cool. thanks james. i'll have to take a look at IOStream more closely. cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 17:32:27 -0400 From: christian adam hresko <---@---.---> Subject: return again okay, i'll try this again since the answer to this question is pivotal (pivotal you hear me!) for the completion of my class. what's the equivalent of returning (not nil) in an SC method/function? here's a C/C++ example: myClass::myFunc (int arg) { int count = 0; if(4 == arg) cout << "goodbye" << endl; else if(arg <= 4) myFunc(arg + 1); else if(arg >= 4) myFunc(arg - 1); else return; count++; } don't analyze the purpose of the function above because it's just an example. i just want to know how something similar would be coded in SC. i don't see how you just return as opposed to return nil. (is the ^ all by itself a valid statement?) thanks. cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 17:37:29 -0400 From: christian adam hresko <---@---.---> Subject: Re: return "AUDIOSYNTH.COM" wrote: > You have to return a value. All methods return a value. > The default is to return this if there is no return statment. > To explicitly return this, write ^this why do all methods have to return a value? there is no equivalent of a void function/method in C/C++? forgot to add the following to that last example void myClass::myFunc (int arg) Smalltalk has no void? cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 17:52:54 -0400 From: christian adam hresko <---@---.---> Subject: Re: return "AUDIOSYNTH.COM" wrote: > You have to return a value. All methods return a value. > The default is to return this if there is no return statment. > To explicitly return this, write ^this i guess i'm a simpleton or something. i thought ^this returned the calling object. where does my inaccuracy reside? (that's probably a loaded question, but i'll ask anyway...) cheers, christian ------------------------------ Date: Thu, 2 Aug 2001 18:17:43 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: Re: return again ^ is the equivalent of return. RJK On Thu, 2 Aug 2001, christian adam hresko wrote: > okay, i'll try this again since the answer to this question is pivotal > (pivotal you hear me!) for the completion of my class. > > > what's the equivalent of returning (not nil) in an SC method/function? > > > here's a C/C++ example: > > > myClass::myFunc (int arg) > { > int count = 0; > > if(4 == arg) > cout << "goodbye" << endl; > else if(arg <= 4) > myFunc(arg + 1); > else if(arg >= 4) > myFunc(arg - 1); > else > return; > > count++; > } > > > don't analyze the purpose of the function above because it's just an > example. i just want to know how something similar would be coded in > SC. i don't see how you just return as opposed to return nil. (is the > ^ all by itself a valid statement?) > > > thanks. > > > cheers, > > christian > > > ------------------------------ Date: Thu, 2 Aug 2001 18:31:48 -0400 (EDT) From: "Ronald J. Kuivila" <---@---.---> Subject: Re: return again > don't analyze the purpose of the function above because it's just an > example. i just want to know how something similar would be coded in > SC. i don't see how you just return as opposed to return nil. (is the > ^ all by itself a valid statement?) I think you're using up your precious human CPU cycles on a triviality. ^ needs an argument, but so what? What you mean by "just return" is simply that the code that called the function does not use the value that the function returns. RJK ------------------------------ Date: Fri, 03 Aug 2001 08:58:42 +1000 From: newton armstrong <---@---.---> Subject: Re: [OT] DiskArrayPlayer/MidiControl Giorgio Robino wrote: > Hi Owain Rich, > >> I have a year to do a degree project so I'm thinking about the >> possibilities >> of interfacing a pot plant with Supercollider to create a webcast >> installation piece which spans the growth of the plant. > > I am also newbie in SC so I can't give you a technical helps at the moment but > ... I am very courious about your idea and the technological framework you > will use; > do you have some documentation o literarure about ? Do you are interested in > bio-feedbacks with plants ? > > What kind of sensor you use for get the plants signal ? A commercial product > or a custom builded electronic ? May you give details about that ? [...snip...] it's an authentic take on generative systems. perhaps it'd be interesting to extract data from pH sensors in the soil? there's a couple of precedents: http://home.earthlink.net/~miho_san/intersection/ http://music.columbia.edu/~douglas/portfolio/dreamloops.html ------------------------------ Date: Thu, 02 Aug 2001 16:28:05 -0700 From: cramakrishnan@acm.org Subject: Re: return christian adam hresko writes: > Smalltalk has no void? Nope. Methods always return something -- "self" by default. - - sekhar - -- C. Ramakrishnan cramakrishnan@acm.org ------------------------------ Date: Thu, 02 Aug 2001 19:42:53 -0400 From: christian adam hresko <---@---.---> Subject: Re: return again "Ronald J. Kuivila" wrote: > > don't analyze the purpose of the function above because it's just an > > example. i just want to know how something similar would be coded in > > SC. i don't see how you just return as opposed to return nil. (is the > > ^ all by itself a valid statement?) > > I think you're using up your precious human CPU cycles on a triviality. > > ^ needs an argument, but so what? > > What you mean by "just return" is simply that the code that called > the function does not use the value that the function returns. > > RJK why does every method in SC have to return a value as james stated? this isn't true for every programming language, unless i missed something in class. yes, i use up A LOT of my human CPU cycles on triviality. i'm an obsessive compulsive freak who needs to know the anythings and everythings about what i'm working with. see, here's the part i don't get. the reason the return in my recursive call is so important, is because it acts as an 'agent' to update the count field. each time the function is recursively called, and then popped off the stack (via return) count gets count plussed plussed. i don't want to return a bunch of "this's." does that make any sense? (i'm guessing you already realize this, so please don't be offended...) so i'm looking over my comp sci books, just to make sure i'm not a complete moron, and i'm typing in code to verify what i'm reading once again, and i still don't get this whole "A method must return a value." what about a recursive function which returns nothing? not 15 this's, just nothing. (not be confused by nil) sorry for being so dense. but if 15 this's i must return, than i'll return 15 this's. i guess that's how things work and i'll never know why you can't just write a nice void function. thanks bunches. cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 19:48:10 -0400 From: christian adam hresko <---@---.---> Subject: Re: return cramakrishnan@acm.org wrote: > christian adam hresko writes: > > Smalltalk has no void? > > Nope. Methods always return something -- "self" by default. > > - sekhar > okay. i'm just gonna drive myself nuts thinking about this. it really makes no sense to me why a method must return something (self in particular) in smalltalk. then again, it makes no sense to me why they advertise disposable aluminum grill 'sheets' (flexible to fit any size grill btw...) so that the everyday grill meister doesn't have to worry about a messy grill but doesn't mind fucking up the environment. i guess it's just one of those things. cheers, christian ------------------------------ Date: Thu, 02 Aug 2001 19:32:17 -0700 From: "tomonori yamasaki" <---@---.---> Subject: Re: return >why a method must return something (self in particular) objekt oriented... no? var yourFunc; yourFunc = {arg i; if(i==4, {("bye").postln;},{ if(i<4, {yourFunc.value(i+1)},{ if(i>4, {yourFunc.value(i-1)},{ nil})})}); ("did something!").postln; }; yourFunc.value(6); yourFunc(6) makes yourFunc(5) makes yourFunc(4) then post "bye", post "did something!" come back to yourFunc(5) and post "did something", come back to yourFunc(6) and post "did something". if you don't want to waste land, return 0, less harmful than aluminum foil. function does *something*, and usually it has result, and when it doesn't, simply return itself, for placeholder, no? I don't get it: why you really don't want to return anything, again? - ---------- >From: christian adam hresko <---@---.---> >To: sc-users@lists.io.com >Subject: Re: return >Date: Thu, Aug 2, 2001, 4:48 PM > > > > cramakrishnan@acm.org wrote: > >> christian adam hresko writes: >> > Smalltalk has no void? >> >> Nope. Methods always return something -- "self" by default. >> >> - sekhar >> > > okay. i'm just gonna drive myself nuts thinking about this. it really > makes no sense to me why a method must return something (self in > particular) in smalltalk. then again, it makes no sense to me why they > advertise disposable aluminum grill 'sheets' (flexible to fit any size > grill btw...) so that the everyday grill meister doesn't have to worry > about a messy grill but doesn't mind fucking up the environment. i > guess it's just one of those things. > > > cheers, > > christian > ------------------------------ Date: Fri, 03 Aug 2001 03:41:57 +0100 From: Owain Rich <---@---.---> Subject: Re: [OT] DiskArrayPlayer/MidiControl Giorgio, Thanks for your interest in my idea. Although I'm interested in the possibilities of detecting some kind of audio feedback from plants (apparently they emit high frequencies(?!?!?)), my idea is based on using humidity, CO2, temperature and growth sensors (both pre built and homemade) to produce a control voltage which can then interface with Supercollider via a multichannel CV -> Midi converter (btw does anyone know any good pre built CV -> Midi converters as I'm making a £10 one using a harware/freeware app combo designed by Windworks, but would like a pre-built fallback) The long term structure of the composition will be determined by the growth of the plant(s) from a seedling (this will obviously be a long composition, but not as long as Jem's ;) and either sensed by my homemade theremin (not really proving to be a very good idea because of it's exponential sensitivity curve and the fact that people's movements in the exhibition space can cause unwanted interference) or an unfortunately expensive sonic sensor. By using a separate Pseq triggered by each midi note, I should be able to create a sufficiently complex architecture of sequenced Pbinds which will trigger a massive amount of samples, and thus generate a different musical mood for every stage of the plant's growth. The composition will be shaped with a build up until around midi note 64 when it will start to break down again. Hopefully in a year I will have enough skill with Supercollider to do something less clumsy than just trigger loads of samples with Pbinds but for now this system seems remotely realisable with my rancid skills. Oh yeah......does anyone know of any fast growing plants? Somewhat off topic? - perhaps I should be on the gardening forum instead :) Later. Owain on 2/8/01 3:03 pm, Giorgio Robino at giorgio.robino@mclink.it wrote: > Hi Owain Rich, > >> I have a year to do a degree project so I'm thinking about the >> possibilities >> of interfacing a pot plant with Supercollider to create a webcast >> installation piece which spans the growth of the plant. > > I am also newbie in SC so I can't give you a technical helps at the moment but > ... I am very courious about your idea and the technological framework you > will use; > do you have some documentation o literarure about ? Do you are interested in > bio-feedbacks with plants ? > > What kind of sensor you use for get the plants signal ? A commercial product > or a custom builded electronic ? May you give details about that ? > > The interface device produce "MIDI output data" or "audio signals" or "voltage > signal" or what ? > > Premise that I think Supercollider optimal for make algorithmic signal > elaborations, what kind of music do you finally want to produce with the > Supercollider ? > > too mutch requets ? > thanks > 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 > > ------------------------------ Date: Thu, 02 Aug 2001 23:52:40 -0400 From: christian adam hresko <---@---.---> Subject: Re: return tomonori yamasaki wrote: > >why a method must return something (self in particular) > objekt oriented... no? no, not all OOP languages require a function (or method) to return something. this C++ member function (i.e. a method) returns nothing: void myClass::aFunc(int val) { int count = val for(int i = 0; i <= count; i++) cout << i << endl; } there's a console out, but there's not a return value. constructors on the other hand return an instance of a class (an object). therefore you don't (and can't) declare a return type for a constructor. > > > var yourFunc; > yourFunc = {arg i; > if(i==4, {("bye").postln;},{ > if(i<4, {yourFunc.value(i+1)},{ > if(i>4, {yourFunc.value(i-1)},{ > nil})})}); > ("did something!").postln; > }; > yourFunc.value(6); > > yourFunc(6) makes yourFunc(5) makes yourFunc(4) then post "bye", post "did > something!" come back to yourFunc(5) and post "did something", come back to > yourFunc(6) and post "did something". > > if you don't want to waste land, return 0, less harmful than aluminum foil. > function does *something*, and usually it has result, and when it doesn't, > simply return itself, for placeholder, no? I don't get it: why you really > don't want to return anything, again? actually, this is exactly what i want. except you don't need the nil in there. (why is the nil in there btw?) although i can come up with another example which will fail. (but i won't waste everyone's time... i'll just return something. i'll figure it out later) the reason i need the return statement, is because the count field in each node of my binary search tree needs to be updated. sometimes this requires 'returning' control to the point at which the function was invoked. (which sometimes occurs before the function 'ends') anyway, i'm just going to confuse myself and anyone else trying to follow this. i'm really bad at explaining things via email and i'm just going to end up pissing people off by continuing this discussion. i'll just except the fact that SC works the way it does and therefore stop banging my head against the wall. thanks for enduring this thread. sorry for the lost time. cheers, christian ------------------------------ Date: Fri, 03 Aug 2001 00:46:46 -0400 From: "crucial" <---@---.---> Subject: Re: [OT] DiskArrayPlayer/MidiControl >Giorgio, > >Thanks for your interest in my idea. > >Although I'm interested in the possibilities of detecting some kind of audio >feedback from plants (apparently they emit high frequencies(?!?!?)), my idea >is based on using humidity, CO2, temperature and growth sensors (both pre >built and homemade) to produce a control voltage which can then interface >with Supercollider via a multichannel CV -> Midi converter (btw does anyone >know any good pre built CV -> Midi converters as I'm making a £10 one using >a harware/freeware app combo designed by Windworks, but would like a >pre-built fallback) I would say avoid going through midi if you can. 1983 0-127 technology is not really worthy of something as delicate and real as a plant. sounds fun! I have always been fascinated that plants can 'know' where other objects are and grow around then. even before touching or running into it. and they can communicate with other plants by spreading small spores (or something), warning of new predators (the receiving plant can start making natural pesticides). >By using a separate Pseq triggered by each midi note, I should be >able to create a sufficiently complex architecture of sequenced Pbinds which >will trigger a massive amount of samples, and thus generate a different >musical mood for every stage of the plant's growth. patterns are best suited for melodies, phrases and stream games. their usefulness decreases as the number of complexity of parallel patterns increases. and also as you start adding more 'layers' and 'depth' to the stream graph. by that i mean lots of filter patterns, bin op patterns etc. they unfortunately take up a lot of cpu, and if you are doing rhythmically synchronized parallel patterns, these calculations all take place at the same time. you see very large cpu peak spikes, and yet the main core of SC isn't doing that much. if you intend to have a fair bit going on, like 'massive amount of samples' i suggest concentrating on sound functions and using spawns and tspawns to trigger them. they are much more efficient. if you have midi events coming in, simply use Voicer. > The composition will be >shaped with a build up until around midi note 64 when it will start to break >down again. Hopefully in a year I will have enough skill with Supercollider >to do something less clumsy than just trigger loads of samples with Pbinds >but for now this system seems remotely realisable with my rancid skills. > >Oh yeah......does anyone know of any fast growing plants? Somewhat off >topic? - perhaps I should be on the gardening forum instead :) weeds. sunflowers if given good sun get 10-15 feet high in a season. > >Later. > >Owain _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Fri, 03 Aug 2001 00:50:58 -0400 From: "crucial" <---@---.---> Subject: thisThread.return; >okay. i'm just gonna drive myself nuts thinking about this. it really >makes no sense to me why a method must return something (self in >particular) in smalltalk. soThat.theres.something.to.pass.toThe.message; and when your bored just put a f*&^ing ; > >cheers, > >christian > > > _____(( http://crucial-systems.com _________________))_______ ------------------------------ Date: Fri, 3 Aug 2001 11:27:02 +0200 (CEST) From: Giorgio Robino <---@---.---> Subject: Re: [OT] DiskArrayPlayer/MidiControl Thanks Owain for your explications, > Although I'm interested in the possibilities of detecting some > kind of audio > feedback from plants (apparently they emit high frequencies(?!?!?)), maybe "too high" and you have to translate down the spectrum in the audio range ? ;-) > my idea > is based on using humidity, CO2, temperature and growth sensors some people seem to have used "transconductance" sensors (http://www.cyberdh.com/capriolo/html/news.htm), > (both pre > built and homemade) to produce a control voltage which can then > interface > with Supercollider via a multichannel CV -> Midi converter (btw > does anyone > know any good pre built CV -> Midi converters as I'm making a > £10 one using > a harware/freeware app combo designed by Windworks, but would > like a pre-built fallback) personally I agree with Felix: you will have maybe some limitations using a transfer dunction from a continous function (the sensor output in CV) to a discrete values (the MIDI output); do you have considered the idea to produce some audio signal from your sensor (a very simple sensor controlled oscillator/synth) and so elaborate with Supercollider from Mac audio in ? sensors .---------. device .----------------------. - -------> | | audio out | Mac audio in | - -------> | Hw OSC |-----------> |-----> SC synth patch | -> ears! .---------. .----------------------. In this manner you maybe can use in SC the audio signal like an external controller for a continuous synth patch, using AudioIn().kr; so you can monitor in real-time, every day and in every moment the plant talks ... > By using a separate Pseq triggered by each midi note, > I should be > able to create a sufficiently complex architecture of sequenced > Pbinds which > will trigger a massive amount of samples, and thus generate a > different > musical mood for every stage of the plant's growth. The yes ... I propose to you to start-up wiht a simple configuration (maybe a sine oscillator controlled by the plant signal) !? For understand at best what the plant say ... I think that if you use samples you add too complexity and hw requirements ... viceversa SC is optimal and fast with synthetized sounds > Oh yeah......does anyone know of any fast growing plants? Somewhat > off > topic? - perhaps I should be on the gardening forum instead :) yes ;-) Keep us informed! thanks 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 ------------------------------ Date: Fri, 3 Aug 2001 14:57:29 +0200 From: Julian Rohrhuber <---@---.---> Subject: SignalEditor - --============_-1215278977==_============ Content-Type: text/plain; charset="us-ascii" ; format="flowed" Inspired by tomonori yamasaki's simplePlayer I wrote a SignalEditView (SC3d) that hopefully offers best comfort for future editors. Maybe it has been done already by someone, but it is a good way to test some sc3 functionality. There is a slight drift in the view, I don't know where it comes from, it might be the implementation of SignalView, it might as well be me being confused about so much linear conversions I had to do. The second example shows a zoomed section to demonstrate this small error. - --============_-1215278977==_============ Content-Id: Content-Type: multipart/appledouble; boundary="============_-1215278977==_D============" - --============_-1215278977==_D============ Content-Transfer-Encoding: base64 Content-Type: application/applefile; name="%SignalEditor.hqx" Content-Disposition: attachment; filename="%SignalEditor.hqx" ; modification-date="Fri, 3 Aug 2001 14:55:02 +0200" AAUWBwACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAPgAAABAAAAAJAAAATgAAACAA AAAIAAAAbgAAABBTaWduYWxFZGl0b3IuaHF4VEVYVFNJVHgBAADzA7sAAAAAAAAAAAAA AAAAAAAAWYkC/XfGAv13xkttDAAC/Xig - --============_-1215278977==_D============ Content-Type: application/octet-stream; name="SignalEditor.hqx" Content-Disposition: attachment; filename="SignalEditor.hqx" Content-Transfer-Encoding: base64 KFRoaXMgZmlsZSBtdXN0IGJlIGNvbnZlcnRlZCB3aXRoIEJpbkhleCA0LjApDQo6JSYw VENmaktFJTlOREE0W0ZMamNEQTMhOGRQODA5MCo5IyUhTiEzLVozIzMiJFtQOGg0ZUNR QypHIyFTQmJODQphMTZOaCw2JWoxNkpKM0BhS0MnNFRFTCI2SEEwZENAZWMsIyIqRVEt WiwjIlNHKDRgMUxtW0dqISQsUSZYQkA0DQpOREBqY0hBLVpCZnBZLGUwZEdAQ1E1QTNb JDNTRCEhODMhISEtWjMjMyFoKSEhMyMzIWgrI0gzZlBUOSpQRmY5DQpiR1E5TlREOCFU QyElITMhITIhIiFZaiEhQTNMaE4hIlBAISMzJDNhM1JgIzMhcCkhISNDNSEhISxqYCEj OGZQDQpSRVEmWDRANFRHJ3BiISEjKyNKJE0hLUYjTjMoUCFxJHJOITMjInJyaXJyJCQz ISEhSiEjMyI5USpUQyElITMhDQohM2AhM1lpbWQiVkgzISdZcSEqISRGSiEhImMtIU4h MGIhIjJrLTMhISQrJSEhITNJISohJSRgIjZEQEdaQkBhDQomQydQZEVoKkBEQDloLFIw TSEhJmxCOTQmQCY0NjNmVFkhMyRyTiEzIU4hVSEhKiEmQEJOISEhTmQhISEiYzMjDQoz IiFtITNYKDhWSUZBa1UxMyExRkptJGBUTVU0UTYpWjhTTTBsWVBbVCk5S1AnNiNWTSNR ZU0qQFkwTSlsWyUmDQomIiEoNiRZSTgobEVgOGVZRGFaZUpbWyJQVjUnQ0s5RWZYNEUl amE0bHE1aVUnIVU1a2VKSDZSNVlsY2tpaVU0DQosWkpCJ1JoJFNHS1IhOERsQ3BNUGtC JlBwYlhYKShsWWxCTmM1OCUsOE5jUmApZTNQMDRFMVZWKElpcGlMJUxxDQorWycsVUBG JFEyYzlacEVgKScjITRsclZRSzNMVjQrJVphcUhYJ0twRVBKR2wzIyUtaScwJVojYUxC ZFkoQlUwDQpZaUJxIWwsWzhpWStHNWlNTistMTUiaEdFVCdxbEsyLVssQyVwNEFLVjkl KSgoJSEkYjFVKi1SUWhhS0AoUTAkDQpgNlFwbWVoSWZFZWMpallTQjIwQlgmMixLJnBQ K1ttNWoibFIqZjREOTMlWUdtcTYwKiYoM0VCRUw5J3FScEclDQoiMTRhayY1R2lMJVIk OSNpJyROQiVpWUhVJUJUQzE4MUNrTTgsTEwmJGVjISRFW1pLWmhQRkZpZVo2U1ViIkRk DQpSR2JiYWsyUEdxQXFbOUJHJjVmI2UkIlFCWytZMEBARGJaYSksQlAyZlRxSEU0MEhY S0VMKVYyOFtOaEJKSWU4DQo5ViQ5cScxMERRZSFaUTVSKEQoOWJVRWFQTWJTSyY5QjJI RGQrWWxBI1FgSEA4OCM1IVlhKkMiKSErU3BJa1AkDQpkNko4TDRBLCs1VC1tWWJbVSdI cltWbElKWVNbLTRIImRIKyopU1NxVUpwNkozWCg4W2xFKHArI0xATXAtKnJgDQokTDMj QlBmQnFNJChQIkNrJSJSLVREZWNMUyRxRVsnWzZtVEdKVSRAOWNLUysrKmJVJUBZWDgx bFBqWjM2alNtDQpqZWo2bU1DQjEpYUY0ckhYYmMrNiNTU2xgWTNgWmFJYTVjQ2haaVtQ MzBOI0tNJkxyKCs4JGptOFI2TEhgVEZADQprZGspRmUxTlhGSXBHZWRJcHJLaFYrNEdp ISJFKmJMYkVjQiNNRCtEZUJpIzEoJ2FKcDFoKUwtYChbK0ErIyJtDQpiImMqRkNkKFEw QGxsU0QyWlVNSUctM1krVlYpZCUtRWpBZEdkRlpQYSokRyhFLCspRSVrcjhHVSFqK1pF ODVQDQpVUUdhcUlCYiJKIUcoNVpBMlpmQnJZcFNHWGRkKyYiJnByRko5Zk4pITRgKFNK RDhNYFMncU0iRjBaJ1FZNFYrDQonJ1o1KyNAMGYqSDJkNEtARUFiTkJwQ0ozInI5Nixt WidpMjhHJikpK3BAcmxUclVKYyUsS1phcCFoOEMmTTBVDQpkZjBrUzJARyZbRTFRQEEw JnFgNjliWGNCU1lbam1aMDhFaUNiWShFaE4hJGZrIypgZCpbUkwkNVNZIXJSQkxGDQpO SlkhciEjJWMjUmNFMEIsYm1GajIsKCskOVRUIVFqOW1WZkc1JUZpQXAoSGUtQCxJS3FG NURQIlJVSCYkTVZIDQpIWGljUCtBJEsjRktEUXAsZlhrR0pmVVAhNWRicCksR3FwRjhL I0ZsYFIhWGNtamo4RShQQ1hQLFYzQGNTKGxZDQo5WVpyU05OZmNZYytFaXI1aUMsJk5I YCZRKEU2MjVwM01jVjUjQERITE0rMDIrcWpbSmliVS02TGVlcEhAVSlbDQorRiwtTFNB RiVIOCRmK2hlLVUyIShJRTNMImJbSEVtQFE2RCpHKmlGS2FAOG1VS1M2ZDZMcUdbS01G RCRMKVtODQolKkNrJ2BpVlAsamY1Ukg5Wko2NUJDSEFsTUApW0s5IjlsSSJmZDRScUI0 I0NZSlVqa2hkcTIkWTlHa0BrJ1tRDQoxNlBbQUIxUTFEJG1xWk1rclYnTWlYaE1gaGAm SUY0UixEZWJERWZVJSpsUVtmSmpFbSdWQ2txcWhQQCUkODBqDQpGM2BZQVJaM0RYU3FD ZC1KJS0sSElWRCcsbENVViNFKElEQytgVUQ4cjk0ZVghU0xAZiJNMSlmUnFwOHJBQ2xx DQpKTUxCcjErWCYzJ2trKVAxayJjNVljMzVKQSdUNEFlcikwa3BmVmttSVg1VlQiJWhE a3ExYSkiKGpsYlFTayxyDQpGQmZNR2pZbSRRNkNOISVtTmJjQkVGTipBaVUqZGs2RnFD clpHK2NoSUViJ3JjMFRRKVFqRiRGSGUrUU0oSVJIDQpMOTE1bWplUSUwSihVZDYrWSdo LSRMZSpRYiUnWSdoNSRSUVVKckglJSQ4WzJbcSZtcWFrIW1IJzZNcWwsVkhLDQo0bDRH KmtkU2FrImtES1RJZlhrcClhLSY2WjQlcikoLWlhMk1OYENDQDFycWBYKWpNWVNxW1hj KmVLIiZIcDBgDQpaMUpQZkdWRkBsW3EhVTlxQUZZYSkmOEhJITVJJURkJ20iK1smLCgh TScqcVlYcGM2W0JDaiooQyRFUlkjWExRDQpaJiIiQE4hI0YkWjVhbEVoM0o5VTRZLWUp Mk1hIyU0TSJoY3FAMysocDVBY1RtKyZqSElMKGBkWVYqUU1YOUJhDQpCKVJlUjhxaGBW bGljSEdAIjNiZjMhKlFSRUdxRSowWGtxTEdAcUVpWUBhRCNDclVMJXBbIXFCOWs0WCQk TUhFDQooWFMyWnFWNSZSakVocU4ram0jOCVaclloSWpoZSJbQlNLJjhEQmNUZCkpIi1F UyNQTiEzIiEhIiYhIiNoTWMzDQpxWWohIURpQiFOITI1ISEhLUwzIzMhaCkhJjNibSEh ISc0MyEhIVslIU4hMzIhJjBUQ2ZqS0UlOU5EQTRbRlBDDQpUQ0FGWkcnOWNHISEibDhL ODQ5Szg4ZDBVRTMlIXJqISUhKiErSiEjMyI5USohISErMSEhISFIaSFOITMyISUsDQoi ZSxYRytiNlpAbUYrSTZgaWNGIzViIkFyYm1tRyVxM1IsLTBLLWFwJzEoaDgkJURWUzRI cjhwIkYxYFFEVVIzDQpJcFBQMltqWzUpKTRxJWgyRyUlJ1lDbGsmRGQmYUBaW0EpaSNG bSpoVlIwWXA1aTBDaiYqWzFhVW0tQ05mWjlQDQoyREJJOSUhcSJOa1NUZjNxUUsyR1U5 OUtxaFhhTjRMcDRNI2pVQjAiWEJxRTNjQ2AxQ2BAJXFFJCxiRXA0WUtaDQo4ZDkxZUhH SUklI0hrQmkxWSlDISFQVDRZWGZxKiExYWMoRmBiJGRGaCtJTmFHNkVDJlpSOVBJQ2NR RyJjaFJJDQpoYiQrOVpVSS00ckotMCwiS0wrRUYwVlFoZSZWbCtjVmxtTTlAaTA5S0RL WWpYLEIxaWQzQWRlY2MsKUdoJW1lDQpgWU1VZTJMITFrJEpUKShEQmhOZiVKTm1rZDFK cGkiOTFBcmUtJiEiJDlUaCtJckMzVlNTY2ZCaSMnUkJQNCZhDQpmSGpOJ1BMVihEYCVx OFVGYmooSidETitRUSNsSltDUilJZSdTIUZocTMibTJiSCQtUyUoRHBxWilHKWtRa1Uo DQowaCdga21wJltlLSckZFY5KGVaQ3EoTjklWkpCYCpIRjFMQjZbIi0lU2wiWVolU2ol ajAtVUFYVCZpSFRKaihODQpDaiNLYWFCSStqYStVMGBRIVVgRGpOU1sxR2Q5MmJWITZr UGxiYFZZZiFiW0InSDEwTWpKSGY4KDhTIXFwQlU5DQppUyFGKkdHalA4OHJlKm0pZms4 SUdlMkk0QCthS2NbW1ktNUgsRVUnW2ozImwkTkZIJlJNSSdFWylmQ1lBTmppDQppJTRE QiFWLEZNYDFJISMtNSElLCJlM0dGSlNsbUQiTVU2UkoickpHYSJFYmM2IzUnKWI1MyEi cXJFZlQiM1koDQpqJlBRJSJFUmNUNGFbKytlTFMyJkdSIUZMSVFsYzVHKiNASSdDYCNp ZkdCUzUrSiRbNGpUYiNtUTRVSlZyTEYmDQpxaCViVVBrMypiLG0pSyJIMyErU0lAYFhQ aWljcUhKRipZJDklVEVrLWpxTiVmZCpUJUdMRlU2cSghcDBWaURVDQpHITVtNmFlIzgn W1NGaUFaKU5ZQ2EoJGZoQlhCIVFNRi1yW1VYTnFka0lwJWJmOUpJTTNALDYwbDhYa2Ep aEJCDQpObU4mQGUtNSlWZSFMOE1EREhVQyZlTnInOEkoNCchODYrOUdNRmhsNlpqMjlr RVYxW0coJm1JIltxQCxZOSxKDQpkYWRGTEosIW1RRClOU1tLcGMiNWUpcUYxZk5AclJr NWkxR1A5USQqTCxSIyJGIkwmOEArcElMJDA5YVlkLFRVDQotRyQnUTZDVTMhLSVASGhG Kkg4I1RAcCM2KXErZCQ4UGZWKWthMDAnSUNOcEg4NEEpWkxsVnIlY0pWVDUlNE5kDQoo WWlySiJwW2ZjQzIyRVVscTZlbFVyQ2xCRVo5NUMsJFVNQlRUMTkwcChOS0ktNUosI2Vp SVRjclksMjBmMkxkDQoiKzAmQ0lwSColVmglJnJRbTNJaFBZKmhQTltwIyYkTDklVE5W aipwSCQjNilhckpWIygiTkwwcUMqKixDJDhsDQpOLCsoSDFVZkxVRkc1YXBpUWRQZjBl WkJaW0dpIWVKZDRRYDEnRlVGWENaU0UmR2s5NSI0ZDUzWk5qbEssZjVIDQpHLVVBVitE bFU1SEtbOTlgYUtwYVlMWlRQMykjckRETUdVI1VFTkBSQ2EkKkdQSHAlVDFGSG0rQWpL LXBLUE5FDQprWzZtIkhGSydqaFVESGRKU1M1QUViWzUtaUZBR2MqMDgiZFlGK0JCYGMy cmEpcCRoIkpmJ1MkWEc0ZkAsJyVkDQo1aDRQUmZwSSlYZDgnbVpIcEIrMVlbKyRwWFNw WUU4ZW1rUFNGa1BOWCIlTk5FRkw0NXJmMlk4KUJILFBoVSNSDQpQRDVGYkchKGVGSCQz KE1gYnApVicpLUIyZCUoTWo2R0orTGEoLDApMydQQ2Q4S0tkQyI2LXBNUTVjYU5malVI DQoicnFOSkZyWS1hRyFOcSUmNmAoZFE4anBaVEJCRCFAS2pDY2pwVWRDQyJGNCQ5MUJq JlliLFVHLU1KZDBoIzgwDQpFRjJJLUdOMCghNCdoMThSMGY1RnE4cWRiTUErK0VMaDVa UFBVI3FUIitEJGlINkI1WkRNRUdaRSkzUWpSKzJHDQpGIStAMyIhJSEhJCEhMyEjMyNK RmMhKiEoRkohIU00cnJOITMhTiFVUFIhISE6DQo= - --============_-1215278977==_D============-- - --============_-1215278977==_============-- ------------------------------ Date: Fri, 3 Aug 2001 11:29:07 -0500 (CDT) From: "AUDIOSYNTH.COM" <---@---.---> Subject: Re: return again You cannot just return. You must return something. this, nil, whatever. All methods and functions have a value. There is no 'void' return type. ------------------------------ Date: Fri, 3 Aug 2001 11:31:26 -0500 (CDT) From: "AUDIOSYNTH.COM" <---@---.---> Subject: Re: return >why do all methods have to return a value? because it is a language whose expressions are functional. ------------------------------ Date: Fri, 3 Aug 2001 11:39:16 -0500 (CDT) From: "AUDIOSYNTH.COM" <---@---.---> Subject: Re: return On Thu, 2 Aug 2001, christian adam hresko wrote: > > > cramakrishnan@acm.org wrote: > > > christian adam hresko writes: > > > Smalltalk has no void? > > > > Nope. Methods always return something -- "self" by default. > > > > - sekhar > > > > okay. i'm just gonna drive myself nuts thinking about this. it really > makes no sense to me why a method must return something (self in > particular) in smalltalk. then again, it makes no sense to me why they This is because you only know C++. LISP, Smalltalk, and most advanced languages prefer a functional programming style. The uniformity of having all expressions have a value is a benefit, not a limitation. ------------------------------ Date: Fri, 03 Aug 2001 09:49:08 -0800 From: ben <---@---.---> Subject: weird bug hi i've talked to a few people about this in (gasp) real life but nobody seems to have seen this one except me... every once in a while if i hit syntax colorize it crashes SC immediately (error 2) and requires reboot. the offending file will continue to do this - - even if the code is copied and pasted in a new file with a new name it will still do it. so obviously it has something to do with the code - upon further experimentation (and much rebooting) i have discovered that by removing code line by line i can find the 'source' of the crash - just another line of regular sc code that runs fine. highlighting just that code makes syntax colorize work - highlighting any bit of the code will work with syntax colorize. but if i highlight the entire patch it will crash. fun. any ideas? i havent posted any code because it seems to happen pretty randomly. and doesnt seem to be associated with any kind of sc syntax errors or anything - like i said the code runs fine. peace ben p.s. - still in the process of cleaning up some SC reference files - will be posting them soon... - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com ------------------------------ Date: Fri, 03 Aug 2001 12:43:27 -0400 From: christian adam hresko <---@---.---> Subject: Re: return again "AUDIOSYNTH.COM" wrote: > You cannot just return. You must return something. this, nil, whatever. > All methods and functions have a value. There is no 'void' return type. i've got it now. thanks. christian ------------------------------ Date: Fri, 03 Aug 2001 12:44:10 -0400 From: christian adam hresko <---@---.---> Subject: Re: return "AUDIOSYNTH.COM" wrote: > >why do all methods have to return a value? > > because it is a language whose expressions are functional. okay, this clarifies things as well. thanks again. christian ------------------------------ End of sc-users-digest V1 #338 ******************************