SuperDirt event falls out of existing orbits

Hi there!
Supercollider is reporting that message:
WARNING: SuperDirt: event falls out of existing orbits, index (#)
What does it mean?

Hi @topolynx,

Probably this means that you're using an old version of SuperDirt. You should be able to update it via the Quarks.gui interface in supercollider. Or perhaps you're using an up-to-date superdirt, but with an older startup.sc

These days d1 .. d12 default to sending to a different superdirt 'orbit', so that they each have separate reverb and delay 'global' effects. Accordingly, superdirt by default now starts up with 12 orbits. Older versions will start with just 2 orbits, hence the warning messages.

2 Likes

Thanks @yaxu, actually I was on SuperDirt v1.1.
Updating SuperDirt solved the problem :slight_smile:

I really love Tidal <3

1 Like

It would seem like I'm running onto the same problem after upgrading my macos to maverick,
I've got multiple output channels routed into soundflower and every time I evaluate a line in vs code I get a

no synth or sample named 'clap' could be found. module 'sound': instrument not found: nil
in the SuperCollider console, even though the sample is definetely there, even more than that, it's playing.
For some reason channels d1 and d2 are both routed into the same soundflower channels (seem to be on the same orbit), channels d3 and above throw a

WARNING: SuperDirt: event falls out of existing orbits, index (X)

Running SC output straight into the default output doesn't really solve the issue.
:woozy_face:

Hmm, does a reboot clear the no synth or sample error? Can you share your superdirt startup config please?

Hmm, does a reboot clear the no synth or sample error?

It would indeed seem so, thanks.

As for the other issue, I had also recently tried reinstalling SuperDirt, sadly to no avail.
Here's my startup code:

(
s.reboot {
	s.options.numBuffers = 1024 * 512;
	s.options.memSize = 1024 * 1024;
	s.options.maxNodes = 1024 * 512;
	s.options.numOutputBusChannels = 2;
	s.options.numInputBusChannels = 2;
	s.waitForBoot {
		~dirt = SuperDirt(2, s);
		~dirt.loadSoundFiles;
		~dirt.start(57120, 0 ! 2);
	};

	s.latency = 0.1;
	s.options.outDevice = 1;

	MIDIClient.init;

~midiOut1 = MIDIOut.newByName("IAC", "Tidal1");
~midiOut2 = MIDIOut.newByName("IAC", "Tidal2");

~dirt.soundLibrary.addMIDI(\midi1, ~midiOut1);
~dirt.soundLibrary.addMIDI(\midi2, ~midiOut2);

};
);

On reboot fixing the issue - then probably the problem was that there were two copies of supercollider running.

The 2 here is the number of orbits. By default that would be 12, allowing d1 .. d12 to send to a different one.

If you want the orbits going to separate output channels, then you can make these two edits:

	s.options.numOutputBusChannels = 24;

and

		~dirt.start(57120, [0,2,4,6,8,10,12,14,16,18,20,22]);

Then you have 24 channels in total (i.e., 12 stereo channels), and the orbits are offset by 2 (as each orbit has a stereo pair of channels).

Also make sure SuperDirt is on the latest version (indicated by "LATEST") via language -> quarks.

1 Like

That did the trick, bigup!

Although a part of the problem might've been the fact I was using two different .scd files, one for direct output, one splitting it into multiple channels, none of them saved as the startup file, so I would always kill the server first after running SuperCollider/recompiling the class library, then run one of them.
Only after saving an updated version of one of them as startup.scd everything seemed to run properly. :exploding_head:

Thanks!

1 Like