Home Reference Source

References

Class Summary

Static Public Class Summary
public

Allocates an audio bus, making it available in the children's context as .out (integer) and .numChannels (integer)

public

Creates a group on the server; sets .group in context for its children, so any Synths or Groups will be spawned inside this group.

public

usage:

public
public
public

Boots a new SuperCollider language interpreter (sclang) making it available for all children as context.sclang

public

Boots a new SuperCollider server (scsynth) making it available for all children as context.scserver

public

Compile a SynthDef from sclang source code

public
public

Owned by the Server, this is an object that you call .msg or .bundle on to send OSC.

public
public

Holds state for a Server such as node/bus/buffer allocators, node status and SynthDefs compiled.

public

A store that holds the state tree.

public

Creates a synth on the server.

public

Sends nodeSet messages to the Synth in the parent context.

public

Takes a list of synth event objects with relative times and schedules them.

public

Given a Bacon.js stream that returns objects, this spawns a series of Synths.

Function Summary

Static Public Function Summary
public

allocBlock(state: Immutable.Map, blockSize: int): Array

Allocates a contigious block of numbers.

public

ampToDb(amp: *): *

public

boot(options: Object, store: Store): Promise

Boot a server with options and connect

public

boot(options: object): Promise

alternate constructor resolves options, boots and loads interpreter

public

bufferAlloc(bufferID: int, numFrames: int, numChannels: int, completionMsg: Array): Array

Allocates zero filled buffer to number of channels and samples.

public

bufferAllocRead(bufferID: int, path: String, startFrame: int, numFramesToRead: int, completionMsg: Array): Array

Allocate buffer space and read a sound file.

public

bufferAllocReadChannel(bufferID: int, path: String, startFrame: int, numFramesToRead: int, channels: Array<int>, completionMsg: Array): Array

Allocate buffer space and read channels from a sound file.

public

bufferClose(bufferID: int): Array

After using a buffer with DiskOut, close the soundfile and write header information.

public

bufferFill(bufferID: int, startFrame: int, numFrames: int, value: float): Array

Fill ranges of samples with a value

public

bufferFree(bufferID: int, completionMsg: Array): Array

Frees buffer space allocated for this buffer.

public

bufferGen(bufferID: int, command: String, args: Array): Array

Call a command to fill a buffer.

public

bufferGet(bufferID: int, framesArray: Array): *

Get sample value(s).

public

bufferGetn(bufferID: int, startFrame: int, numFrames: int): Array

Get ranges of sample value(s).

public

bufferQuery(bufferID: int): Array

Get buffer info.

public

bufferRead(bufferID: int, path: String, startFrame: int, numFramesToRead: int, startFrameInBuffer: int, leaveFileOpen: int, completionMsg: Array): Array

Read sound file data into an existing buffer.

public

bufferReadChannel(bufferID: int, path: String, startFrame: int, numFramesToRead: int, startFrameInBuffer: int, leaveFileOpen: int, channels: Array<int>, completionMsg: Array): Array

Read sound file channel data into an existing buffer.

public

bufferSet(bufferID: int, sets: Array): Array

Takes a list of pairs of sample indices and values and sets the samples to those values.

public

bufferSetn(bufferID: int, startFrame: int, values: Array<float>): Array

Set ranges of sample value(s).

public

bufferWrite(bufferID: int, path: String, headerFormat: String, sampleFormat: String, numFramesToWrite: int, startFrameInBuffer: int, leaveFileOpen: int, completionMsg: Array): Array

Write buffer contents to a sound file.

public

bufferZero(bufferID: int, completionMsg: Array): Array

Sets all samples in the buffer to zero.

public

callAndResolve(value: *, context: *, keyName: *): *

If value is a function then call it, if function returns a Promise then resolve it.

public

callAndResolveAll(things: Array, parentContext: Object): Promise

Call and resolve each of the items in a list

public

Call and resolve each of the values of an Object.

public

Clear all scheduled bundles.

public

cmd(command: *, args: *[]): Array

Execute a command defined by a UGen Plug-in

public

compileSynthDef(defName: String, sourceCode: String): *

Compile a SynthDef from a snippet of supercollider source code, send it to the server and stores the SynthDesc in server.state

public

Fill ranges of bus value(s).

public

Get control bus values

public

controlBusGetn(startBusIndex: int, numBusses: int): Array

Get contiguous ranges of buses.

public

Takes a list of pairs of bus indices and values and sets the buses to those values.

public

Set ranges of bus value(s).

public

dB(spec: *): *

Returns dB mapping function (DbFaderWarp)

public

dbToAmp(db: *): *

public

defFree(defName: String): Array

Delete synth definition.

public

defLoad(path: String, completionMsg: Array): Array

Load synth definition.

public

defLoadDir(path: String, completionMsg: Array): Array

Load a directory of synth definitions.

public

defRecv(buffer: Buffer, completionMsg: Array): Array

