From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #99 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Tuesday, March 21 2000 Volume 01 : Number 099 ---------------------------------------------------------------------- Date: Sun, 19 Mar 2000 16:42:42 -0600 From: James McCartney <---@---.---> Subject: Re: stop recording > > on 3/19/00 4:05 PM, Hans Tutschku at Hans.Tutschku@ircam.fr wrote: > > I'm still trying to stop recording by a GUI - item. > > I'm declaring a checkbox "recBtn" and looking for the zero-state. > I wanted to stop the synth and perform endRecord. But I'm getting the > error, that endRecord can't be performed at interrupt level. > How can I stop the Synth and force SC to perform endRecord first if the > Synth is really not running anymore? > > > recBtn.action = { > if(recBtn.value == 0 > { > if (thisSynth.isNil.not, > {Synth.stop; > recFile.endRecord; > }) > });} > > thanks, Hans I'd have to see what you were using to record. Are you using SYnth.record or your own thing with DiskOut? Synth.stop is asynchronous. The Synth is not stopped upon return from it. If you are using Synth.record, the endRecord call will be performed for you. ------------------------------ Date: Mon, 20 Mar 2000 10:56:46 +0100 From: Hans Tutschku <---@---.---> Subject: Re: stop recording > > > recBtn.action = { >> if(recBtn.value == 0 >> { >> if (thisSynth.isNil.not, >> {Synth.stop; >> recFile.endRecord; >> }) > > });} >> > > > >I'd have to see what you were using to record. Are you using SYnth.record or >your own thing with DiskOut? > >Synth.stop is asynchronous. The Synth is not stopped upon return from it. >If you are using Synth.record, the endRecord call will be performed for you. I'm using DiscOut. I thought it would be possible to do the following: Having a Synth playing and starting at a moment the recording by a checkbox. The DiscOut-file was already created before starting the synth. And after a while stopping the recording with the checkbox. (Until here everything works fine) Now I want to stop (actually to "halt") the synth and perform the endRecord to update and close the actual DiscOut-file, to open/prepare a new DiscOut-file and to restart the synth where he was. Now I could change some parameters of the running synth and record with the checkbox a second file. And so on... I don't know how I can simulate the same with Synth.record. Because I can't have a Synth.record inside a Synth.play - can I? Thanks, Hans ------------------------------ Date: Mon, 20 Mar 2000 18:55:41 +0000 From: ramuntcho matta <---@---.---> Subject: unsubscribe sc-users unsubscribe sc-users ramatta@club-internet.fr ------------------------------ Date: Mon, 20 Mar 2000 22:43:17 +0100 From: Roland Pfrengle <---@---.---> Subject: float->integer Hi ( { a = MIDIController.new(1,1,0,4); .....(kind of spawn)... b = a.poll; i = b.floor; .... } ) i should be an integer as index for an array. Doesn't work. ??? Roland ------------------------------ Date: Mon, 20 Mar 2000 16:09:41 -0600 From: James McCartney <---@---.---> Subject: Re: stop recording on 3/20/00 3:56 AM, Hans Tutschku at Hans.Tutschku@ircam.fr wrote: >> >>> recBtn.action = { >>> if(recBtn.value == 0 >>> { >>> if (thisSynth.isNil.not, >>> {Synth.stop; >>> recFile.endRecord; >>> }) >>> });} >>> >> >> >> >> I'd have to see what you were using to record. Are you using SYnth.record or >> your own thing with DiskOut? >> >> Synth.stop is asynchronous. The Synth is not stopped upon return from it. >> If you are using Synth.record, the endRecord call will be performed for you. > > I'm using DiscOut. I thought it would be possible to do the following: > > Having a Synth playing and starting at a moment the recording by a checkbox. > The DiscOut-file was already created before starting the synth. And > after a while stopping > the recording with the checkbox. (Until here everything works fine) > > Now I want to stop (actually to "halt") the synth and perform the > endRecord to update and close the actual DiscOut-file, to > open/prepare a new DiscOut-file and to restart the synth where he was. > Now I could change some parameters of the running synth and record > with the checkbox a second file. > And so on... > > I don't know how I can simulate the same with Synth.record. Because I > can't have a Synth.record > inside a Synth.play - can I? > > Thanks, Hans > Unfortunately this is not yet possible. I am working on a system that will allow all sorts of things to be done while playing is going on, but that will not be out for a few months. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 20 Mar 2000 16:17:27 -0600 From: James McCartney <---@---.---> Subject: Re: float->integer on 3/20/00 3:43 PM, Roland Pfrengle at roland.p@snafu.de wrote: > Hi > > ( > { > a = MIDIController.new(1,1,0,4); > ......(kind of spawn)... > b = a.poll; > i = b.floor; > ..... > } > ) > > i should be an integer as index > for an array. Doesn't work. floor returns a Float if the argument is a Float. The class of a value may not reflect its mathematical value. 2 and 2.0 are instances of two different classes. Even though (2 == 2.0) is true (== is equality), (2 === 2.0) is false (=== is identity). use i = b.asInteger; or i = b.floor.asInteger; - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Tue, 21 Mar 2000 08:52:38 +0000 From: Jem Finer <---@---.---> Subject: 1212 I/O mapping I may have missed this . . . . What is the correct mapping for the 1212 card : Main.sc has it defined as : Synth.setOutputRouting([1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 1, 2]); Synth.setInputRouting([9, 10, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]); But for some reason this is not working for me on the output side. (Have not tried input yet). I'm using the ADAT out - which pre ASIO worked fine. Jem ------------------------------ Date: Tue, 21 Mar 2000 09:36:37 +0000 From: Martin Robinson <---@---.---> Subject: Re: 1212 I/O mapping I use: Synth.setOutputRouting([5, 6, 7, 8, 1, 2, 3, 4, 9, 10, 11, 12]); Synth.setInputRouting([5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4]); which seems to give me adat 1-8 on inputs and ouputs 1-8, which seems a bit of a strange mapping? must be a korg/steinberg in-joke >>>>>>Martin Robinson :: (Ex)tractor :: && ________ >>><<<_sonicArts.at(middlesexUniversity.london.uk); ______ <><><>__this.liveElectronics.interFaces.diffusion ____ ________________________________________________________________ >><<>>___t.+44 [0] 7970 405 903 // f.+44 [0] 7970 702 976 __ >><><>____e. _ ------------------------------ Date: Tue, 21 Mar 2000 16:20:51 +0000 From: jemfiner <---@---.---> Subject: RE: 1212 I/O mapping Very weird - this doesn't work for me . . . and . . if I use just two channels. eg [5,6], I get the analogue outs plus four ADAT outs running a multi channel patch - but only analogue outs on a stereo patch. Whatever combinations I try this seems to be the case (though i'm sure somewhere is some special sequence that will do the trick). Maybe there is a new driver from korg and I'm running a dodgy one . . Jem >===== Original Message From sc-users@lists.io.com ===== >I use: > >Synth.setOutputRouting([5, 6, 7, 8, 1, 2, 3, 4, 9, 10, 11, 12]); >Synth.setInputRouting([5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4]); > >which seems to give me adat 1-8 on inputs and ouputs 1-8, which seems a bit >of a strange mapping? > >must be a korg/steinberg in-joke > >>>>>>Martin Robinson :: (Ex)tractor :: && ________ >>><<<_sonicArts.at(middlesexUniversity.london.uk); ______ ><><><>__this.liveElectronics.interFaces.diffusion ____ >________________________________________________________________ >>><<>>___t.+44 [0] 7970 405 903 // f.+44 [0] 7970 702 976 __ >>><><>____e. _ ------------------------------ Date: Wed, 22 Mar 2000 00:06:03 +0100 From: Hans Tutschku <---@---.---> Subject: next clic question next clic question
Hi James,

