From sc-users-owner@bga.com Wed Oct 2 13:22:00 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id NAA28207 for sc-users-outgoing; Wed, 2 Oct 1996 13:22:00 -0500 Received: from lanfill.lanminds.com (lanfill.lanminds.com [140.174.208.1]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id NAA28161 for ; Wed, 2 Oct 1996 13:21:43 -0500 Received: from [207.33.50.14] (nick.lanminds.com [207.33.50.14]) by lanfill.lanminds.com (8.6.12/8.6.12) with SMTP id LAA22494 for ; Wed, 2 Oct 1996 11:22:18 -0700 Date: Wed, 2 Oct 1996 11:22:18 -0700 Message-Id: <199610021822.LAA22494@lanfill.lanminds.com> Subject: SC object completion fcn method problem From: Nick Peck <---@---.---> To: "SuperCollider" Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Hello one and all - I am focusing on SC's object oriented capabilities, and trying to make a class that will allow a flexible, cpu non-intensive lfo-like control mechanism for other objects to use. The problem is that there seems to be no way to pass the method for a particular object as the completion function for an SC function: class motionGen { -- simple motion generator object to create movement in certain parms -- of soundEvent with minimal amount of data: startval, endval, # of cycles arg startVal=0, endVal=1, cycleCount=1, duration=1.0; -- additional instance variables directionToggle=1; -- whether start to end or end to start cycleDuration=duration/cycleCount; -- length of time one pass myLine=0; -- holder for this object's k-rate line generator this.createLine; -- make the first movement method createLine { "createLine.".post; *** THIS DOES NOT WORK...*** myLine = Kline(startVal, endVal, cycleDuration, `this.lineComplete); cycleCount = cycleCount - 1; -- and add it to the dsp system myLine.value(1).dspAdd(1); } method lineComplete { -- completion function for line segment "lineComplete.".post; -- remove from dsp queue myLine.dspRemove; -- do we need to make another one? if cycleCount > 0 then if directionToggle=1 then myLine = Kline(endVal, startVal, cycleDuration, `this.lineComplete); directionToggle=0; else myLine = Kline(startVal, endVal, cycleDuration, `this.lineComplete); directionToggle=1; end.if; cycleCount = cycleCount - 1; else "motionGen object completed.".post; end.if; } method getVal { -- return current value retVal = myLine.value(1); retVal.post; ^retVal; } } Other requests: It sure would be nice is SC had an audio playback function that had continuous control over more aspects of the playback: particularly startTime, endTime, direction, and playback rate, such as: AbufPlay(audiobuf, startTime, endTime, direction, rate, duration) AbufPlay: func.value(startTime, endTime, direction, rate) Also, is there a way to see the current contents of the scheduler? I am trying to create a score writing/playback system using the text i/o functions, but am unable to post more than a few events to the scheduler with audible results. The text i/o routines have been a massive exercise in frustration. Though I have it working now, simple access to line pointers and an eof flag is crucial. There is also no way to append to a file, other than reading the entire file in and writing it back out with new data in one pass. There should be a clear file routine. Finally (for now): There is an inconsistency in the manual: Under pattern threads, on page 174, it appears that .sched wants its delay argument in milliseconds, while the function definition on page 182 specifies seconds. Nick Peck Perceptive Productions Music and Multimedia Production e-mail: nick@episode.com WWW: www.episode.com/nick.html Tel: 415-388-9735 Fax: 415-388-5013 "Simplify, simplify, simplify" - Thoreau From sc-users-owner@bga.com Wed Oct 2 15:08:38 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id OAA14604 for sc-users-outgoing; Wed, 2 Oct 1996 14:59:43 -0500 Received: from lanfill.lanminds.com (lanfill.lanminds.com [140.174.208.1]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA14592 for ; Wed, 2 Oct 1996 14:59:38 -0500 Received: from [207.33.50.14] (nick.lanminds.com [207.33.50.14]) by lanfill.lanminds.com (8.6.12/8.6.12) with SMTP id NAA25259 for ; Wed, 2 Oct 1996 13:00:13 -0700 Date: Wed, 2 Oct 1996 13:00:13 -0700 Message-Id: <199610022000.NAA25259@lanfill.lanminds.com> Subject: Crash bug in SC 1.1b5 From: Nick Peck <---@---.---> To: "SuperCollider" Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com The following code crashed SC 1.1b5 repeatedly on my power mac 8500, with a system 11 error. Does not appear to do so in rev 1.0.: (2**(-1)).post; Nick Peck Perceptive Productions Music and Multimedia Production e-mail: nick@episode.com WWW: www.episode.com/nick.html Tel: 415-388-9735 Fax: 415-388-5013 "Simplify, simplify, simplify" - Thoreau From sc-users-owner@bga.com Wed Oct 2 15:19:55 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id PAA14692 for sc-users-outgoing; Wed, 2 Oct 1996 15:00:06 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA14649 for ; Wed, 2 Oct 1996 14:59:57 -0500 Received: from [128.83.254.53] (slip-72-5.ots.utexas.edu [128.83.254.53]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id OAA01361 for ; Wed, 2 Oct 1996 14:59:54 -0500 Date: Wed, 2 Oct 1996 14:59:54 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: SC object completion fcn method problem Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com SC does not support pointers to methods, but it is easy to get around. rather than: myLine = Kline(startVal, endVal, cycleDuration, `this.lineComplete); try: myLine = Kline(startVal, endVal, cycleDuration, { this.lineComplete }); Which just wraps the call. >Other requests: > >It sure would be nice is SC had an audio playback function that had >continuous control over more aspects of the playback: particularly >startTime, endTime, direction, and playback rate, such as: > >AbufPlay(audiobuf, startTime, endTime, direction, rate, duration) >AbufPlay: func.value(startTime, endTime, direction, rate) Isn't this is over specified? Out of startTime, endTime, rate and duration, one of these is a dependant variable. Once you've started playback there is no need to have continuous control over the starttime as that has already been done. Perhaps you mean as loop points? I do intend to support this soon. >Also, is there a way to see the current contents of the scheduler? I am >trying to create a score writing/playback system using the text i/o >functions, but am unable to post more than a few events to the scheduler >with audible results. There is not a way currently. If I could see your code I could perhaps see why you are having trouble with the scheduler. The following code is a simple scheduler test. If you post too many events to the scheduler it will fill up. The limit is 512 events, but there may be a garbage collector bug that limits it to less than that. I am investigating that now. start { for i=0; i<40; i = i+1 do value({ j = i; -- bind j in a local context [j, { j.post }].sched; }); end.for } The local context is needed above so that the last value of i, 40, is not printed, but rather the value in effect at the time of the call. "for" does not create a binding context itself. >The text i/o routines have been a massive exercise in frustration. Though >I have it working now, simple access to line pointers and an eof flag is >crucial. There is also no way to append to a file, other than reading the >entire file in and writing it back out with new data in one pass. There >should be a clear file routine. noted. what do you mean by line pointers? You should get \nil returned at the end of file. If not there is a bug. >Finally (for now): >There is an inconsistency in the manual: Under pattern threads, on page >174, it appears that .sched wants its delay argument in milliseconds, >while the function definition on page 182 specifies seconds. It should be seconds. I guess I missed that from the MAX version of the Pyrite manual (which wants milliseconds). --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Wed Oct 2 15:22:12 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id PAA18491 for sc-users-outgoing; Wed, 2 Oct 1996 15:22:12 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id PAA18452 for ; Wed, 2 Oct 1996 15:22:00 -0500 Received: from [128.83.254.53] (slip-72-5.ots.utexas.edu [128.83.254.53]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id PAA01509 for ; Wed, 2 Oct 1996 15:22:02 -0500 Date: Wed, 2 Oct 1996 15:22:02 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Crash bug in SC 1.1b5 Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 1:00 PM 10/2/96, Nick Peck wrote: >The following code crashed SC 1.1b5 repeatedly on my power mac 8500, with >a system 11 error. Does not appear to do so in rev 1.0.: > >(2**(-1)).post; > Does it matter if you are in overdrive or not? --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Wed Oct 2 21:08:41 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id UAA14042 for sc-users-outgoing; Wed, 2 Oct 1996 20:42:07 -0500 Received: from lanfill.lanminds.com (lanfill.lanminds.com [140.174.208.1]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id UAA13967 for ; Wed, 2 Oct 1996 20:41:48 -0500 Received: from [207.33.50.14] (nick.lanminds.com [207.33.50.14]) by lanfill.lanminds.com (8.6.12/8.6.12) with SMTP id SAA03452 for ; Wed, 2 Oct 1996 18:42:25 -0700 Date: Wed, 2 Oct 1996 18:42:25 -0700 Message-Id: <199610030142.SAA03452@lanfill.lanminds.com> Subject: Re: Crash bug in SC 1.1b5 From: Nick Peck <---@---.---> To: "SuperCollider" Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com >Does it matter if you are in overdrive or not? Havent tried it, but I'll check it out... Nick Peck Perceptive Productions Music and Multimedia Production e-mail: nick@episode.com WWW: www.episode.com/nick.html Tel: 415-388-9735 Fax: 415-388-5013 "Simplify, simplify, simplify" - Thoreau From sc-users-owner@bga.com Wed Oct 2 22:08:38 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id UAA14034 for sc-users-outgoing; Wed, 2 Oct 1996 20:42:05 -0500 Received: from lanfill.lanminds.com (lanfill.lanminds.com [140.174.208.1]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id UAA13965 for ; Wed, 2 Oct 1996 20:41:47 -0500 Received: from [207.33.50.14] (nick.lanminds.com [207.33.50.14]) by lanfill.lanminds.com (8.6.12/8.6.12) with SMTP id SAA03450 for ; Wed, 2 Oct 1996 18:42:23 -0700 Date: Wed, 2 Oct 1996 18:42:23 -0700 Message-Id: <199610030142.SAA03450@lanfill.lanminds.com> Subject: Re: SC object completion fcn method problem From: Nick Peck <---@---.---> To: "SuperCollider" Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com >Isn't this is over specified? Out of startTime, endTime, rate >and duration, one of these is a dependant variable. Yes, yes, yes... > >Once you've started playback there is no need to have continuous >control over the starttime as that has already been done. >Perhaps you mean as loop points? I do intend to support this soon. Exactly. Loop points that can change as the sample plays, with variable playback rate as well. > >noted. what do you mean by line pointers? >You should get \nil returned at the end of file. If not there is a bug. By line pointers, I mean the ability to position the file pointer at a given line within the text file. \nil is ok, but an eof() check (returning 0 or 1) would be better, and of course the manual did not mention anything about the \nil... Thanks! Nick Peck Perceptive Productions Music and Multimedia Production e-mail: nick@episode.com WWW: www.episode.com/nick.html Tel: 415-388-9735 Fax: 415-388-5013 "Simplify, simplify, simplify" - Thoreau From sc-users-owner@bga.com Thu Oct 3 01:56:12 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id BAA22617 for sc-users-outgoing; Thu, 3 Oct 1996 01:56:12 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id BAA22609 for ; Thu, 3 Oct 1996 01:56:09 -0500 Received: from [128.83.112.74] (slip-38-10.ots.utexas.edu [128.83.112.74]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id BAA03129 for ; Thu, 3 Oct 1996 01:56:11 -0500 Date: Thu, 3 Oct 1996 01:56:11 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Crash bug in SC 1.1b5 Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 6:42 PM 10/2/96, Nick Peck wrote: >>Does it matter if you are in overdrive or not? > >Havent tried it, but I'll check it out... I am unable to duplicate the crash. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Thu Oct 3 05:47:12 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id FAA10216 for sc-users-outgoing; Thu, 3 Oct 1996 05:47:12 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id FAA10193 for ; Thu, 3 Oct 1996 05:47:05 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id MAA06848; Thu, 3 Oct 1996 12:46:56 +0200 (MET DST) Message-ID: <3253B78C.6210@musik.b.shuttle.de> Date: Thu, 03 Oct 1996 12:54:36 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Re: SC oop problems, questions References: Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Prompted by the discussion on methods in object oriented programming on SuperCollider here is a comment and a question:=20 1. You can call "this" from within the class definition function, but you cannot refer to the object that=20 handles a specific method (the "receiver" in object-talk) if you are rescheduling a method for some time in the future. This I presume is because the frame is lost in the next call.=20 I have provided a workaround for this problem by defining a variable "self" within every superclass that needs such a reference, and initializing it to "this"" class KnowThySelf { arg instvar1 instvar2; var self; self =3D this; method .... }=20 Any subclasses would have to repeat self =3D this; in its definition. Alternatively it may call super.initialize, to do this plus other stuff.=20 James, do you think it would be possible to make "self" available to the receiver object at any time without having to manually define it as variable?=20 --------------- 2. Just a question: how time consuming is a method call aReceiver.aMethod(arg1); compared to plain function call or foo.value(arg1 arg2);=20 type call?=20 In other words, can one use objects and call methods very very often, or should one prefer workarounds with frames when it gets really time-intensive?=20 Ioannis Zannos Staatliches Institut f=FCr Musikforschung Tiergartenstr. 1, D-10785 Berlin email: iani@musik.b.shuttle.de Tel: +49 30 25481140 Fax: +49 30 25481172 From sc-users-owner@bga.com Thu Oct 3 11:12:33 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id KAA15117 for sc-users-outgoing; Thu, 3 Oct 1996 10:16:30 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id KAA15058 for ; Thu, 3 Oct 1996 10:16:15 -0500 Received: from [128.83.112.31] (slip-35-15.ots.utexas.edu [128.83.112.31]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id KAA04254 for ; Thu, 3 Oct 1996 10:16:12 -0500 Date: Thu, 3 Oct 1996 10:16:12 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: SC oop problems, questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 12:54 PM 10/3/96, Ioannis Zannos wrote: >Prompted by the discussion on methods in object oriented >programming on SuperCollider here is a comment and a question: > >1. You can call "this" from within the class definition >function, but you cannot refer to the object that >handles a specific method (the "receiver" in object-talk) >if you are rescheduling a method for some time in the future. >This I presume is because the frame is lost in the next call. >I have provided a workaround for this problem by defining >a variable "self" within every superclass that needs such >a reference, and initializing it to "this"" > >class KnowThySelf { arg instvar1 instvar2; > var self; > self = this; > >method .... >} > >Any subclasses would have to repeat self = this; >in its definition. Alternatively it may call >super.initialize, to do this plus other stuff. > >James, do you think it would be possible to make >"self" available to the receiver object at any time >without having to manually define it as variable? Give me an example where you can't use "this"? You should be able to do things like the following: method myOtherFunc { [time, { this.myFunc }].sched; } and it should work fine. >2. Just a question: how time consuming is a method call > >aReceiver.aMethod(arg1); > >compared to plain function call or foo.value(arg1 arg2); >type call? > >In other words, can one use objects and call methods >very very often, or should one prefer workarounds with >frames when it gets really time-intensive? Every method call involves a hash table lookup, so is more expensive than a normal function call. However there is no searching of superclasses and such, each class' method table has been flattened to contain all the methods of its superclasses, so its better than a naive method lookup. BTW: Your address: iani@netmbx2.netmbx.de is bouncing, may I remove it? --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Thu Oct 3 12:26:33 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA06925 for sc-users-outgoing; Thu, 3 Oct 1996 12:26:33 -0500 Received: from alpha.cc.oberlin.edu (alpha.cc.oberlin.edu [132.162.1.245]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id MAA06892 for ; Thu, 3 Oct 1996 12:26:27 -0500 Received: from OBERLIN.EDU by OBERLIN.EDU (PMDF V5.0-7 #16946) id <01IA7HL73R0400WB2Y@OBERLIN.EDU> for sc-users@bga.com; Thu, 03 Oct 1996 13:25:31 -0400 (EDT) Date: Thu, 03 Oct 1996 13:25:31 -0400 (EDT) From: GARY LEE NELSON <---@---.---> Subject: SC on PowerBooks To: sc-users@bga.com Message-id: <01IA7HL73R0600WB2Y@OBERLIN.EDU> X-VMS-To: IN%"sc-users@bga.com" MIME-version: 1.0 Content-type: TEXT/PLAIN; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com I'm about to buy a PowerBook and will want to run SC on it. Any recommendations, cautions etc? I can get a very good deal on a 5300 but have there are problems with that machine. Should I wait for the 1400? Gary Lee Nelson TIMARA Department Conservatory of Music Oberlin, OH 44074 pho; Thu, 3 Oct 1996 12:41:31 -0500 Received: from plover.music.mcgill.ca (plover [132.206.141.20]) by sound.music.mcgill.ca (8.6.10/8.6.6) with SMTP id NAA26930 for ; Thu, 3 Oct 1996 13:38:02 -0400 Message-Id: <199610031738.NAA26930@sound.music.mcgill.ca> Received: by plover.music.mcgill.ca (NX5.67f2/NX3.0X) id AA00460; Thu, 3 Oct 96 10:38:02 -0700 Content-Type: text/plain Mime-Version: 1.0 (NeXT Mail 3.3 v118.2) Received: by NeXT.Mailer (1.118.2.RR) From: Bruce Pennycook <---@---.---> Date: Thu, 3 Oct 96 10:38:00 -0700 To: sc-users@bga.com Subject: Re: SC on PowerBooks References: <01IA7HL73R0600WB2Y@OBERLIN.EDU> Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com My 5300cs (100 MHz) produces about 80% throughput of my cached 7200/90. Very reliable - runs forever (nearly) Bruce Pennycook McGill From sc-users-owner@bga.com Thu Oct 3 12:53:25 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA11440 for sc-users-outgoing; Thu, 3 Oct 1996 12:53:25 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id MAA11419 for ; Thu, 3 Oct 1996 12:53:18 -0500 Received: from [128.83.253.14] (slip-61-14.ots.utexas.edu [128.83.253.14]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id MAA04786 for ; Thu, 3 Oct 1996 12:53:20 -0500 Date: Thu, 3 Oct 1996 12:53:20 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: SC on PowerBooks Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 1:25 PM 10/3/96, GARY LEE NELSON wrote: >I'm about to buy a PowerBook and will want to run SC on it. >Any recommendations, cautions etc? I can get a very >good deal on a 5300 but have there are problems with that >machine. Should I wait for the 1400? I use SC on a 5300 all the time. I did my demo at ICMC using the 5300. I also used a Peavey PC1600 midi slider box and an Opcode MIDI translator. A real time software synth environment in a briefcase. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Thu Oct 3 13:08:37 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id NAA12808 for sc-users-outgoing; Thu, 3 Oct 1996 13:00:46 -0500 Received: from sound.music.mcgill.ca (sound.Music.McGill.CA [132.206.141.11]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id NAA12742 for ; Thu, 3 Oct 1996 13:00:27 -0500 Received: from plover.music.mcgill.ca (plover [132.206.141.20]) by sound.music.mcgill.ca (8.6.10/8.6.6) with SMTP id NAA27069 for ; Thu, 3 Oct 1996 13:57:00 -0400 Message-Id: <199610031757.NAA27069@sound.music.mcgill.ca> Received: by plover.music.mcgill.ca (NX5.67f2/NX3.0X) id AA00496; Thu, 3 Oct 96 10:57:00 -0700 Date: Thu, 3 Oct 96 10:57:00 -0700 From: Bruce Pennycook <---@---.---> To: sc-users@bga.com Subject: Read Receipt Received: by NeXT.Mailer (1.118.2) Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Your message regarding "Re: SC on PowerBooks" of Thu Oct 03 1996 10:38:00 -0700 was read on Thu Oct 03 1996 10:56:59 -0700. From sc-users-owner@bga.com Thu Oct 3 13:17:31 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA05391 for sc-users-outgoing; Thu, 3 Oct 1996 12:17:08 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id MAA05307 for ; Thu, 3 Oct 1996 12:16:47 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id TAA26557; Thu, 3 Oct 1996 19:16:37 +0200 (MET DST) Message-ID: <325412E2.73E1@musik.b.shuttle.de> Date: Thu, 03 Oct 1996 19:24:18 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Sound Manager-SC incopatibility for 7500/7600 PPC ??!!! References: Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Dear James, I tried your thru example for testing sound input via mike / line in.=20 1. the file you provide is damaged in some way so it crashes Perhaps its the comments in the beginning of the file. After recopying the code to a new file, it works ok on a=20 7100 66 AV.=20 2. On a 7500 and on a 7600 I encounter a strange problem as follows:=20 a) set input from SoundManager b) run through program. or run an empty file with just the usual audioin-audioout definitons but no functions defined and an empty start.=20 c) stop the program in the usual way with cmd-. d) restart the program in the usual way.=20 ERROR: Following error appears on the message window and dsp execution stops immediately:=20 SPBSetDeviceInfo siContinuous error: -1=20 Note that the through program runs correctly the first time both with microphone and line in (Cinch) input,=20 only IT WILL NOT RESTART. One has to restart the computer in order to make SuperCollider run again... Would appreciate an answer as we wanted to use=20 SuperCollider for realtime sampling/effects in=20 a concert October 17... Best regards, Ioannis Zannos Staatliches Institut f=FCr Musikforschung Tiergartenstr. 1, D-10785 Berlin email: iani@musik.b.shuttle.de Tel: +49 30 25481140 Fax: +49 30 25481172 From sc-users-owner@bga.com Thu Oct 3 13:42:40 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id NAA19555 for sc-users-outgoing; Thu, 3 Oct 1996 13:42:40 -0500 Received: from crl.dec.com (crl.dec.com [192.58.206.2]) by zoom.bga.com (8.6.12/8.6.12) with SMTP id NAA19536 for ; Thu, 3 Oct 1996 13:42:29 -0500 Received: by crl.dec.com; id AA21793; Thu, 3 Oct 96 14:38:22 -0400 X-Sender: Eirikur@mosaic.lkg.dec.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Thu, 3 Oct 1996 14:28:22 -0400 To: From: Eirikur Hallgrimsson <---@---.---> Subject: Re: SC on PowerBooks Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 1:40 PM -0400 10/3/96, wrote: > I can get a very > good deal on a 5300 but have there are problems with that > machine. Should I wait for the 1400? Gee, Gary, have you found a source for the disappearing grayscale 5300s? If this is a deal in which others can participate, I'd appreciate details. I have to take a working SC system on a plane flight over the holidays. I'm not edu-affiliated, so that may mean it's not doable. Eirikur Eirikur Hallgrimsson eh@ranger.enet.dec.com Generic Epistemologist "No encyclopaedia worth of the name can afford to acknowledge realistic limitations." -- Encyclopaedia Acephalica From sc-users-owner@bga.com Thu Oct 3 14:06:17 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id OAA23622 for sc-users-outgoing; Thu, 3 Oct 1996 14:06:17 -0500 Received: from alpha.cc.oberlin.edu (alpha.cc.oberlin.edu [132.162.1.245]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA23607 for ; Thu, 3 Oct 1996 14:06:12 -0500 Received: from OBERLIN.EDU by OBERLIN.EDU (PMDF V5.0-7 #16946) id <01IA7L4WBE5Y00XIMY@OBERLIN.EDU> for sc-users@bga.com; Thu, 03 Oct 1996 15:06:08 -0400 (EDT) Date: Thu, 03 Oct 1996 15:06:08 -0400 (EDT) From: GARY LEE NELSON <---@---.---> Subject: Re: SC on PowerBooks To: sc-users@bga.com Message-id: <01IA7L4WBE6000XIMY@OBERLIN.EDU> X-VMS-To: IN%"sc-users@bga.com" MIME-version: 1.0 Content-type: TEXT/PLAIN; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com The good deal is that our campus store has one left. However I have seen them advertised in the MacXXXXX catalogs. Haven't called them. Is Erik saying that they are hard to get. Still would like feedback on the new 1400. It seems to have a larger screen and builtin CD-ROM drive. From sc-users-owner@bga.com Thu Oct 3 14:08:40 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id NAA21846 for sc-users-outgoing; Thu, 3 Oct 1996 13:55:52 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id NAA21816 for ; Thu, 3 Oct 1996 13:55:44 -0500 Received: from [128.83.128.3] (slip-12-3.ots.utexas.edu [128.83.128.3]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id NAA05067 for ; Thu, 3 Oct 1996 13:55:40 -0500 Date: Thu, 3 Oct 1996 13:55:40 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Sound Manager-SC incopatibility for 7500/7600 PPC ??!!! Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 7:24 PM 10/3/96, Ioannis Zannos wrote: >Dear James, > >I tried your thru example for testing sound input via >mike / line in. >1. the file you provide is damaged in some way so it crashes >Perhaps its the comments in the beginning of the file. >After recopying the code to a new file, it works ok on a >7100 66 AV. > >2. On a 7500 and on a 7600 I encounter a strange problem as follows: > >a) set input from SoundManager >b) run through program. or run an empty file with just > the usual audioin-audioout definitons but no functions > defined and an empty start. >c) stop the program in the usual way with cmd-. >d) restart the program in the usual way. >ERROR: Following error appears on the message window >and dsp execution stops immediately: > >SPBSetDeviceInfo siContinuous error: -1 > >Note that the through program runs correctly the first >time both with microphone and line in (Cinch) input, >only IT WILL NOT RESTART. One has to restart the computer >in order to make SuperCollider run again... > >Would appreciate an answer as we wanted to use >SuperCollider for realtime sampling/effects in >a concert October 17... This is a bug in 1.0 that was fixed in version 1.1b5. The problem is that on the PCI Macs Apple's sound input driver does not free the hardware as it is supposed to. They gave me a work around which I put into 1.1b5. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Thu Oct 3 14:16:09 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id OAA25382 for sc-users-outgoing; Thu, 3 Oct 1996 14:16:09 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA25291 for ; Thu, 3 Oct 1996 14:15:44 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id VAA02922; Thu, 3 Oct 1996 21:15:37 +0200 (MET DST) Message-ID: <32542EC7.59B2@musik.b.shuttle.de> Date: Thu, 03 Oct 1996 21:23:19 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Re: Sound Manager-SC incopatibility // oop 'this' References: <325412E2.73E1@musik.b.shuttle.de> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Here is the question on SoundManager - SuperCollider=20 incompatibility on 7500 PPC Macs, again for clarity:=20 Running an "empty" program, or any other harmless=20 sc code on the 7500, but having selected=20 "In from Sound Mgr" from the Synth menu previously, will work only once. The next time I try to run the program, I get the error:=20 PBSetDeviceInfo siContinuous error: -1 Has anybody successfully input sound on a 7500/7600=20 with SuperCollider? This error looks rather like something to do with the hardware of these desktop models. My system is english, version 7.5.3. I tried=20 setting both mike in and line in on the Monitor & Sound control panel to no avail.=20 ----------------- Answer to my own previous question about 'this' in class definitions: I tried some test code and 'this' was reachable from scheduled functions. It must have been my mistake, trying to schedule methods like [1, this.go].sched that produced the mistake. =20 Ioannis Zannos Staatliches Institut f=FCr Musikforschung Tiergartenstr. 1, D-10785 Berlin email: iani@musik.b.shuttle.de Tel: +49 30 25481140 Fax: +49 30 25481172 From sc-users-owner@bga.com Thu Oct 3 15:08:38 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id OAA27077 for sc-users-outgoing; Thu, 3 Oct 1996 14:25:56 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA27060 for ; Thu, 3 Oct 1996 14:25:52 -0500 Received: from [128.83.128.3] (slip-12-3.ots.utexas.edu [128.83.128.3]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id OAA05224 for ; Thu, 3 Oct 1996 14:25:54 -0500 Date: Thu, 3 Oct 1996 14:25:54 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Sound Manager-SC incopatibility // oop 'this' Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 9:23 PM 10/3/96, Ioannis Zannos wrote: >PBSetDeviceInfo siContinuous error: -1 The answer is use version 1.1b5. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Thu Oct 3 16:08:38 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id PAA06652 for sc-users-outgoing; Thu, 3 Oct 1996 15:24:13 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id PAA06613 for ; Thu, 3 Oct 1996 15:24:02 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id WAA06160; Thu, 3 Oct 1996 22:23:52 +0200 (MET DST) Message-ID: <32543EC4.7A2C@musik.b.shuttle.de> Date: Thu, 03 Oct 1996 22:31:32 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Re: Sound Manager-SC incopatibility/ SC FTP archives? References: Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James,=20 Thank you indeed for anwering my question about the sound input bug I reread your posting on 1.1b version and see its the first bug you=20 corrected there. Time to try out 1.1b4 or 1.1b5. Ioannis Zannos Staatliches Institut f=FCr Musikforschung Tiergartenstr. 1, D-10785 Berlin email: iani@musik.b.shuttle.de Tel: +49 30 25481140 Fax: +49 30 25481172 From sc-users-owner@bga.com Sat Oct 5 13:54:49 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id NAA11025 for sc-users-outgoing; Sat, 5 Oct 1996 13:54:49 -0500 Received: from tribune.concentric.net (tribune.concentric.net [199.3.12.34]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id NAA11011 for ; Sat, 5 Oct 1996 13:54:43 -0500 Received: from cliff.cris.com (cliff.cris.com [199.3.12.45]) by tribune.concentric.net (8.7.5/(96/09/19 1.3)) id OAA02480; Sat, 5 Oct 1996 14:54:40 -0400 (EDT) [1-800-745-2747 The Concentric Network] Received: from [206.173.160.54] (cnc016054.concentric.net [206.173.160.54]) by cliff.cris.com (8.7.5) id OAA12457; Sat, 5 Oct 1996 14:54:35 -0400 (EDT) Date: Sat, 5 Oct 1996 14:54:35 -0400 (EDT) X-Sender: boldrsnd@pop3.concentric.net (Unverified) Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: boldrsnd@concentric.net (Dennis Burns) Subject: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Hello all, I'm new to this list, and the SuperCollider in general. I thought perhaps I should just email James McCartney with my questions, but then I thought there might be someone else on this list who is just as lost as I am that might benefit from my ignorance. I'll just give you my a brief background on myself. I have a strong classical music background and also a degree in music. I've been working with synthesizers and sampled sounds for about 7 years and believe I have a pretty good foundation on various types of synthesis... or at least I should say I thought I did until I opened up the "SuperCollider" manual and looked at it and said "huh??????". Perhaps the problem is I have no experience writing computer programs in C or C+ or whatever else is out there. I also have tried to work through the tutorials and I am certainly seeing logic to it but I am getting the feeling that a great deal of knowledge is already assumed. However, I am determined to learn some of this and write my own programs (patches, I guess). I am quite persistant in these kinds of challenges. I have had sucess creating different sound files with SC, some that are quite interesting. I have also had success (partially) in putting some of my own sampled sounds to be manipulated by SC, which was quite a bit of fun! I have also randomly changed some of the values in the patches that exist and noted the changes in the resulting audio. I have read through the manual a couple of times but am only able to comprehend about 1/10 of it. Here's some questions I have. 1.Would it be helpfull (or necessary) for me to learn a programming language in order to better understand what is going on in SC? 2. Can I input my own sampled sound into ANY of the patches that SC arrived with, or is this limited to certain patches? The manual shows in tutorial6 how this is done and it was helpfull info, but it doesn't seem to apply to ALL patches...am I correct? 3. What are the FX patches used for, or how can they be used. Are they to be used with the input of an audio signal such as plugging a guitar into my Audiomedia II card and using SC as an effects processor? Am I even close? 4. When would I use "in from file" optin in the synth menu. 5. Is there a reference book that I might read to familiarize myself with these types of synthesis that I'm not already familiar with? I guess this comment goes to James: I think it would be helpfull to have a section in the manual which would help someone such as myself who is not new to synthesis but is new to this approach or language that SC uses. Please don't get me wrong on this, I think SC is one of the most unique things I heard in a LONG time, and I think the sounds that can be created are wonderfull! But I feel like I trying to launch a rocket rather than synthesize some sound files. Any help would be greatly appreciated, and any path that you migh suggest I follow to gain a better understanding of SC would also be most helpfull. Thank You Dennis Burns Bolder Sounds Boulder,Colorado CD ROM "Eclectic" in Akai and K2000 format Reviewed in the June issue of "Electronic Musician" http://www.concentric.net/~boldrsnd/ From sc-users-owner@bga.com Sat Oct 5 14:27:09 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id OAA14567 for sc-users-outgoing; Sat, 5 Oct 1996 14:27:09 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id OAA14559 for ; Sat, 5 Oct 1996 14:27:06 -0500 Received: from [128.83.254.96] (slip-74-16.ots.utexas.edu [128.83.254.96]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id OAA12993 for ; Sat, 5 Oct 1996 14:27:04 -0500 Date: Sat, 5 Oct 1996 14:27:04 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 2:54 PM 10/5/96, Dennis Burns wrote: >1.Would it be helpfull (or necessary) for me to learn a programming >language in order to better understand what is going on in SC? Yes definately. I tried to scare away people who weren't programmers in the FAQ. I'd prefer not to sell it rather than have someone unable to use it. >2. Can I input my own sampled sound into ANY of the patches that SC arrived >with, or is this limited to certain patches? The manual shows in tutorial6 >how this is done and it was helpfull info, but it doesn't seem to apply to >ALL patches...am I correct? If you get rid of the loadAllAudio call then it won't try and load in the named buffer. You will then have to load the file in yourself by opening the audio buffer window and using the Load Audio menu command. >3. What are the FX patches used for, or how can they be used. Are they to >be used with the input of an audio signal such as plugging a guitar into my >Audiomedia II card and using SC as an effects processor? Am I even close? They are for sound input via the sound mgr or from a file. You will get better performance by using the Mac's sound input rather than the Audiomedia. >4. When would I use "in from file" optin in the synth menu. WHen you want to process a file instead of the sound mgr input. >5. Is there a reference book that I might read to familiarize myself with >these types of synthesis that I'm not already familiar with? Some good books are: Computer Music Tutorial, Curtis Roads. (surveys everything thats been done) Elements of Computer Music, F Richard Moore. Computer Music, Charles Dodge, Thomas Jerse. Musical Applications of Microprocessors, Hal Chamberlain (a bit dated though). >I guess this comment goes to James: I think it would be helpfull to have a >section in the manual which would help someone such as myself who is not >new to synthesis but is new to this approach or language that SC uses. >Please don't get me wrong on this, I think SC is one of the most unique >things I heard in a LONG time, and I think the sounds that can be created >are wonderfull! But I feel like I trying to launch a rocket rather than >synthesize some sound files. What you need is a book on programming and some time doing it. I would suggest a book on Smalltalk or Scheme which are the languages closest to SC. When you look at books find "closure" in the index, if it isn't there, don't buy it. I can't really provide that kind of instruction and have to assume that the user knows it. I have tried in the FAQ to make it clear that programming knowledge is necessary. If a person has only programmed in C then there are probably some things about SC that they will be unfamiliar with such as dynamic typing and closures. I would suggest a book on Scheme. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Sun Oct 6 07:05:45 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id HAA14967 for sc-users-outgoing; Sun, 6 Oct 1996 07:05:45 -0500 Received: from mail.eclipse.net (root@mail.eclipse.net [205.197.48.13]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id HAA14953 for ; Sun, 6 Oct 1996 07:05:40 -0500 Received: from [205.197.49.38] (so1-38.eclipse.net [205.197.49.38]) by mail.eclipse.net (8.7.4/8.6.12) with ESMTP id IAA05676 for ; Sun, 6 Oct 1996 08:05:34 -0400 (EDT) X-Sender: kmistove@mail.eclipse.net Message-Id: In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Sun, 6 Oct 1996 08:04:55 -0500 To: sc-users@bga.com From: Ken Mistove <---@---.---> Subject: Re: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James McCartney wrote in a reply: >What you need is a book on programming and some time doing it. >I would suggest a book on Smalltalk or Scheme which are the >languages closest to SC. When you look at books find "closure" >in the index, if it isn't there, don't buy it. I can't really provide >that kind of instruction and have to assume that the user knows it. >I have tried in the FAQ to make it clear that programming knowledge is >necessary. > >If a person has only programmed in C then there are probably some things >about SC that they will be unfamiliar with such as dynamic typing and >closures. I would suggest a book on Scheme. I found 6 books on Scheme available for sale online at http://www.amazon.com/. Many more are available on Smalltalk. As we all have probably experienced, finding computer lanquage books can and often turns into a quest. Amazon Books has a huge selection (I don't work for them). I just wanted to pass the info along. Have fun! Ken Mistove kmistove@eclipse.net http://www.eclipse.net/~kmistove/ From sc-users-owner@bga.com Sun Oct 6 11:49:04 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id LAA05319 for sc-users-outgoing; Sun, 6 Oct 1996 11:49:04 -0500 Received: from tribune.concentric.net (tribune.concentric.net [199.3.12.34]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id LAA05309 for ; Sun, 6 Oct 1996 11:49:01 -0500 Received: from cliff.cris.com (cliff.cris.com [199.3.12.45]) by tribune.concentric.net (8.7.5/(96/09/19 1.3)) id MAA24984; Sun, 6 Oct 1996 12:48:57 -0400 (EDT) [1-800-745-2747 The Concentric Network] Received: from [206.173.160.62] (cnc016062.concentric.net [206.173.160.62]) by cliff.cris.com (8.7.5) id MAA19165; Sun, 6 Oct 1996 12:48:52 -0400 (EDT) Date: Sun, 6 Oct 1996 12:48:52 -0400 (EDT) X-Sender: boldrsnd@pop3.concentric.net Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: boldrsnd@concentric.net (Dennis Burns) Subject: Re: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Thank You for the various replies. Yes, I did re-read the FAQ more carefully and it is clear that BOTH some kind of language programming experience is necessary along with synthesis experience. I must say though that I do not feel as though I "can't use it" (SC that is). I had a great deal of fun just inputting some samples and moving the parameter sliders etc... That experience alone is worth the purchase price, and of course being able to save the SDII files makes it priceless. I also shall look into these various books on programming, thanks for the references. One suggestion: It might be nice to have a whole slew of patches that are very straight foward as far as inputting your own samples into. Perhaps via a simple flip menu. These set ups would let someone who has no "programming" experience still have a great deal of fun with SC. And then on another level, have the programming language for those who really want to "dig in". I have no idea how hard this would be to implement though, and I know we all value our time dearly. Something of this sort might make SC more tangible to a great many musicians who "dabble" in creating their own patches on synthesizers. Just a thought, and I hope I have not offended anyone. Thanks and Best Wishes, Dennis Burns Bolder Sounds Boulder,Colorado CD ROM "Eclectic" in Akai and K2000 format Reviewed in the June issue of "Electronic Musician" Reviewed in "Sound On Sound" Sept. 1996 http://www.concentric.net/~boldrsnd/ From sc-users-owner@bga.com Sun Oct 6 12:13:03 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA07401 for sc-users-outgoing; Sun, 6 Oct 1996 12:13:03 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id MAA07387 for ; Sun, 6 Oct 1996 12:13:00 -0500 Received: from [128.83.219.49] (slip-83-1.ots.utexas.edu [128.83.219.49]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id MAA15071 for ; Sun, 6 Oct 1996 12:13:03 -0500 Date: Sun, 6 Oct 1996 12:13:03 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 12:48 PM 10/6/96, Dennis Burns wrote: > Something of this sort might make SC more tangible to a great many >musicians who "dabble" in creating their own patches on synthesizers. Just >a thought, and I hope I have not offended anyone. Not at all. I have a number of ideas for making the UI more terraced in accessibility. These will take a while to implement. The hard part has been in coming up with a graphic paradigm that still retains the power of SC. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Sun Oct 6 12:29:49 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA08569 for sc-users-outgoing; Sun, 6 Oct 1996 12:29:49 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id MAA08558 for ; Sun, 6 Oct 1996 12:29:46 -0500 Received: from [128.83.219.49] (slip-83-1.ots.utexas.edu [128.83.219.49]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id MAA15115 for ; Sun, 6 Oct 1996 12:29:49 -0500 Date: Sun, 6 Oct 1996 12:29:49 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: platform Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com I'd appreciate it if all of you would take a moment and send me the model of computer you are using SC on. The BeOS will be coming out in January for PCI PowerMacs with 603s and 604s. This will be a very good platform for SC. I will keep maintaining and upgrading the Mac version. However with the BeOS I would be able to add a number of nicer features. Rumor has it that PowerComputing will begin bundling BeOS with new machines. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Sun Oct 6 21:12:44 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id VAA06271 for sc-users-outgoing; Sun, 6 Oct 1996 21:12:44 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id VAA06243 for ; Sun, 6 Oct 1996 21:12:32 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id EAA02168; Mon, 7 Oct 1996 04:12:24 +0200 (MET DST) Message-ID: <325884FD.782B@musik.b.shuttle.de> Date: Mon, 07 Oct 1996 04:20:13 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Re: platform References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James McCartney wrote: > > I'd appreciate it if all of you would take a moment and send me the model > of computer you are using SC on. > > The BeOS will be coming out in January for PCI PowerMacs with > 603s and 604s. This will be a very good platform for SC. > I will keep maintaining and upgrading the Mac version. > However with the BeOS I would be able to add a number of nicer > features. Rumor has it that PowerComputing will begin bundling > BeOS with new machines. > Occasionally using it on PowerBook 5300, PPC 7100 66AV. More often on PPC 7500. The BeOS / PowerComputing story sounds very interesting. I dont know how far these machines are available in Germany, where I work, but I will look for them. Although a regular Mac would also do. SuperCollider on a multiprocessing platform with "threaded" OS Kernel - Wow! ---- And some comments: In the manual to version 1.0 you describe now once as returning the time in milliseconds (under section for scheduling, and at another place as returning it in seconds (DSP I think). (Maybe somebody has pointed this out already). I could not find Klag in the online function reference. The function shaper is not recognized by the system in version 1.5b although shaper2 is. I get syntax error for something like: osc.value(\, \, env.).shaper(transftab, 0.5).out(L).out(R); Would appreciate some examples for shaper, and more code examples generally in matters of pipes, stages, use of frames/references etc. That would greatly increase the accessibility of SC to those that do not know scheme. For example, there is no single example of getting a "context" and what to do with it in the whole SC package. I cannot imagine how to use this feature. (Please answer "read a book on Scheme", - why not use SC to learn about frames, like about so many other things? A few examples can be more worth than hundreds of pages. Another question: how can one stop a function scheduled in the DSP queue other than through dspRemove from within (called either by an envelope or by polling a variable accessible also outside the function, or by doing unsched on a list stored by the function again on a variable accessible to the outside?) Is there some way of doing a kind of "message passing" to a function, perhaps by using closures? Perhaps the API for radio buttons could be improved noticeably with relatively little effort: Since check buttons and radio buttons only have one function associated with them, it gets called both when switching on and off. This is cumbersome, because each such function must check the value of the button and decide if its on and off this time. What about adding an off function? Also, switching on of a radio button from the program does not switch the previously active button off (as is the case when clicking with the mouse). I could not get 'change' to work correctly on version 1.0. It kept returning different results each time. Havent tried again since. And finally, a question I long wanted but was hesitant to ask: Could you divulge some of the literature you used to design the DSP algorithms in SC? The books you cited in your message to Dennis Burns seem to me not to give enough of the necessary algorithmic details (although Roads gets often quite close). Regards Ioannis Zannos SIM From sc-users-owner@bga.com Sun Oct 6 21:49:41 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id VAA10676 for sc-users-outgoing; Sun, 6 Oct 1996 21:49:41 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id VAA10665 for ; Sun, 6 Oct 1996 21:49:37 -0500 Received: from [128.83.204.120] (slip-8-8.ots.utexas.edu [128.83.204.120]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id VAA16225 for ; Sun, 6 Oct 1996 21:49:31 -0500 Date: Sun, 6 Oct 1996 21:49:31 -0500 X-Sender: james@clyde.as.utexas.edu (Unverified) Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: platform Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 4:20 AM 10/7/96, Ioannis Zannos wrote: >In the manual to version 1.0 you describe now >once as returning the time in milliseconds (under >section for scheduling, and at >another place as returning it in seconds (DSP I think). >(Maybe somebody has pointed this out already). Yes that's an error from the Pyrite version of the manual creeping in. It is seconds. >I could not find Klag in the online function reference. It's there under "Filters" or "All" >The function shaper is not recognized by the system >in version 1.5b although shaper2 is. I get >syntax error for something like: > >osc.value(\, \, env.).shaper(transftab, 0.5).out(L).out(R); > >Would appreciate some examples for shaper, and more >code examples generally in matters of pipes, stages, >use of frames/references etc. That would greatly increase the >accessibility of SC to those that do not know scheme. OK there appears to be a bug with shaper. I'll look at it > >For example, there is no single example of getting a "context" >and what to do with it in the whole SC package. I cannot >imagine how to use this feature. (Please answer >"read a book on Scheme", - why not use SC to learn about >frames, like about so many other things? A few examples >can be more worth than hundreds of pages. I can't really think of a practical use for 'context', except in my debugging. > >Another question: how can one stop a function scheduled in the >DSP queue other than through dspRemove from within >(called either by an envelope or by polling a variable >accessible also outside the function, or by doing unsched >on a list stored by the function again on a variable >accessible to the outside?) Is there some way of doing >a kind of "message passing" to a function, perhaps by using >closures? myinstr { var stopit = 0; -- define a flag osc = Asinosc(300); { if stopit then dspRemove end -- if flag is set remove task osc.value.out(L); }.dspAdd; ^{ stopit = 1 } -- return a function that sets the flag. } var fn; start { fn = myinstr; -- start task and keep a copy of the returned function } button1 { fn.value; } >I could not get 'change' to work correctly on version 1.0. >It kept returning different results each time. Havent tried again >since. Ooh yes there's another bug.. >And finally, a question I long wanted but was hesitant to ask: >Could you divulge some of the literature you used to design >the DSP algorithms in SC? The books you cited in your message to >Dennis Burns seem to me not to give enough of the necessary >algorithmic details (although Roads gets often quite close). First I read the sources to Music 360, later CSound and I've been hacking up synth engines for a while. In 1986 I sold a program for synthesis on the Mac+ for the Ensoniq Mirage that had a Moog style patch cord interface. In 1990 I wrote a program called Synth-O-Matic which was a nonrealtime synth language. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Mon Oct 7 01:51:54 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id BAA06405 for sc-users-outgoing; Mon, 7 Oct 1996 01:51:54 -0500 Received: from pop1.sirius.com (pop1.sirius.com [205.134.253.71]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id BAA06398 for ; Mon, 7 Oct 1996 01:51:51 -0500 Received: from [205.134.228.15] (ppp103-sf2.sirius.com [205.134.228.103]) by pop1.sirius.com (8.6.12/960710) with SMTP id XAA03485 for ; Sun, 6 Oct 1996 23:51:27 -0700 Date: Sun, 6 Oct 1996 23:51:27 -0700 X-Sender: ear@mail.sirius.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: ear@sirius.com (jhno) Subject: Re: platform Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com 7500 here at home... 8500 at work, i believe. -jhno (hopes you are well) "For once you have tasted flight you will walk the earth with your eyes turned skyward; for there you have been and there you long to return." Leonardo da Vinci delicate ear ear@sirius.com san francisco, ca http://www.sirius.com/~ear From sc-users-owner@bga.com Mon Oct 7 05:34:41 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id FAA18248 for sc-users-outgoing; Mon, 7 Oct 1996 05:34:41 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id FAA18148 for ; Mon, 7 Oct 1996 05:32:43 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id MAA25297; Mon, 7 Oct 1996 12:26:34 +0200 (MET DST) Message-ID: <3258F8D6.1670@musik.b.shuttle.de> Date: Mon, 07 Oct 1996 12:34:30 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Will SC become communicative?/ dspRemove... References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James McCartney wrote: > > At 4:20 AM 10/7/96, Ioannis Zannos wrote: > > >In the manual to version 1.0 you describe now > >once as returning the time in milliseconds (under > >section for scheduling, and at > >another place as returning it in seconds (DSP I think). > >(Maybe somebody has pointed this out already). > > Yes that's an error from the Pyrite version of the manual > creeping in. It is seconds. > > >I could not find Klag in the online function reference. > > It's there under "Filters" or "All" > > >The function shaper is not recognized by the system > >in version 1.5b although shaper2 is. I get > >syntax error for something like: > > > >osc.value(\, \, env.).shaper(transftab, 0.5).out(L).out(R); > > > >Would appreciate some examples for shaper, and more > >code examples generally in matters of pipes, stages, > >use of frames/references etc. That would greatly increase the > >accessibility of SC to those that do not know scheme. > > OK there appears to be a bug with shaper. I'll look at it > > > > >For example, there is no single example of getting a "context" > >and what to do with it in the whole SC package. I cannot > >imagine how to use this feature. (Please answer > >"read a book on Scheme", - why not use SC to learn about > >frames, like about so many other things? A few examples > >can be more worth than hundreds of pages. > > I can't really think of a practical use for 'context', > except in my debugging. > > > > >Another question: how can one stop a function scheduled in the > >DSP queue other than through dspRemove from within > >(called either by an envelope or by polling a variable > >accessible also outside the function, or by doing unsched > >on a list stored by the function again on a variable > >accessible to the outside?) Is there some way of doing > >a kind of "message passing" to a function, perhaps by using > >closures? James, It is a pity that SuperCollider does not send MIDI yet, and even more, that it cannot communicate via Ethernet (TCP-IP) or serial interface. Will this change with the BeOS port? That is a thing I really miss on this precious piece of software. As for the code for calling dspRemove, it is similar to the standard method I also use, except for the elegant way of setting up the stopit flag. I simply declare the stopit flag itself as global. Your method looks to me better - I wont attempt to explain it here. I was looking something that doesnt even involve polling the flag. Maybe at this level it doesnt make sense to build something like this in the system - but with BeOS who knows. Your example: > > myinstr { > var stopit = 0; -- define a flag > > osc = Asinosc(300); > { > if stopit then dspRemove end -- if flag is set remove task > osc.value.out(L); > }.dspAdd; > > ^{ stopit = 1 } -- return a function that sets the flag. > } > > var fn; > > start { > fn = myinstr; -- start task and keep a copy of the returned function > } > > button1 { fn.value; } > About DSP literature: > First I read the sources to Music 360, later CSound and I've > been hacking up synth engines for a while. In 1986 I sold > a program for synthesis on the Mac+ for the Ensoniq Mirage > that had a Moog style patch cord interface. > In 1990 I wrote a program called Synth-O-Matic which was a > nonrealtime synth language. It shows. Thanks for the tip on CSound sources, Regards, Iannis Zannos SIM Berlin. DE From sc-users-owner@bga.com Mon Oct 7 13:12:20 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id MAA15478 for sc-users-outgoing; Mon, 7 Oct 1996 12:34:58 -0500 Received: from crl.dec.com (crl.dec.com [192.58.206.2]) by zoom.bga.com (8.6.12/8.6.12) with SMTP id MAA15364 for ; Mon, 7 Oct 1996 12:34:32 -0500 Received: by crl.dec.com; id AA04434; Mon, 7 Oct 96 13:29:20 -0400 X-Sender: Eirikur@mosaic.lkg.dec.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 7 Oct 1996 12:44:42 -0400 To: From: Eirikur Hallgrimsson <---@---.---> Subject: Re: Many Questions Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Actually, converting the examples to take input from a file is pretty easy and in many cases can be done from the menus, without code changes. I haven't used this much, but I have tried it, and it does work. (There was a bug in this with some recent version, but I'm sure James has fixed it by now.) Eirikur Eirikur Hallgrimsson eh@ranger.enet.dec.com Generic Epistemologist "No encyclopaedia worth of the name can afford to acknowledge realistic limitations." -- Encyclopaedia Acephalica From sc-users-owner@bga.com Mon Oct 7 19:34:46 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id TAA26532 for sc-users-outgoing; Mon, 7 Oct 1996 19:34:46 -0500 Received: from dishes.pixar.com (dishes.pixar.com [138.72.20.78]) by zoom.bga.com (8.6.12/8.6.12) with SMTP id TAA26519 for ; Mon, 7 Oct 1996 19:34:43 -0500 Received: from [138.72.25.187] by dishes.pixar.com with smtp (Smail3.1.28.1 #15) id m0vAQ80-0006w1C; Mon, 7 Oct 96 17:34 PDT Date: Mon, 7 Oct 96 17:34 PDT X-Sender: alex@dishes.pixar.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: Alex Stahl <---@---.---> Subject: copying buffers Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James et al, After recording into an excessively large buffer for a user-determined period, I want to trim off the unused tail of the buffer. The following function works, by making a trimmed copy, but it is a little slow. Is there a faster method, perhaps one that copies subframes rather than individual samples? thanks in advance. trimcopy { arg srcbuf destbuf destlen; nsamps = (destlen * sr).ceil; -- convert seconds to samples allocAudio(destbuf, nsamps); for i = 0; i < nsamps; i=i+1 do wavePut(destbuf,i,waveAt(srcbuf,i)); -- copy samples from srcbuf to destbuf end; } BTW, here's how I time the recording... record and stop are called by the GUI. subFrameTime = subFrameSize / sr; record { doRec = Arecord(recbuf,`dspRemove); stopvar = 0; reclen = 0; { if stopvar then dspRemove end; doRec.(Lin.in); destlen = destlen + subFrameTime; -- accumulate duration of recording }.dspAdd(1); } stop { stopvar = 1 } Finally, there isn't a function to save an audiobuf to disk, is there? -Alex Stahl - Sound Designer - Pixar Animation Studios "most of the day, we were at the machinery in the dark chairs that the seasons ignore" From sc-users-owner@bga.com Tue Oct 8 03:46:24 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id DAA26073 for sc-users-outgoing; Tue, 8 Oct 1996 03:46:24 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id DAA26061 for ; Tue, 8 Oct 1996 03:46:20 -0500 Received: from [128.83.254.164] (slip-79-4.ots.utexas.edu [128.83.254.164]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id DAA20441 for ; Tue, 8 Oct 1996 03:46:14 -0500 Date: Tue, 8 Oct 1996 03:46:14 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: copying buffers Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 5:34 PM 10/7/96, Alex Stahl wrote: >James et al, > >After recording into an excessively large buffer for a user-determined >period, I want to trim off the unused tail of the buffer. The following >function works, by making a trimmed copy, but it is a little slow. Is >there a faster method, perhaps one that copies subframes rather than >individual samples? This is the only way so far. You could Abufrd -> Arecord from one buffer to another. That would take real time to copy. >BTW, here's how I time the recording... record and stop are called by the GUI. > >subFrameTime = subFrameSize / sr; > >record { > doRec = Arecord(recbuf,`dspRemove); > stopvar = 0; > reclen = 0; > { > if stopvar then dspRemove end; > doRec.(Lin.in); > destlen = destlen + subFrameTime; -- accumulate duration of recording > }.dspAdd(1); >} > >stop { stopvar = 1 } Is destlen a global variable? Are reclen and destlen supposed to be the same (i.e. a typo) ? How about something a bit cheaper to execute: record { doRec = Arecord(recbuf,`dspRemove); stopvar = 0; reclen = now; { if stopvar then reclen = now - reclen; dspRemove end; doRec.(Lin.in); }.dspAdd(1); } > >Finally, there isn't a function to save an audiobuf to disk, is there? There is in the version I'm working on. I've been swamped recently so I've not done as much as I would like to on SC. This should let up some in a month or so I hope. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Tue Oct 8 11:43:45 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id LAA23593 for sc-users-outgoing; Tue, 8 Oct 1996 11:43:45 -0500 Received: from dishes.pixar.com (dishes.pixar.com [138.72.20.78]) by zoom.bga.com (8.6.12/8.6.12) with SMTP id LAA23578 for ; Tue, 8 Oct 1996 11:43:41 -0500 Received: from [138.72.25.187] by dishes.pixar.com with smtp (Smail3.1.28.1 #15) id m0vAfFb-0004V6C; Tue, 8 Oct 96 09:43 PDT Date: Tue, 8 Oct 96 09:43 PDT X-Sender: alex@dishes.pixar.com Message-Id: In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: Alex Stahl <---@---.---> Subject: Re: copying buffers Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 3:46 AM -0500 10/8/96, James McCartney wrote: >At 5:34 PM 10/7/96, Alex Stahl wrote: >>BTW, here's how I time the recording... record and stop are called by >>the GUI. >> >>subFrameTime = subFrameSize / sr; >> >>record { >> doRec = Arecord(recbuf,`dspRemove); >> stopvar = 0; >> reclen = 0; <- TYPO, should be destlen >> { >> if stopvar then dspRemove end; >> doRec.(Lin.in); >> destlen = destlen + subFrameTime; -- accumulate duration of recording >> }.dspAdd(1); >>} >> >>stop { stopvar = 1 } > >Is destlen a global variable? Are reclen and destlen supposed to be the same >(i.e. a typo) ? yes, it'a typo, I was trying to make a readable excerpt and missed. >How about something a bit cheaper to execute: > >record { > doRec = Arecord(recbuf,`dspRemove); > stopvar = 0; > reclen = now; > { > if stopvar then reclen = now - reclen; dspRemove end; > doRec.(Lin.in); > }.dspAdd(1); >} Oh yes, although that doesn't seem to work if the recording ends due to a full recbuf rather than a stop command. How about this: stopRec { reclen = now - reclen; dspRemove; } record { doRec = Arecord(wave1,`stopRec); stopvar = 0; reclen = now; { if stopvar then stopRec end; out(Lin.in,L); doRec.(Lin.in); }.dspAdd(1); } >>Finally, there isn't a function to save an audiobuf to disk, is there? > >There is in the version I'm working on. Great! I haven't made many noises worth saving yet anyway, but it would be very nice to save the entire state of an interactive recording/looping thang. thanks, Alex From sc-users-owner@bga.com Mon Oct 14 15:04:36 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id PAA17697 for sc-users-outgoing; Mon, 14 Oct 1996 15:04:36 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id PAA17580 for ; Mon, 14 Oct 1996 15:04:13 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id WAA22900; Mon, 14 Oct 1996 22:03:58 +0200 (MET DST) Message-ID: <3262BAB9.2D33@musik.b.shuttle.de> Date: Mon, 14 Oct 1996 22:12:09 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: freadlist readlimit problem. Table2File, File2Table. References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com Two input limits that hamper working with files. IMHO they are serious enough, since they make loading of data such as chord sequences, (even when each chord is coded as a binary number...) and TABLES! freadline will crash when reading in strings more than 256 chars (since string size is limited to 256 chars in SC) freadlist will only read up to the end of line OR up to the next 128 characters. Here follows a utility I tried to build in order to be able to save and load tables as number lists on file. This is useful when one wants to transport the sounds/envelopes developed in one sc patch to another patch. I used while ... do to read to the end of the list. Unfortunately there is a bug in the code below which I was unable to identify: when reloading a saved table file, for example a sine wave (default table contents), there are 3 positions in the wave where there ajumps to very high values, exactly at the "seams" between the 128 element list parts. Perhaps my code at: result = []; while (theData = freadlist(fid)).size > 0 do result.insertAllAt(result.size, theData); end; has a mistake? I cannot see one. Please correct.... If there are better ways of saving/loading tables that I have overseen, would be glad for a hint! Thanks, Ioannis Zannos Staatliches Institut fuer Musikforschung Tiergartenstr. 1, D-10785 Berlin GERMANY Tel. +49 30 25481140 Fax. +49 30 25481172 From sc-users-owner@bga.com Tue Oct 15 22:12:15 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id WAA00300 for sc-users-outgoing; Tue, 15 Oct 1996 22:12:15 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id WAA00286 for ; Tue, 15 Oct 1996 22:12:11 -0500 Received: from [128.83.251.129] (slip-59-1.ots.utexas.edu [128.83.251.129]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id WAA17000 for ; Tue, 15 Oct 1996 22:12:16 -0500 Date: Tue, 15 Oct 1996 22:12:16 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: freadlist readlimit problem. Table2File, File2Table. Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com I will look at these.. If I don't respond, bug me again. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx From sc-users-owner@bga.com Mon Oct 21 08:08:56 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id IAA00863 for sc-users-outgoing; Mon, 21 Oct 1996 08:08:56 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id IAA00688 for ; Mon, 21 Oct 1996 08:07:36 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id PAA23366; Mon, 21 Oct 1996 15:06:54 +0200 (MET DST) Message-ID: <326B938C.4AE@musik.b.shuttle.de> Date: Mon, 21 Oct 1996 15:15:24 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Re: freadlist readlimit problem. Table2File, File2Table. References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com James McCartney wrote: > > I will look at these.. If I don't respond, bug me again. > Here is the code, which I forgot to include last time. Now I have substituted $! for insertAllAt:. $! is more correct. Still there are jumps in 2 places when reloading the saved table! When this problem is fixed, then the following file would be a fine utility for everybody to save and load their tables. -------------------------------------------------------------- defaudioin Lin Rin; defaudioout L R; deftable t1 t2 t3 t4 t5; init { addMenuCmd('load table', `loadTable); addMenuCmd('save table', `saveTable); } start { } ------------ GENERAL USER QUERIES getTableFromUser { var tablename, theTable; tablename = (getStringFromUser("t1", "enter table name:")); theTable = tablename.spell.list2sym.resolveName; if (\table == theTable.type) then ^theTable; else ^0; end.if; } ------------ LOADING TABLES loadTable { var filename tablename theTable theData; filename = (getStringFromUser("xm:sc:TABLES:", "enter full file name:")); readTableFromFile(filename, getTableFromUser); } readTableFromFile { arg filename theTable; var theData; if theTable then theData = filename.readListFromFile; list2Table(theData, theTable); end.if; } list2Table { arg theList theTable; -- theList.post; waveFill( theTable, { arg ind curval tabind; ^theList @@ (ind.round(1)); }, 0, theList.size - 1); } readListFromFile { arg filename; var result theData; ['reading file', filename].post; fid = fopen(filename 'r'); if fid == \ then 'FILE NOT FOUND'.post; else result = []; while (theData = freadlist(fid)).size > 0 do result $! theData; end; end.if; fclose(fid); -- 'DATA READ!'.post; ^result; } ------------ SAVING TABLES saveTable { var filename tablename theTable theData; filename = (getStringFromUser("xm:sc:TABLES:", "enter full file name:")); saveTableToFile(filename, getTableFromUser); } table2List { arg theTable; result = []; for i = 0; i < 512; i = i + 1 do result.add(theTable.waveAt(i)); end.for; ^result; } saveTableToFile { arg filename theTable; var theData; if theTable then theData = table2List(theTable); saveListToFile(theData, filename); end.if; } saveListToFile { arg theData, filename; ['writing file', filename].post; fid = fopen(filename 'w'); if fid == \ then 'FILE NOT FOUND'.post; else theData.fwritelist(fid); end.if; fclose(fid); } -- Ioannis Zannos Staatliches Institut fuer Musikforschung Tiergartenstr. 1, D-10785 Berlin GERMANY Tel. +49 30 25481140 Fax. +49 30 25481172 From sc-users-owner@bga.com Mon Oct 21 08:30:15 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id IAA03726 for sc-users-outgoing; Mon, 21 Oct 1996 08:30:15 -0500 Received: from berlin.shuttle.de (berlin.shuttle.de [194.95.246.252]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id IAA03188 for ; Mon, 21 Oct 1996 08:26:01 -0500 Received: from [194.95.246.124] (p124.b.shuttle.de [194.95.246.124]) by berlin.shuttle.de (8.7.5/8.7.1) with SMTP id PAA23825; Mon, 21 Oct 1996 15:25:04 +0200 (MET DST) Message-ID: <326B97CF.4111@musik.b.shuttle.de> Date: Mon, 21 Oct 1996 15:33:35 +0000 From: Ioannis Zannos <---@---.---> Organization: Staatliches Insitut fuer Musikforschung X-Mailer: Mozilla 2.0 (Macintosh; I; PPC) MIME-Version: 1.0 To: sc-users@bga.com Subject: Problems saving "large" files? References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com The code for a performance with sc grew to over 800 - 1000 lines, and the user interaction panel had > 100 objects. Then files started "disappearing": While I saved one version of a file, I kept getting an older one when trying to reload. I tried this several times, so I am almost sure that I did save the versions I wanted, and that they did disappear. Also, some files that had crashed could not be loaded at all - they left the editors state unaltered. Any experiences with this problem? Ioannis Zannos Staatliches Institut fuer Musikforschung Tiergartenstr. 1, D-10785 Berlin GERMANY Tel. +49 30 25481140 Fax. +49 30 25481172 From sc-users-owner@bga.com Mon Oct 21 11:46:29 1996 Received: (from daemon@localhost) by zoom.bga.com (8.6.12/8.6.12) id LAA08982 for sc-users-outgoing; Mon, 21 Oct 1996 11:46:29 -0500 Received: from clyde.as.utexas.edu (clyde.as.utexas.edu [128.83.129.156]) by zoom.bga.com (8.6.12/8.6.12) with ESMTP id LAA08949 for ; Mon, 21 Oct 1996 11:46:19 -0500 Received: from [128.83.112.106] (slip-40-10.ots.utexas.edu [128.83.112.106]) by clyde.as.utexas.edu (8.6.11/2.01) with SMTP id LAA02455 for ; Mon, 21 Oct 1996 11:24:14 -0500 Date: Mon, 21 Oct 1996 11:24:14 -0500 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: sc-users@bga.com From: james@clyde.as.utexas.edu (James McCartney) Subject: Re: Problems saving "large" files? Sender: owner-sc-users@bga.com Precedence: bulk Reply-To: sc-users@bga.com At 3:33 PM 10/21/96, Ioannis Zannos wrote: >The code for a performance with sc grew to over 800 - 1000 lines, >and the user interaction panel had > 100 objects. Then >files started "disappearing": While I saved one version >of a file, I kept getting an older one when trying to reload. >I tried this several times, so I am almost sure that I did >save the versions I wanted, and that they did disappear. >Also, some files that had crashed could not be loaded at all >- they left the editors state unaltered. > >Any experiences with this problem? Since I'm using Apple's built in text editor, it cannot deal with >32K of text. Of course it should not fail as you describe. If your files start to get big you might want to use the include statement: include "myfilename" --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: ftp://mirror.apple.com//mirrors/Info-Mac.Archive/gst/snd/super-collider-demo.hqx