Loads a file of synth definitions from a data buffer included in the message.

public

deltaTimeTag(seconds: Number, now: Date): *

deltaTimeTag(secondsFromNow, [now])

public

dryadic(rootDryad: *, moreLayers: *[], rootContext: {}): *

Create a DryadPlayer from a Dryad or hyperscript definition.

public

dryadic(fn: *, requireSCSynth: boolean, requireSClang: boolean): *

public

dumpOSC(code: int): Array

Dump incoming OSC messages to stdout

public

error(on: int): Array

Enable/disable error message posting.

public

exp(spec: *): *

Returns an exponential mapping function

public

expToLin(inMin: *, inMax: *, outMin: *, outMax: *, value: *): *

public

fader(spec: *): *

Returns amp mapping function (FaderWarp)

public

freeBlock(state: Immutable.Map, addr: int, blockSize: int): Immutable.Map

Return a previously allocated block back to the free list.

public

freeBlockList(state: Immutable.Map): Array

Returns a list of the free blocks and their sizes.

public

freqToMidi(freq: *): *

public

group(children: *): *

public

groupDeepFree(groupID: int): Array

Free all synths in this group and all its sub-groups.

public

groupDumpTree(groupID: int, dumpControlValues: int): Array

Post a representation of this group's node subtree to STDOUT

Posts a representation of this group's node subtree, i.e.

public

groupFreeAll(groupID: int): Array

Frees all immediate children nodes in the group

public

groupHead(groupID: int, nodeID: int, rest: ...int): Array

Moves node to the head (first to be executed) of the group.

public

groupNew(nodeID: int, addAction: int, targetID: int): Array

Create a new group.

public

groupQueryTree(groupID: int, dumpControlValues: int): Array

Get a representation of this group's node subtree.

Request a representation of this group's node subtree, i.e.

public

groupTail(groupID: int, nodeID: int, rest: ...int): Array

Moves node to the tail (last to be executed) of the group.

public

h(hgraph: *): *

Convert hyperscript object to a tree of Dryads.

public

increment(state: int, initial: int): Array

A simple incrementing allocator used for nodeIds.

public

initialBlockState(initialSize: int): Immutable.Map

Create initial state for block allocator.

public

interpreter(children: *[], options: {}): *

Boots a new supercollider interpreter making it available for all children as context.lang.

public

linToExp(inMin: *, inMax: *, outMin: *, outMax: *, value: *): *

public

linToLin(inMin: *, inMax: *, outMin: *, outMax: *, value: *): *

public

linear(spec: *): *

Returns a linear mapping function

public

makeBundle(time: null | Number | Array | Date, packets: Array): *

Format an object for osc-min bundle

public

makeChildContext(parentContext: *, keyName: *): *

public

makeMessage(msg: *): *

Format an object for osc-min message

public

mapWithSpec(value: *, spec: *): *

public

midiToFreq(midiNote: *): *

public

nodeAfter(moveNodeID: int, afterNodeID: int): Array

Places node A in the same group as node B, to execute immediately after node B.

public

nodeBefore(moveNodeID: int, beforeNodeID: int): Array

Places node A in the same group as node B, to execute immediately before node B.

public

nodeFill(nodeID: int, triples: Array): Array

Fill ranges of a node's control value(s).

Set contiguous ranges of control indices to single values. For each range, the starting control index is given followed by the number of controls to change, followed by the value to fill. If the node is a group, then it sets the controls of every node in the group.

public

nodeFree(nodeID: int): Array

Delete/free a node

public

nodeMap(nodeID: int, pairs: Array | Object): Array

Map a node's controls to read from a bus.

public

nodeMapAudio(nodeID: int, pairs: Array): Array

Map a node's controls to read from an audio bus.

Takes a list of pairs of control names or indices and audio bus indices and causes those controls to be read continuously from a global audio bus. If the node is a group, then it maps the controls of every node in the group. If the audio bus index is -1 then any current mapping is undone. Any n_set, n_setn and n_fill command will also unmap the control. For the full audio rate signal, the argument must have its rate set to \ar.

public

nodeMapAudion(nodeID: int, triples: Array): Array

Map a node's controls to read from audio buses.

public

nodeMapn(nodeID: int, triples: Array): Array

Map a node's controls to read from buses.

Takes a list of triples of control names or indices, bus indices, and number of controls to map and causes those controls to be mapped sequentially to buses. If the node is a group, then it maps the controls of every node in the group. If the control bus index is -1 then any current mapping is undone. Any n_set, n_setn and n_fill command will also unmap the control.

public

nodeOrder(addAction: int, targetID: int, nodeIDs: Array<int>): Array

Move and order a list of nodes.

public

nodeQuery(nodeID: int): Array

Get info about a node.

public

nodeRun(nodeID: int, on: int): Array

Stop/start a node from running

public

nodeSet(nodeID: int, pairs: Object | Array): Array

