Skip to content

a new NRT mode with full OSC socket #279

@jleben

Description

@jleben

[Issue migrated from SourceForge | ID: 2829287 | Submitted by 'sciss']
[http://sourceforge.net/support/tracker.php?aid=2829287]

SuperCollider supports offline rendering via the special NRT mode command line switch. The approach is to read in a binary OSC file and process its messages. The advantage is that this will work without any client involved. The big disadvantage is that code written in the client (e.g. sclang) does not run equally well in realtime and offline. In particular it cannot rely on reply messages (/done from buffer manipulation, /n_go, /n_end etc., /tr...). This in general poses a strong burden on writing NRT-savvy code. When looking at SendTrig and /tr it even makes a lot of code impossible to run in offline.

The solution is to add new NRT mode that, instead of making scsynth read OSC messages from a binary file, will open a regular OSC socket and await messages from a client. However, DSP is done as fast as possible instead of performing it in realtime on some audio hardware. For this to work, on the client side (sclang) a corresponding clock class, e.g. NRTClock, is needed that will advance the NRT clock on the server. That way, for example a Routine will run as fast as possible while still providing corrent thisThread.seconds feedback and hence correct bundle times.

This idea was also presented and discussed on sc-users:
http://www.listarc.bham.ac.uk/lists/sc-users/msg52040.html

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions