rsc3/doc-schelp/Help-3.12.2/Classes/ServerOptions.html

292 lines
36 KiB
HTML
Raw Normal View History

2022-08-24 13:53:18 +00:00
<!doctype html><html lang='en'><head><title>ServerOptions | SuperCollider 3.12.2 Help</title>
<link rel='stylesheet' href='./../scdoc.css' type='text/css' />
<link rel='stylesheet' href='./../codemirror.css' type='text/css' />
<link rel='stylesheet' href='./../editor.css' type='text/css' />
<link rel='stylesheet' href='./../frontend.css' type='text/css' />
<link rel='stylesheet' href='./../custom.css' type='text/css' />
<meta name='viewport' content='width=device-width, initial-scale=1'>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<script src='./../lib/jquery.min.js'></script>
<script src='./../lib/codemirror-5.39.2.min.js' type='text/javascript'></script>
<script src='./../lib/codemirror-addon-simple-5.39.2.min.js' type='text/javascript'></script>
<script>
var helpRoot = './..';
var scdoc_title = 'ServerOptions';
var scdoc_sc_version = '3.12.2';
</script>
<script src='./../scdoc.js' type='text/javascript'></script>
<script src='./../docmap.js' type='text/javascript'></script>
<script src='qrc:///qtwebchannel/qwebchannel.js' type='text/javascript'></script>
</head>
<body onload='fixTOC()'>
<div id='toc'>
<div id='toctitle'>ServerOptions:</div>
<span class='toc_search'>Filter: <input id='toc_search'></span><ul class='toc'><li class='toc1'><a href='#description'>Description</a></li>
<ul class='toc'></ul><li class='toc1'><a href='#classmethods'>Class methods</a></li>
<ul class='toc'><li class='toc3'><a href='#*new'>new</a> </li>
<li class='toc3'><a href='#*devices'>devices</a> </li>
<li class='toc3'><a href='#*inDevices'>inDevices</a> </li>
<li class='toc3'><a href='#*outDevices'>outDevices</a> </li>
<li class='toc2'><a href='#Inherited%20class%20methods'>Inherited class methods</a></li>
<li class='toc2'><a href='#Undocumented%20class%20methods'>Undocumented class methods</a></li>
<ul class='toc'><li class='toc3'><a href='#*defaultValues'>defaultValues</a> </li>
</ul></ul><li class='toc1'><a href='#instancemethods'>Instance methods</a></li>
<ul class='toc'><li class='toc2'><a href='#The%20Options'>The Options</a></li>
<ul class='toc'><li class='toc3'><a href='#-blockSize'>blockSize</a> </li>
<li class='toc3'><a href='#-device'>device</a> </li>
<li class='toc3'><a href='#-inDevice'>inDevice</a> </li>
<li class='toc3'><a href='#-outDevice'>outDevice</a> </li>
<li class='toc3'><a href='#-hardwareBufferSize'>hardwareBufferSize</a> </li>
<li class='toc3'><a href='#-initialNodeID'>initialNodeID</a> </li>
<li class='toc3'><a href='#-inputStreamsEnabled'>inputStreamsEnabled</a> </li>
<li class='toc3'><a href='#-loadDefs'>loadDefs</a> </li>
<li class='toc3'><a href='#-maxNodes'>maxNodes</a> </li>
<li class='toc3'><a href='#-maxSynthDefs'>maxSynthDefs</a> </li>
<li class='toc3'><a href='#-memSize'>memSize</a> </li>
<li class='toc3'><a href='#-numAudioBusChannels'>numAudioBusChannels</a> </li>
<li class='toc3'><a href='#-numBuffers'>numBuffers</a> </li>
<li class='toc3'><a href='#-numControlBusChannels'>numControlBusChannels</a> </li>
<li class='toc3'><a href='#-numInputBusChannels'>numInputBusChannels</a> </li>
<li class='toc3'><a href='#-numOutputBusChannels'>numOutputBusChannels</a> </li>
<li class='toc3'><a href='#-numRGens'>numRGens</a> </li>
<li class='toc3'><a href='#-numWireBufs'>numWireBufs</a> </li>
<li class='toc3'><a href='#-outputStreamsEnabled'>outputStreamsEnabled</a> </li>
<li class='toc3'><a href='#-protocol'>protocol</a> </li>
<li class='toc3'><a href='#-bindAddress'>bindAddress</a> </li>
<li class='toc3'><a href='#-remoteControlVolume'>remoteControlVolume</a> </li>
<li class='toc3'><a href='#-sampleRate'>sampleRate</a> </li>
<li class='toc3'><a href='#-verbosity'>verbosity</a> </li>
<li class='toc3'><a href='#-zeroConf'>zeroConf</a> </li>
<li class='toc3'><a href='#-ugenPluginsPath'>ugenPluginsPath</a> </li>
<li class='toc3'><a href='#-restrictedPath'>restrictedPath</a> </li>
<li class='toc3'><a href='#-threads'>threads</a> </li>
<li class='toc3'><a href='#-useSystemClock'>useSystemClock</a> </li>
<li class='toc3'><a href='#-memoryLocking'>memoryLocking</a> </li>
<li class='toc3'><a href='#-maxLogins'>maxLogins</a> </li>
<li class='toc3'><a href='#-safetyClipThreshold'>safetyClipThreshold</a> </li>
</ul><li class='toc2'><a href='#Other%20Instance%20Methods'>Other Instance Methods</a></li>
<ul class='toc'><li class='toc3'><a href='#-asOptionsString'>asOptionsString</a> </li>
<li class='toc3'><a href='#-firstPrivateBus'>firstPrivateBus</a> </li>
<li class='toc3'><a href='#-pingsBeforeConsideredDead'>pingsBeforeConsideredDead</a> </li>
</ul><li class='toc2'><a href='#Inherited%20instance%20methods'>Inherited instance methods</a></li>
<li class='toc2'><a href='#Undocumented%20instance%20methods'>Undocumented instance methods</a></li>
<ul class='toc'><li class='toc3'><a href='#-bootInProcess'>bootInProcess</a> </li>
<li class='toc3'><a href='#-numPrivateAudioBusChannels'>numPrivateAudioBusChannels</a> </li>
<li class='toc3'><a href='#-recBufSize'>recBufSize</a> </li>
<li class='toc3'><a href='#-recChannels'>recChannels</a> </li>
<li class='toc3'><a href='#-recHeaderFormat'>recHeaderFormat</a> </li>
<li class='toc3'><a href='#-recSampleFormat'>recSampleFormat</a> </li>
<li class='toc3'><a href='#-recalcChannels'>recalcChannels</a> </li>
<li class='toc3'><a href='#-reservedNumAudioBusChannels'>reservedNumAudioBusChannels</a> </li>
<li class='toc3'><a href='#-reservedNumBuffers'>reservedNumBuffers</a> </li>
<li class='toc3'><a href='#-reservedNumControlBusChannels'>reservedNumControlBusChannels</a> </li>
</ul></ul><li class='toc1'><a href='#examples'>Examples</a></li>
<ul class='toc'></ul></ul></div><div id='menubar'></div>
<div class='contents'>
<div class='header'>
<div id='label'>
<span id='folder'>Classes</span>
| <span id='categories'><a href='./../Browse.html#Server'>Server</a></span>
</div><h1>ServerOptions<span id='superclasses'> : <a href="../Classes/Object.html">Object</a></span>
</h1>
<div id='summary'>Encapsulates commandline and other options for a Server</div>
</div>
<div class='subheader'>
<div id='filename'>Source: <a href='file:///Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/Server.sc' title='/Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Control/Server.sc'>Server.sc</a></div><div id='subclasses'>Subclasses: <a href="../Classes/BelaServerOptions.html">BelaServerOptions</a></div>
<div id='related'>See also: <a href="./../Classes/Server.html">Server</a>, <a href="./../Reference/Server-Architecture.html">Server Architecture</a>, <a href="./../Reference/Server-Command-Reference.html">Server Command Reference</a>, <a href="./../Reference/AudioDeviceSelection.html">Audio device selection</a></div>
</div>
<h2><a class='anchor' name='description'>Description</a></h2>
<p>ServerOptions encapsulates various options for a server app within an object. This makes it convenient to launch multiple servers with the same options, or to archive different sets of options, etc. Every <a href="./../Classes/Server.html">Server</a> has an instance of ServerOptions created for it if one is not passed as the options argument when the Server object is created. (This is the case for example with the local and internal Servers which are created at startup.)
<p>A Server's instance of ServerOptions is stored in its options instance variable, which can be accessed through corresponding getter and setter methods.
<p>N.B. A ServerOptions' instance variables are translated into commandline arguments when a server app is booted. Thus a running Server must be rebooted before changes will take effect. There are also a few commandline options which are not currently encapsulated in ServerOptions. See <a href="./../Reference/Server-Architecture.html">Server Architecture</a> for more details.<h2><a class='anchor' name='classmethods'>Class Methods</a></h2>
<h3 class='method-code'><span class='method-prefix'>ServerOptions.</span><a class='method-name' name='*new' href='./../Overviews/Methods.html#new'>new</a></h3>
<div class='method'>
<p>Create and return a new instance of ServerOptions.</div><h3 class='method-code'><span class='method-prefix'>ServerOptions.</span><a class='method-name' name='*devices' href='./../Overviews/Methods.html#devices'>devices</a></h3>
<div class='method'>
<p>Return an Array of Strings listing the audio devices currently available on the system.</div><h3 class='method-code'><span class='method-prefix'>ServerOptions.</span><a class='method-name' name='*inDevices' href='./../Overviews/Methods.html#inDevices'>inDevices</a></h3>
<div class='method'>
<p>Return an Array of Strings listing the audio devices currently available on the system which have input channels.</div><h3 class='method-code'><span class='method-prefix'>ServerOptions.</span><a class='method-name' name='*outDevices' href='./../Overviews/Methods.html#outDevices'>outDevices</a></h3>
<div class='method'>
<p>Return an Array of Strings listing the audio devices currently available on the system which have output channels.<div class='note'><span class='notelabel'>NOTE:</span> The above three methods are not available if SuperCollider is built with JACK backend (by default on Linux). Also see <a href="./../Reference/AudioDeviceSelection.html">Audio device selection</a> for more information on selecting audio device.</div></div><h3><a class='anchor' name='Inherited%20class%20methods'>Inherited class methods</a></h3>
<div id='inheritedclassmets'></div><h3><a class='anchor' name='Undocumented%20class%20methods'>Undocumented class methods</a></h3>
<h3 class='method-code'><span class='method-prefix'>ServerOptions.</span><a class='method-name' name='*defaultValues' href='./../Overviews/Methods.html#defaultValues'>defaultValues</a></h3>
<h2><a class='anchor' name='instancemethods'>Instance Methods</a></h2>
<h3><a class='anchor' name='The%20Options'>The Options</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-blockSize' href='./../Overviews/Methods.html#blockSize'>blockSize</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-blockSize' href='./../Overviews/Methods.html#blockSize'>blockSize</a> = value</h3>
<div class='method'>
<p>The number of samples in one control period. The default is 64.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-device' href='./../Overviews/Methods.html#device'>device</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-device' href='./../Overviews/Methods.html#device'>device</a> = <span class='argstr'>dev</span></h3>
<div class='method'>
<p>A String that allows you to choose a sound device to use as input and output. The default, <code>nil</code>, will use the system's default input and output device(s). See <a href="./../Reference/AudioDeviceSelection.html">Audio device selection</a> for more details.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-inDevice' href='./../Overviews/Methods.html#inDevice'>inDevice</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-inDevice' href='./../Overviews/Methods.html#inDevice'>inDevice</a> = value</h3>
<div class='method'>
<p>A String that allows you to choose an input sound device. The default, <code>nil</code>, will use the system's default input device. See <a href="./../Reference/AudioDeviceSelection.html">Audio device selection</a> for more details.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-outDevice' href='./../Overviews/Methods.html#outDevice'>outDevice</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-outDevice' href='./../Overviews/Methods.html#outDevice'>outDevice</a> = value</h3>
<div class='method'>
<p>A String that allows you to choose an output sound device. The default, <code>nil</code>, will use the system's default output device. See <a href="./../Reference/AudioDeviceSelection.html">Audio device selection</a> for more details.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-hardwareBufferSize' href='./../Overviews/Methods.html#hardwareBufferSize'>hardwareBufferSize</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-hardwareBufferSize' href='./../Overviews/Methods.html#hardwareBufferSize'>hardwareBufferSize</a> = value</h3>
<div class='method'>
<p>The preferred hardware buffer size. If non-nil the server app will attempt to set the hardware buffer frame size. Not all sizes are valid. See the documentation of your audio hardware for details. Default value is nil.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-initialNodeID' href='./../Overviews/Methods.html#initialNodeID'>initialNodeID</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-initialNodeID' href='./../Overviews/Methods.html#initialNodeID'>initialNodeID</a> = value</h3>
<div class='method'>
<p>By default, the Server object in the client begins allocating node IDs at 1000, reserving 0-999 for "permanent" nodes. You may change this default here.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-inputStreamsEnabled' href='./../Overviews/Methods.html#inputStreamsEnabled'>inputStreamsEnabled</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-inputStreamsEnabled' href='./../Overviews/Methods.html#inputStreamsEnabled'>inputStreamsEnabled</a> = value</h3>
<div class='method'>
<p>A String which allows turning off input streams that you are not interested in on the audio device. If the string is "01100", for example, then only the second and third input streams on the device will be enabled. Turning off streams can reduce CPU load. The default value is nil.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-loadDefs' href='./../Overviews/Methods.html#loadDefs'>loadDefs</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-loadDefs' href='./../Overviews/Methods.html#loadDefs'>loadDefs</a> = value</h3>
<div class='method'>
<p>A Boolean indicating whether or not to load the synth definitions in synthdefs/ (or anywhere set in the environment variable SC_SYNTHDEF_PATH) at startup. The default is true.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxNodes' href='./../Overviews/Methods.html#maxNodes'>maxNodes</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxNodes' href='./../Overviews/Methods.html#maxNodes'>maxNodes</a> = value</h3>
<div class='method'>
<p>The maximum number of nodes. The default is 1024.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxSynthDefs' href='./../Overviews/Methods.html#maxSynthDefs'>maxSynthDefs</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxSynthDefs' href='./../Overviews/Methods.html#maxSynthDefs'>maxSynthDefs</a> = value</h3>
<div class='method'>
<p>The maximum number of synthdefs. The default is 1024.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-memSize' href='./../Overviews/Methods.html#memSize'>memSize</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-memSize' href='./../Overviews/Methods.html#memSize'>memSize</a> = value</h3>
<div class='method'>
<p>The number of kilobytes of real time memory allocated to the server. This memory is used to allocate synths and any memory that unit generators themselves allocate (for instance in the case of delay ugens which do not use buffers, such as CombN), and is separate from the memory used for buffers. Setting this too low is a common cause of 'exception in real time: alloc failed' errors. The default is 8192.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numAudioBusChannels' href='./../Overviews/Methods.html#numAudioBusChannels'>numAudioBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numAudioBusChannels' href='./../Overviews/Methods.html#numAudioBusChannels'>numAudioBusChannels</a> = <span class='argstr'>numChannels: 1024</span></h3>
<div class='method'>
<p>The number of audio rate busses, which includes input and output busses. The default is 1024.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numBuffers' href='./../Overviews/Methods.html#numBuffers'>numBuffers</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numBuffers' href='./../Overviews/Methods.html#numBuffers'>numBuffers</a> = value</h3>
<div class='method'>
<p>The number of global sample buffers available. (See Buffer.) The default is 1024.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numControlBusChannels' href='./../Overviews/Methods.html#numControlBusChannels'>numControlBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numControlBusChannels' href='./../Overviews/Methods.html#numControlBusChannels'>numControlBusChannels</a> = value</h3>
<div class='method'>
<p>The number of internal control rate busses. The default is 16384.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numInputBusChannels' href='./../Overviews/Methods.html#numInputBusChannels'>numInputBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numInputBusChannels' href='./../Overviews/Methods.html#numInputBusChannels'>numInputBusChannels</a> = <span class='argstr'>numChannels: 2</span></h3>
<div class='method'>
<p>The number of audio input bus channels. This need not correspond to the number of hardware inputs. The default is 2.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numOutputBusChannels' href='./../Overviews/Methods.html#numOutputBusChannels'>numOutputBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numOutputBusChannels' href='./../Overviews/Methods.html#numOutputBusChannels'>numOutputBusChannels</a> = <span class='argstr'>numChannels: 2</span></h3>
<div class='method'>
<p>The number of audio output bus channels. This need not correspond to the number of hardware outputs (this can be useful for instance in the case of recording). The default is 2.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numRGens' href='./../Overviews/Methods.html#numRGens'>numRGens</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numRGens' href='./../Overviews/Methods.html#numRGens'>numRGens</a> = value</h3>
<div class='method'>
<p>The number of seedable random number generators. The default is 64.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numWireBufs' href='./../Overviews/Methods.html#numWireBufs'>numWireBufs</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numWireBufs' href='./../Overviews/Methods.html#numWireBufs'>numWireBufs</a> = value</h3>
<div class='method'>
<p>The maximum number of buffers that are allocated to interconnect unit generators. (Not to be confused with the global sample buffers represented by Buffer.) This sets the limit of complexity of SynthDefs that can be loaded at runtime. This value will be automatically increased if a more complex def is loaded at startup, but it cannot be increased thereafter without rebooting. The default is 64.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-outputStreamsEnabled' href='./../Overviews/Methods.html#outputStreamsEnabled'>outputStreamsEnabled</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-outputStreamsEnabled' href='./../Overviews/Methods.html#outputStreamsEnabled'>outputStreamsEnabled</a> = value</h3>
<div class='method'>
<p>A String which allows turning off output streams that you are not interested in on the audio device. If the string is "11000", for example, then only the first two output streams on the device will be enabled. Turning off streams can reduce CPU load.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-protocol' href='./../Overviews/Methods.html#protocol'>protocol</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-protocol' href='./../Overviews/Methods.html#protocol'>protocol</a> = value</h3>
<div class='method'>
<p>A Symbol representing the communications protocol. Either <code>\udp</code> or <code>\tcp</code>. The default is <code>\udp</code>.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-bindAddress' href='./../Overviews/Methods.html#bindAddress'>bindAddress</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-bindAddress' href='./../Overviews/Methods.html#bindAddress'>bindAddress</a> = value</h3>
<div class='method'>
<p>The IP address that the server's TCP or UDP socket is listening on. The default value is <code>"127.0.0.1"</code>, meaning only listen to OSC messages on the host.<div class='warning'><span class='warninglabel'>WARNING:</span> Until SuperCollider 3.10.3, this was set to <code>"0.0.0.0"</code> (listen on all network interfaces). However, this is a dangerous default configuration — for most users working on laptops connected to WiFi, this means that anyone on your local network can send OSC messages to the server. <code>"0.0.0.0"</code> is only useful if you are running networked server/client, and only safe if your networking is properly configured.
<p>Before SuperCollider 3.12 supernova listened to all network interfaces and ignored the <code>bindAddress</code> option. In later versions the behavior is identical to scsynth.</div></div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-remoteControlVolume' href='./../Overviews/Methods.html#remoteControlVolume'>remoteControlVolume</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-remoteControlVolume' href='./../Overviews/Methods.html#remoteControlVolume'>remoteControlVolume</a> = value</h3>
<div class='method'>
<p>A Boolean indicating whether this server should allow its volume to be set remotely. The default value is <code>false</code>.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-sampleRate' href='./../Overviews/Methods.html#sampleRate'>sampleRate</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-sampleRate' href='./../Overviews/Methods.html#sampleRate'>sampleRate</a> = value</h3>
<div class='method'>
<p>The preferred sample rate. If non-nil the server app will attempt to set the sample rate of the hardware. The hardware has to support the sample rate that you choose.<div class='note'><span class='notelabel'>NOTE:</span> On Windows, leaving the <code>sampleRate</code> as <code>nil</code> for an <code>ASIO</code> device will likely result in setting the hardware to run at 44100 Hz.</div></div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-verbosity' href='./../Overviews/Methods.html#verbosity'>verbosity</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-verbosity' href='./../Overviews/Methods.html#verbosity'>verbosity</a> = value</h3>
<div class='method'>
<p>Controls the verbosity of server messages. A value of 0 is normal behaviour. -1 suppresses informational messages. -2 suppresses informational and many error messages, as well as messages from Poll. The default is 0.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-zeroConf' href='./../Overviews/Methods.html#zeroConf'>zeroConf</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-zeroConf' href='./../Overviews/Methods.html#zeroConf'>zeroConf</a> = value</h3>
<div class='method'>
<p>A Boolean indication whether or not the server should publish its port using zero configuration networking, to facilitate network interaction. This is true by default; if you find unacceptable delays (beachballing) upon server boot, you can try setting this to false.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-ugenPluginsPath' href='./../Overviews/Methods.html#ugenPluginsPath'>ugenPluginsPath</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-ugenPluginsPath' href='./../Overviews/Methods.html#ugenPluginsPath'>ugenPluginsPath</a> = value</h3>
<div class='method'>
<p>A path or an Array of paths. If non-nil, the standard paths are NOT searched for plugins. This corresponds with the option "-U".</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-restrictedPath' href='./../Overviews/Methods.html#restrictedPath'>restrictedPath</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-restrictedPath' href='./../Overviews/Methods.html#restrictedPath'>restrictedPath</a> = value</h3>
<div class='method'>
<p>Allows you to restrict the system paths in which the server is allowed to read/write files during running. A nil value (the default) means no restriction. Otherwise, set it as a string representing a single path.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-threads' href='./../Overviews/Methods.html#threads'>threads</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-threads' href='./../Overviews/Methods.html#threads'>threads</a> = value</h3>
<div class='method'>
<p>Number of audio threads that are spawned by supernova. For scsynth this value is ignored. If it is <code>nil</code>or 0, it uses the one thread per CPU. Default is <code>nil</code>.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-useSystemClock' href='./../Overviews/Methods.html#useSystemClock'>useSystemClock</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-useSystemClock' href='./../Overviews/Methods.html#useSystemClock'>useSystemClock</a> = value</h3>
<div class='method'>
<p>Tells supernova whether to sync to the driver's sample clock, or to the system clock.<div class='note'><span class='notelabel'>NOTE:</span> scsynth always uses system clock and this value is ignored.</div>
<p><ul>
<li><code>true</code> (default) -- Use the system clock. Timestamped messages will maintain consistent latency over long sessions, but may not be perfectly sample-accurate.<li><code>false</code> -- Use the sample clock. This helps to support sample-accurate scheduling; however, messaging latency from the SuperCollider language will drift over long periods of time.</ul>
</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-memoryLocking' href='./../Overviews/Methods.html#memoryLocking'>memoryLocking</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-memoryLocking' href='./../Overviews/Methods.html#memoryLocking'>memoryLocking</a> = value</h3>
<div class='method'>
<p>A Boolean indicating whether the server should try to lock its memory into physical RAM. Default is <code>false</code>.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxLogins' href='./../Overviews/Methods.html#maxLogins'>maxLogins</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-maxLogins' href='./../Overviews/Methods.html#maxLogins'>maxLogins</a> = value</h3>
<div class='method'>
<p>An Integer indicating the maximum number of clients which can simultaneously receive notifications from the server. When using TCP this is also the maximum number of simultaneous connections. This is also used by the language to split ranges of <a href="./../Classes/Node.html">Nodes</a>, <a href="./../Classes/Buffer.html">Buffers</a>, or <a href="./../Classes/Bus.html">Busses</a>. In multi-client situations you will need to set this to at least the number of clients you wish to allow. This must be the same in the Server instances on every client. The default is 1.</div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-safetyClipThreshold' href='./../Overviews/Methods.html#safetyClipThreshold'>safetyClipThreshold</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-safetyClipThreshold' href='./../Overviews/Methods.html#safetyClipThreshold'>safetyClipThreshold</a> = value</h3>
<div class='method'><div class='note'><span class='notelabel'>NOTE:</span> MacOS only</div>
<p>A Float indicating a safety threshold for output values to be clipped to. This is necessary on macOS because setting a low system volume doesn't prevent output values greater than +/- 1 from sounding extremely loud, which can happen by mistake, e.g. when sending a negative coefficient to a filter. With this threshold, values are clipped just before being written to hardware output busses, which does not affect the recording. However, the signal will be affected if it's above the threshold and the sound is routed to other apps using 3rd-party software. Defaults to a threshold of 1.26 (ca. 2 dB), to save some ears and still allow some headroom. Setting safetyClipThreshold to <code>inf</code>, <code>0</code>, or a negative value, disables clipping altogether.</div><h3><a class='anchor' name='Other%20Instance%20Methods'>Other Instance Methods</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-asOptionsString' href='./../Overviews/Methods.html#asOptionsString'>asOptionsString</a>(<span class='argstr'>port: 57110</span>)</h3>
<div class='method'><h4>Arguments:</h4>
<table class='arguments'>
<tr><td class='argumentname'>port<td class='argumentdesc'>
<p>The port number for the resulting server app. Default value is 57110.</table><h4>Returns:</h4>
<div class='returnvalue'>
<p>a String specifying the options in the format required by the command-line server app (scsynth or supernova).</div></div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-firstPrivateBus' href='./../Overviews/Methods.html#firstPrivateBus'>firstPrivateBus</a></h3>
<div class='method'><h4>Returns:</h4>
<div class='returnvalue'>
<p>the index of the first audio bus on this server which is not used by the input and output hardware.</div></div><h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-pingsBeforeConsideredDead' href='./../Overviews/Methods.html#pingsBeforeConsideredDead'>pingsBeforeConsideredDead</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-pingsBeforeConsideredDead' href='./../Overviews/Methods.html#pingsBeforeConsideredDead'>pingsBeforeConsideredDead</a> = value</h3>
<div class='method'>
<p>Number of failed pings (attempts to contact server process) before server is considered dead. Default value is 5.</div><h3><a class='anchor' name='Inherited%20instance%20methods'>Inherited instance methods</a></h3>
<div id='inheritedinstmets'></div><h3><a class='anchor' name='Undocumented%20instance%20methods'>Undocumented instance methods</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-bootInProcess' href='./../Overviews/Methods.html#bootInProcess'>bootInProcess</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numPrivateAudioBusChannels' href='./../Overviews/Methods.html#numPrivateAudioBusChannels'>numPrivateAudioBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-numPrivateAudioBusChannels' href='./../Overviews/Methods.html#numPrivateAudioBusChannels'>numPrivateAudioBusChannels</a> = <span class='argstr'>numChannels: 1020</span></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recBufSize' href='./../Overviews/Methods.html#recBufSize'>recBufSize</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recBufSize' href='./../Overviews/Methods.html#recBufSize'>recBufSize</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recChannels' href='./../Overviews/Methods.html#recChannels'>recChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recChannels' href='./../Overviews/Methods.html#recChannels'>recChannels</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recHeaderFormat' href='./../Overviews/Methods.html#recHeaderFormat'>recHeaderFormat</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recHeaderFormat' href='./../Overviews/Methods.html#recHeaderFormat'>recHeaderFormat</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recSampleFormat' href='./../Overviews/Methods.html#recSampleFormat'>recSampleFormat</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recSampleFormat' href='./../Overviews/Methods.html#recSampleFormat'>recSampleFormat</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-recalcChannels' href='./../Overviews/Methods.html#recalcChannels'>recalcChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumAudioBusChannels' href='./../Overviews/Methods.html#reservedNumAudioBusChannels'>reservedNumAudioBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumAudioBusChannels' href='./../Overviews/Methods.html#reservedNumAudioBusChannels'>reservedNumAudioBusChannels</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumBuffers' href='./../Overviews/Methods.html#reservedNumBuffers'>reservedNumBuffers</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumBuffers' href='./../Overviews/Methods.html#reservedNumBuffers'>reservedNumBuffers</a> = value</h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumControlBusChannels' href='./../Overviews/Methods.html#reservedNumControlBusChannels'>reservedNumControlBusChannels</a></h3>
<h3 class='method-code'><span class='method-prefix'>.</span><a class='method-name' name='-reservedNumControlBusChannels' href='./../Overviews/Methods.html#reservedNumControlBusChannels'>reservedNumControlBusChannels</a> = value</h3>
<h2><a class='anchor' name='examples'>Examples</a></h2>
<textarea class='editor'>// Get the default server's options
o = Server.default.options;
// Post the number of output channels
o.numOutputBusChannels.postln;
// Set them to a new number
o.numOutputBusChannels = 6; // The next time it boots, this will take effect
// specify a device
o.device ="MOTU Traveler"; // use a specific soundcard
o.device = nil; // use the system default soundcard
// finally, boot the server
Server.default.boot;
// or, if the server was already running, reboot it
Server.default.reboot;
// ServerOptions and multiple servers
// Create a new instance of ServerOptions for
p = ServerOptions.new;
// Set the memory size to twice the default
p.memSize = 4096;
// Create a new Server on the local machine using o for its options
t = Server(\Local2, NetAddr("127.0.0.1", 57111), p);
t.makeWindow;
t.boot;
t.quit;</textarea>
<p><div class='doclink'>helpfile source: <a href='file:///Applications/SuperCollider.app/Contents/Resources/HelpSource/Classes/ServerOptions.schelp'>/Applications/SuperCollider.app/Contents/Resources/HelpSource/Classes/ServerOptions.schelp</a><br>link::Classes/ServerOptions::<br></div></div><script src='./../editor.js' type='text/javascript'></script>
</body></html>