Hi all,
I'm starting to add some more configuration management into my ansible installer for linux, and I'm trying to get a handle on what the common modifications are to the supercollider startup.scd to see where it's useful for me to focus my development:
I voted for everything apart from s.latency. Actually in my experience, changing s.latency doesn't do anything.
One other thing is sometimes I set an environment variable to connect things up to reaper.
"SC_JACK_DEFAULT_OUTPUTS".setenv("REAPER");
I don't actually do this in my startup.sc, because I move between configurations too much.. I have a couple of files with different configurations that I run manually.
s.options.numBuffers = 1024 * 256;
s.options.memSize = 8192 * 32;
s.options.maxNodes = 1024 * 32;
thisProcess.platform.recordingsDir_("/my/custom/recording/directory/");```
Also set up some custom 'event shortcuts' using miSCellaneous library, not really releveant to Tidal
What I was hoping for was some clear standouts (which there is one, but have already implemented custom sample dir handling), but what I wasn't expecting was the hot tips, eg
I'll dig into these when I get the chance (might need to ask some q's) - thanks again
@mrreason you helped me set up Carabiner last year but it turned out it was easier/simpler for me to just use the midiclock function in Tidal with the s.midilatency command in SC to sync things up but if there's a dedicated SC quark for Ableton Link, maybe you could send me the docs on how to implement.
I think we should discuss this LinkClock topic in another thread.
Is it now possible to sync transport ?
It is possible even if there is no one size fits all solution.
My basic idea here is to send a MIDI message to SuperCollider and on the next beat (determined by the LinkClock) send it as a MIDI message to Ableton (to control the transport) and as an OSC message to Atom (in Atom you can use OSC messages to evaluate your code).
But there would be various other possibilities and this is just one that can be implemented relatively quickly and should suffice for most purposes. And to have something else for this thread: something like this also goes into my startup.scd script
A hot tip from c_robo on discord I thought I'd add:
NOTE: These are mp3 files. By default, SuperDirt only loads the file extensions defined in ~dirt.fileExtensions (unchanged, it's set to [ wav, aif, aiff, aifc ]).
However, you can change the defined array to include any format compatible with libsndfile.
If you redefine ~dirt.fileExtensions to include mp3 by evaluating ~dirt.fileExtensions = ["wav","aif","aiff","aifc","mp3"],
~dirt.dropWhen = { ~dirt.server.statusWatcher.peakCPU > 5 }; // limit to 5 % cpu
I have this, which is useful for stopping a backlog of events start jamming up Tidal. I find this happens more so during live streams or with super complicated/intensive patterns