[chuck-users] Does a Std.system call block concurrency?

Spencer Salazar spencer.salazar at gmail.com
Thu Dec 31 18:41:38 EST 2020


Correct, Std.system does block concurrency. Depending on what you're trying
to do there are a few workarounds..

- make any Std.system calls at the beginning of your ChucK script, before
audio has started processing
- run the R scripts in the background using Std.system -- Std.system more
or less directly calls system(3), and it seems as though '&' works, though
I havent personally tried this: https://stackoverflow.com/a/5691067
- use OSC to communicate with a separate long-running script that runs
whatever you need

Spencer



On Thu, Dec 31, 2020 at 3:33 AM federico lopez <fede2001 at gmail.com> wrote:

> Hi,
> Is the ChucK thread disrupted by the execution time of a Std.system script
> call?
>
> In the code below, sporking a fast script, e.g. Std.system("sleep 0"),
> there is no noticeable disruption,  but sporking a time consuming version
> e.g. Std.system("sleep 3") there is a disruption in the other sporks.
>
> I'm trying to call R scripts using ChucK concurrency.
>
> // test code, run with --caution-to-the-wind command-line flag
> Noise n => Envelope e => dac;
>
> fun void metro()
> {
>     while(true)
>     {
>         e.keyOn();
>         10::ms => now;
>         e.keyOff();
>         990::ms => now;
>         <<< now, "samples" >>>;
>     }
> }
>
> fun void callSystem()
> {
>     while(true)
>     {
>         Std.system("sleep 0"); // comment this to test
>         //Std.system("sleep 3"); // uncomment this to test
>         1000::ms => now;
>     }
> }
>
> spork~ metro();
> spork~ callSystem();
> while(true){10::ms => now;}
>
> // end test code
>
>
>
>
>
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20201231/698d265b/attachment.html>


More information about the chuck-users mailing list