Overview of the SuperCollider implementation
Data Network Elements
The data network is built up from different elements:
SWDataNetwork – the network itself
SWDataNode – a node is a collection of slots, usually based upon a device or another common source (e.g. result from a function).
SWDataSlot – a slot is a single data stream
Data on the network is set by calling the function method setData with as arguments the node ID and an array of data values. The ID is an unique identifier. The function can be called for example by a class instance that parses serial data.
Each DataNode and each DataSlot can be given a label, so that their functionality becomes more human understandable.
Within SuperCollider the implementation is done in a number of classes.
SWDataNetwork is the basic implementation of the DataNetwork. You can use it in a local project to manage your datastreams within SC (not communicating with other programs), or become the host of the DataNetwork by calling the method, createHost. It is also the base class of SWDataNetworkClient, so the common usage interface between the host and the client is the same. The client has some extra methods for registering, subscribing and querying.
You can easily create a graphical user interface for the DataNetwork with the method makeGui.
SWDataNode – SWDataStringNode are the implementations of the DataNode. You usually access them by number or by name from the DataNetwork instance.
SWDataSlot – SWDataStringSlot are the implementations of the DataSlots. You usually access them by number or by name from the DataNetwork instance.
SWDataNetworkLog can be used to read a logfile of the DataNetwork and play the data back into a DataNetwork.
SWDataNetworkSpec, SWDataNetworkOSC, and SWDataNetworkOSCClient are used internally to handle labeling of DataNodes and DataSlots, and the OSC
communication of the host.
There are methods for easily adding GeneralHID devices and WiiMotes to the network. There are also extensions to use data from the DataNetwork in Patterns.
SWBusNode, SWWatcherNode, SWBusWatcherNode, SWCombineNode and SWDataAction are classes to use to process data from the datanetwork and create derived or conditioned data.
Each of the classes has a helpfile, accessible through the built-in help access of SuperCollider.