2 categories:: Streams-Patterns-Events
3 related:: Classes/Event
4 summary:: synth- and group- like interface of Event
7 The methods link::Classes/Event#-synth:: and link::Classes/Event#-group:: set the parent event of the receiver to specialized events that duplicate the functionality of link::Classes/Synth:: and link::Classes/Group:: objects. These objects follow the naming conventions of patterns (i.e., groups and addActions are integer ID's) and have the same stop/play/pause/resume interface as the EventStreamPlayers created by Pattern-play. So, they can be used interchangeably with patterns in control schemes and GUI's.
9 The following example creates a group with nodeID = 2 and plays a synth within it.
23 starts synth or group, returns this.delta
25 if ev[\hasGate] == true set gate to 0, otherwise frees the node
30 method:: set ( key, value)
31 sets control identified by key to value
33 returns an array of events, one for each synth or group specified by the receiver
34 method:: map (key, busID)
35 maps control to control bus
36 method:: before (nodeID)
37 moves to immediately before nodeID
38 method:: after (nodeID)
39 moves to immediately after nodeID
40 method:: headOf (nodeID)
41 moves to immediately to head of nodeID
42 method:: tailOf (nodeID)
43 moves to immediately to tail of nodeID
45 subsection:: Multi-channel expansion
46 With the exception of ~server, ~latency, and ~instrument any key in the event can have an array as a
47 value and the standard rules of multi-channel expansion will be followed.
52 // Here is a simple example of its use:
54 // define a multiple Group event
55 g = (id: [2,3,4,5,6], group: 0, addAction: 1).group;
59 b = ( freq: [500,510], group: [2,3]).synth;
62 b.set(\freq,[1000,1006]);
67 h = g.split; // split into individual group events
68 c = b.split; // and synth events