@scztt – Very helpful, thanks.
we would need NRT in an IBS context where we don’t have an audio driver readily accessible.
That’s an excellent point. It’s tempting to rewrite all of the UGen tests to be NRT-friendly – in theory, it shouldn’t be a problem to design the tests NRT style and simply provide an option to run the Score objects on a RT server if needed.
However: Unable to run the Analysis example in NRT Synthesis helpfile - #4 by jpdrecourt – we know of at least one case where an example that retrieves analytical data from an NRT server cannot be run in Windows, and at present there is not enough information to troubleshoot – that is, I just spent about an hour differential testing this, and gained zero insight into the problem. If an automated test suite were to depend on NRT analysis, currently we don’t have any confidence that it would be usable in Windows.
In some cases, it may be enough for the server to produce a single pass/fail Boolean, e.g.
var sig = SinOsc.ar(440, 0, 0.625);
var countOutOfRange = Integrator.ar(InRange.ar(sig, -0.625, 0.625));
And countOutOfRange |==| 0
is pass, otherwise is fail.
In the last test I wrote, I tried sending a failure message back to the client immediately upon any failure. That wouldn’t fit the NRT model, though.
hjh