Set a node's control value(s).

Takes a list of pairs of control indices and values and sets the controls to those values. If the node is a group, then it sets the controls of every node in the group.

This message now supports array type tags ($[ and $]) in the control/value component of the OSC message. Arrayed control values are applied in the manner of n_setn (i.e., sequentially starting at the indexed or named control).

I think this also takes [freq, 440],

public

nodeSetn(nodeID: int, valueSets: Array): Array

Set ranges of a node's control value(s).

Set contiguous ranges of control indices to sets of values. For each range, the starting control index is given followed by the number of controls to change, followed by the values. If the node is a group, then it sets the controls of every node in the group.

public

nodeTrace(nodeID: int): Array

Trace a node.

public

End real time mode, close file.

public

notify(on: int): Array

Register to receive notifications from server

public

onNodeEnd(server: Server, id: String, nodeID: int, handler: Function): Function

Call a function when the server sends an /n_end message One callback allowed per id and node.

public

onNodeGo(server: Server, id: String, nodeID: int, handler: Function): Function

Call a function when the server sends an /n_go message One callback allowed per id and node The id is usually a context id but could be a random guid

public

parallelGroupNew(groupID: int, addAction: int, targetID: int): Array

Create a new parallel group.

public

parseMessage(msg: *): *

Convert full OSC message to a simple Array

public

play(rootDryad: Dryad | Array): DryadPlayer

Play a Dryad or hyperscript document.

public

putSynthDef(context: *, defName: *, synthDesc: *)

store synthDefDesc in server state.

public

quit(): Array

Tell server to exit

public

requireInterpreter(child: *, options: {}): *

Boots a supercollider interpreter if none is already available in the context making it available for all children as context.lang.

public

requireServer(child: *, options: {}): *

Boots a supercollider server if none is already available in the context making it available for all children as context.server.

public

reserveBlock(state: Immutable.Map, addr: int, blockSize: int): Immutable.Map

Reserve a block by re-writing the free list

public

resolveOptions(configPath: String, commandLineOptions: Object): Promise

load configuration files and merge options into a final dict

public

scserver(command: *, context: *): *

Send OSC to the SuperCollider server (scsynth)

public

server(children: *[], options: {}): *

Boots a new supercollider server making it available for all children making it available for all children as context.server.

public

Query for server status.

public

stream(streamable: Rx.Observeable): *

Spawns each item returned by an Rx.Observable stream.

public

sync(id: int): Array

Notify when async commands have completed.

public

synth(synthDefName: String | Function, args: Object): Function

Generates a function that will spawn a Synth when it is called

public

synthGet(synthID: int, controlNames: Array.<int | String>): Array

Get control value(s).

public

synthGetn(synthID: int, controlName: int | String, n: int): Array

Get ranges of control value(s).

public

synthNew(defName: String, nodeID: int, addAction: int, targetID: int, args: Object): Array

Create a new synth.

public

synthNoid(synthIDs: Array): Array

Auto-reassign synths' ID to a reserved value.

This command is used when the client no longer needs to communicate with the synth and wants to have the freedom to reuse the ID. The server will reassign this synth to a reserved negative number. This command is purely for bookkeeping convenience of the client. No notification is sent when this occurs.

public

synthStream(streamable: *, params: {}): *

Spawns each event in an Rx.Observeable stream

public

ugenCmd(nodeID: int, uGenIndex: int, command: String, args: Array): Array

Send a command to a unit generator.

public

unmapDb(spec: *): *

Returns inverse of dB mapping function (DbFaderWarp)

public

unmapExp(spec: *): *

Returns inverse of exponential mapping function

public

unmapFader(spec: *): *

Returns inverse of amp mapping function (FaderWarp)

public

unmapLinear(spec: *): *

Returns inverse of linear mapping function

public

unmapWithSpec(value: *, spec: *): *

public

updateNodeState(server: *, nodeID: *, nodeState: *)

Update values in the Server's node state registery

public

watchNodeNotifications(server: Server): Rx.Disposable

Watch server OSC receive for any n_XXX messages Save info for node and call any registered callbacks.

public

whenNodeEnd(server: *, id: *, nodeID: *): *

Returns a Promise that resolves when the server sends an /n_end message The id is usually a context id but could be a random guid

public

whenNodeGo(server: Server, id: String, nodeID: int): Promise

Returns a Promise that resolves when the server sends an /n_go message The id is usually a context id but could be a random guid

public

withContext(parentContext: Object | undefined, requireSCSynth: Boolean, requireSClang: Boolean): *

Create a context, inheriting from parentContext.

Variable Summary

Static Public Variable Summary
public

add actions for specifying relationship of newly adding node to its targetID 0 add the new group to the the head of the group specified by the add target ID.

public
public

STATES: *

public

dateToTimetag(date)

public

layer: *

public

timetagToDate(ntpTimeTag: Array): Date: *

timetagToDate(ntpTimeTag)