[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-users] Re: Background server processing



Item State writes:
 > how should that work? on the server, everything runs
 > in realtime, so there's no "priority" (except for
 > asynchronous commands like /b_read), every synth has
 > to calculate 44100 or so samples per second, otherwise
 > you'd get glitches. i'm not sure if you can assign
 > priorities to threads on the language (client) side.

 > 
 > you could monitor the CPU load by looking at
 > aServer.avgCPU and "stutter" background synths if you
 > need CPU. by stutter i mean you could pause them in
 > intervals when CPU is needed for more "audible"
 > synths.

This is very radical solution, but possible to use:)

 > 
 > you could try to run a second server in NRT
 > (non-realtime) mode for processing stuff in the
 > background ...

 But how to get it? with Pipe (but:lack of communication) or "unixCmd" (total lack of
 communication)? Or can server be booted in NRT?
 
The point is how to process buffers (which exist on the server) (eg. analyze a few minutes
of recorded sound a while ago, then cut it to lesser fragments, and -- let's say -- save in
separate buffers) to not disturb music already going from speakers. 
Of course -- I can write my piece so that during mentioned above processes goes something
computationally cheap, but why do I have to limit myself?
(In the end -- is it the SuperCollider, no? :)

best,
/ak/