thanks for your quick repons the last time. Now I have another clic problem. I want to generate grains
on a delayline. Their pitches are driven by a score. The following patch givs me a lot of clics.
Is it because the GrainTap is initialized for every score-event?

Hans


(
var playrate,bufL1, bufR1, input1, dummy1,maxCycleTime1,
 granulated1, delayLineLength1;

maxCycleTime1 = 0.3;

delayLineLength1 =
Synth.sampleRate * maxCycleTime1 + 64 + 2;
bufL1 =
Signal.new(delayLineLength1);

Synth.scope({
     input1 = (AudioIn.ar(1));

       dummy1 =
DelayWr.ar(bufL1, input1);

     Limiter.ar(
OrcScore.ar(
        [
                       {
arg spawn, i, synth, deltaTime, instrumentNum, note, dur;
                      granulated1 =
GrainTap.ar(bufL1, 0.2, note.midicps / 440,
                                       0.01, 0, 8);
                   
EnvGen.ar(Env.sine(dur), granulated1)
          
                        }
               ],
             
                #[
             
[0.15,0,65,0.152],
              [0.15,0,64,0.151],
              [0.0,0,50,0.152],
               [0.15,0,65,0.303],
              [0.15,0,52,0.151],
              [0.0,0,53,0.152],
               [0.15,0,69,0.303],
              [0.15,0,55,0.151],
              [0.0,0,57,0.152],
               [0.15,0,74,0.303],
              [0.15,0,58,0.151],
              [0.0,0,49,0.152],
               [0.15,0,67,0.303],
              [0.15,0,58,0.151],
              [0.0,0,57,0.152]],

              1,
nil, nil), 0.8,0.05);
               
        })
)
------------------------------ End of sc-users-digest V1 #99 *****************************