The easiest way to accomplish sample-precise starting/stopping is actually inlining the WAV recording into your script. E.g. 

dac => Gain g => WvOut w => blackhole;
"file.wav" => w.wavFilename;
// temporary workaround to automatically close file on remove-shred
null @=> w;

// your code goes here
SinOsc s => dac;
2::second => now;

// end of code

The WvOut will get shut down and closed whenever the script itself ends, leaving you with a file thats exactly the running length of the script. 

spencer




On Thu, Jan 23, 2014 at 1:22 PM, Brian Sorahan <bsorahan@haivision.com> wrote:
Seems like the main script could signal an event when it is done (as opposed to going into an infinite loop).
You could make a shared class that has a static Event member.
e.g.

Shared.ck
--------------
public class Shared {
    static Event @ event;
}
new Event @=> Shared.event;
--------------

main.ck
-----------
// send audio to dac
Shared.event.signal();
-----------

rec.ck
--------
// record audio from dac
Shared.event => now;
--------

Then you just have to load Shared.ck before the other two scripts.
Hope that helps!

Brian


On Thu, Jan 23, 2014 at 2:45 PM, Leonard Ritter <leonard.ritter@duangle.com> wrote:
Hi there,

I wrote this to Ge Wang on Twitter before but he's not been there
since October, so I thought I'd better write here.

I've used ChucK a few years ago and had quite some fun with it. I
would like to use it as part of the game we are currently developing.
The goal is to allow sounds to be customized to individual
installations of the game, where they would then be played back by
OpenAL to provide for positional 3D audio.

As part of my prototyping, I wanted to write a simple Python script
that is able to batch convert a stack of ck files to WAV, ideally
sample precise (no leading or trailing silence).

I thought that rec.ck would be perfect for achieving that but it seems
I can't figure out a way to have recording end precisely when the main
script is done playing, instead of recording indefinitely and waiting
for abortion via the Ctrl+C key.

Is there such a method? I'd be very thankful for advice.

Cheers,
Leonard
--
Leonard und Sylvia Ritter, Duangle, GbR

Ritter
Altpieschen 9,
01127 Dresden

Leonard.Ritter@duangle.com

www.duangle.com
Geschäftsführung: Sylvia Ritter, Leonard Ritter
_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users