[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/