[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