Add initialisations at startup

I want to use tidal channels as separate audio channels (using jackaudio it is easy to route them to other applications like another instance of supercollider)

say i want 4 channels, i have to issue these lines

let d1 = p 1 . (|< orbit 0) 
    d2 = p 2 . (|< orbit 1) 
    d3 = p 3 . (|< orbit 2) 
    d4 = p 4 . (|< orbit 3) 

is it possible to execute these commands when i invoke the supercollider instance for tidal, in a bash file for example :

sclang set-tidal-quadriphonic.scd
...?

i would like to easily change a setup (for 2, 4 or 8 channels)

also i noticed that if i make a mistake (last number 4), tidal produces no sound at all

let d1 = p 1 . (|< orbit 0) 
    d2 = p 2 . (|< orbit 1) 
    d3 = p 3 . (|< orbit 2) 
    d4 = p 4 . (|< orbit **4**)
1 Like

On MacOS I keep different sets of .scd startup files for different audio interfaces and external equipment. I then start sclang from the command line with the startup file I want to use as the first argument using this simple shell script:

#!/usr/bin/env zsh

sc_prog="/Applications/SuperCollider.app/Contents/MacOS/sclang"
sc_conf="${HOME}/Library/Application Support/SuperCollider/startup.scd"
my_conf="${1:-$HOME/tidal/startup.scd}"

cp -v "${my_conf}" "${sc_conf}"

"${sc_prog}"

For example:

init_sclang.sh $HOME/tidal/modular.scd

I hope this gives you some ideas. Good luck!

1 Like

Sorry missed this question before! But these are already the standard definitions of d1 etc in the default BootTidal.hs file..

Hey @yaxu

I cant seem to route the audio to different Orbits as everything comes through 0-1.

I thought i was doing as the instructions on GitHub state but i must be missing something.
Do you have any ideas on how i can get the tracks sending to separate channels > blackhole > logic?

Below is my start up file in superColldier:

include("SuperDirt")

SuperDirt.start

Quarks.gui

s.options.numOutputBusChannels = 16;

s.waitForBoot{
	~dirt = SuperDirt(2,s);
	~dirt.start(57120, [0, 2, 4, 6, 8, 10, 12, 14]);
	s.meter;
	s.latency = 0.0;
}

MIDIClient.init;

~midiOut = MIDIOut.newByName("Pro40", "MIDI");

~midiOut.latency = 0;

~dirt.soundLibrary.addMIDI(\midi, ~midiOut);

Thank you!

Hiya - there is some more discussion on this topic in this thread which you may find helpful.

Cheers

Lucy

Just to add that this looks fine on the supercollider side. Hopefully the thread that Lucy points to will help.

@heavy.lifting @yaxu ok cool, thanks guys