2.1 KiB
Boot the server
There is a Boot() pseudo-class acting as a configuration file. Its behavior
is pretty classic if you are already accustomed to SuperCollider:
-
it raises the conservative options of
Server.defaultto allow more connexions, more buffers, etc. Will prevent you from running out of memory while improvising. -
turns the the default environment into a JITLib
ProxySpace, replacing all global variables withNodeProxyinstances. This is one of the classic ways to live code using SuperCollider. -
set the
ProxySpaceto useLinkClockfor syncing with other.LinkClockis using the Ableton Link protocol, supported by most other apps. -
Set custom paths for loading audio sample banks and synth definitions. Write your definitions once, reuse them all the time (if you want to!).
-
Set up a sound limit to prevent you from blowing up your speakers/ears. This is an often overlooked step that can save you from a lot of trouble. BuboQuark will also automatically load the SafetyNet Quark to protect you from loud / incorrect audio signals.
The Boot() constructor takes three arguments:
configPath: path to a.scdconfiguration file that will be automatically loadedsamplePath: path to a folder containing your audio samples (in sub-folders)serverOptions: a set of ServerOptions to fine tune the server configuration
All of these arguments are optional. However, they will default to my
configuration if not set. If you want to set one option but not the others, use
keywords arguments or nil values. Here is an example of how you could boot the server:
Boot(serverOptions: nil, // use default options
configPath: "/some/config/path",
samplePath: "/home/me/my_samples")
To make sure that you have booted correctly, you can go through the following check list:
- do I see my samples when I write
Bank.list? - do I see my synth definitions when I write
d.list? - is this snippet producing sound:
{SinOsc.ar(200) ! 2 * 0.5}.play?