52 lines
1.8 KiB
Text
52 lines
1.8 KiB
Text
|
#lang scribble/manual
|
||
|
@(require (for-label racket))
|
||
|
|
||
|
@title{/s_new Create a new synth}
|
||
|
|
||
|
string - synth definition name
|
||
|
int - synth ID
|
||
|
int - add action (0,1,2, 3 or 4 see below)
|
||
|
int - add target ID
|
||
|
[
|
||
|
int or string - a control index or name
|
||
|
float - a control value
|
||
|
] * N
|
||
|
|
||
|
Create a new synth from a synth definition, give it an ID, and add it
|
||
|
to the tree of nodes. There are four ways to add the node to the tree
|
||
|
as determined by the add action argument which is defined as follows:
|
||
|
|
||
|
0 - add the new node to the the head of the group specified by the
|
||
|
add target ID.
|
||
|
|
||
|
1 - add the new node to the the tail of the group specified by
|
||
|
the add target ID.
|
||
|
|
||
|
2 - add the new node just before the node specified by the add
|
||
|
target ID.
|
||
|
|
||
|
3 - add the new node just after the node specified by the add target
|
||
|
ID.
|
||
|
|
||
|
4 - the new node replaces the node specified by the add target
|
||
|
ID. The target node is freed.
|
||
|
|
||
|
Controls may be set when creating the synth. The control arguments are
|
||
|
the same as for the n_set command.
|
||
|
|
||
|
If you send /s_new with a synth ID of -1, then the server will
|
||
|
generate an ID for you. The server reserves all negative IDs. Since
|
||
|
you don't know what the ID is, you cannot talk to this node directly
|
||
|
later. So this is useful for nodes that are of finite duration and
|
||
|
that get the control information they need from arguments and buses or
|
||
|
messages directed to their group. In addition no notifications are
|
||
|
sent when there are changes of state for this node, such as /go, /end,
|
||
|
/on, /off.
|
||
|
|
||
|
If you use a node ID of -1 for any other command, such as /n_map, then
|
||
|
it refers to the most recently created node by /s_new (auto generated
|
||
|
ID or not). This is how you can map the controls of a node with an
|
||
|
auto generated ID. In a multi-client situation, the only way you can
|
||
|
be sure what node -1 refers to is to put the messages in a bundle.
|
||
|
|