title:: Glossary
summary:: Glossary of some relevant words
categories:: Help

definitionlist::
## buffer
keyword:: buffer
|| A server-side header and array of 32 bit floating point sample data. Buffers are used for sound files, delay lines, arrays of global controls, and arrays of inter-synth patch points. Represented by the client-side class link::Classes/Buffer::.

## class
keyword:: class
|| A description of the state and behaviour of a set of objects.

## client
keyword:: client
|| SC is divided into two separate applications: The client and the server. The client is where the SuperCollider language is implemented and where one executes code. The server actually synthesizes the audio, contains the node tree of synths and groups and responds to Open Sound Control messages from the client. See link::Guides/ClientVsServer:: for more information.

## group
keyword:: group
|| A linked list of nodes. Groups provide ways to control execution of many nodes at once. A group is a kind of node. Colloquially one can understand a group as an ordered grouping of other nodes, which may include both synths and other groups. Represented by the client-side class link::Classes/Group::.

## interface
keyword:: interface
|| The set of messages to which an object responds.

## instance
keyword:: instance
|| One of the objects described by a class.

## instance variable
keyword:: variable
|| A part of an object's internal state

## message
keyword:: message
|| A request for an object to perform an operation.

## method
keyword:: method
|| A description of the operations necessary to implement a message for a particular class.

## MIDI
keyword:: midi
|| A protocol for sending music control data between synthesizers.

## node
keyword:: node
|| One point in a tree of nodes executed in a depth first traversal order by the synth engine. There are two types of nodes, synths and groups. These are represented by the client-side classes link::Classes/Synth:: and link::Classes/Group::, and their abstract superclass link::Classes/Node::. The node tree defines the order of execution for synths.

## object
keyword:: object
|| Something that has data, representing the object's state, and a set of operations that can be performed on the object.

## Open Sound Control
keyword:: OSC, opensoundcontrol
|| a protocol defined by CNMAT at UCBerkeley for controlling synthesizers. See http://opensoundcontrol.org/. SuperCollider communicates between the client and server using OSC messages over UDP or TCP.

## OSC
|| See Open Sound Control.

## polymorphism
keyword:: polymorphism
|| The ability for different kinds of objects to respond differently to the same message.

## protocol
keyword:: protocol
|| A set of messages that implement a specific kind of behaviour.

## receiver
keyword:: receiver
|| The object to which a message is sent.

## server
keyword:: server
|| SC is divided into two separate applications: The client and the server. The client is where the SuperCollider language is implemented and where one executes code. The server actually synthesizes the audio, contains the node tree of synths and groups and responds to Open Sound Control messages from the client. See link::Guides/ClientVsServer:: for more information.

## synth
keyword:: synth
|| A sound processing module, based upon a particular synth definition. Similar to "voice " in other systems. Synths are referred to by a number. Represented by the client-side class link::Classes/Synth::.

## synth definition
keyword:: synthdef
|| A definition for creating new synths. Synth definitions are like a pattern or design for synths. Similar to "instrument" in other systems. Represented by the client-side class link::Classes/SynthDef::.

## TCP
keyword:: tcp
|| A protocol for streaming data over a network.

## UDP
keyword:: udp
|| A protocol for sending datagrams over a network.
::
