I set to s.options.useSystemClock_(false) and then?
As far as I know, this option allows use a sample clock instead of NTP in the message bundle. Am I doing something wrong? Can you provide a simple example code to use scheduling use sample count.
Booting up after useSystemClock_(false) do all patterns and bundle messages internally send a timestamp with a sample value? But even if I send a bundle message with an NTP timestamp, it still works fine… is this correct?
I’m having a hard time finding any code specific to SuperNova.
Hi, “sample clock” means that the Supernova increments the OSC time by the logical sample time, e.g. 1.3333 ms at 48 kHz (with the default control block size of 64 samples). The very first timestamp is obtained from the system clock. The OSC bundle timetags are still NTP timestamps.
The “sample clock” has been Supernova’s original scheduling implementation. The problem is that it will gradually drift away from the sclang Client (which is always based on the logical NTP time). This has been a mistake and it’s why Supernova has switched to the system clock as the default. The useSystemClock option is only provided for backwards compatibility reasons. I just wouldn’t use it.
Ah…I thought of it as a solution for sample-unit scheduling between the server and the client. Thank you for your answer.
Sample-based scheduling would require that the client clock is driven by the Server. That would be totally possible! I have a layed out how this could work in the following thread: Keeping sclang and scsynth in hard sync - #7 by Spacechild1.
Yes. I think I’ve read most of the related topics online 
I’m waiting for the solution that I deem most reasonable among these to be included in the official version, not just in individual custom builds (Is there a branch where the method you suggested is already working?).
I believe that discussion about user utilization/possibilities can truly begin once it’s officially available. As you know, this topic has been debated periodically for over 10 years now. I wonder if we are waiting for a solution that is too perfect and elegant.
Of course, I understand the caution since it requires a change to the core rather than just an extension, but…
There is no such branch yet. I know how I would implement it, but it’s not something I would do without proper sponsorship.
2 Likes