Class: Musicality::SuperCollider::Group
- Inherits:
-
Node
- Object
- Node
- Musicality::SuperCollider::Group
show all
- Defined in:
- lib/musicality/performance/supercollider/group.rb
Instance Attribute Summary
Attributes inherited from Node
#freed, #group, #id, #running, #server
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Node
#after, #before, #bundle_queue, #fill, #free, next_id, reset_id_counter, #send_msg, #set, #setn, #start, #stop, #trace
Constructor Details
#initialize(server, group, add_action, target_id, parallel) ⇒ Group
Returns a new instance of Group.
5
6
7
8
9
10
11
|
# File 'lib/musicality/performance/supercollider/group.rb', line 5
def initialize server, group, add_action, target_id, parallel
raise ArgumentError unless ADD_ACTIONS.include?(add_action)
super server, group
send_msg(Message.new(parallel ? '/p_new' : '/g_new',
id, add_action, target_id))
end
|
Class Method Details
.after(target, parallel = false) ⇒ Object
17
18
19
20
|
# File 'lib/musicality/performance/supercollider/group.rb', line 17
def self.after target, parallel = false
raise ArgumentError unless target.is_a?(Node)
new target.server, target.group, ADD_AFTER, target.id, parallel
end
|
.before(target, parallel = false) ⇒ Object
22
23
24
25
|
# File 'lib/musicality/performance/supercollider/group.rb', line 22
def self.before target, parallel = false
raise ArgumentError unless target.is_a?(Node)
new target.server, target.group, ADD_BEFORE, target.id, parallel
end
|
.default(server, parallel = false) ⇒ Object
13
14
15
|
# File 'lib/musicality/performance/supercollider/group.rb', line 13
def self.default server, parallel = false
new(server, nil, ADD_TAIL, 0, parallel)
end
|
.head(target, parallel = false) ⇒ Object
27
28
29
30
|
# File 'lib/musicality/performance/supercollider/group.rb', line 27
def self.head target, parallel = false
raise ArgumentError unless target.is_a?(Group)
new target.server, target, ADD_HEAD, target.id, parallel
end
|
.replace(target, parallel = false) ⇒ Object
37
38
39
40
|
# File 'lib/musicality/performance/supercollider/group.rb', line 37
def self.replace target, parallel = false
raise ArgumentError unless target.is_a?(Node)
new target.server, target.group, ADD_REPLACE, target.id, parallel
end
|
.tail(target, parallel = false) ⇒ Object
32
33
34
35
|
# File 'lib/musicality/performance/supercollider/group.rb', line 32
def self.tail target, parallel = false
raise ArgumentError unless target.is_a?(Group)
new target.server, target, ADD_TAIL, target.id, parallel
end
|
Instance Method Details
#deep_free ⇒ Object
56
57
58
|
# File 'lib/musicality/performance/supercollider/group.rb', line 56
def deep_free
send_msg(Message.new('/g_deepFree', id))
end
|
#dump_tree(flag) ⇒ Object
60
61
62
|
# File 'lib/musicality/performance/supercollider/group.rb', line 60
def dump_tree flag
send_msg(Message.new('/g_dumpTree', id, flag ? 1 : 0))
end
|
#free_all ⇒ Object
52
53
54
|
# File 'lib/musicality/performance/supercollider/group.rb', line 52
def free_all
send_msg(Message.new('/g_freeAll', id))
end
|
#head(node) ⇒ Object
42
43
44
45
|
# File 'lib/musicality/performance/supercollider/group.rb', line 42
def head node
raise ArgumentError unless node.is_a?(Node)
send_msg(Message.new('/g_head', id, node.id))
end
|
#query_tree ⇒ Object
64
65
66
67
|
# File 'lib/musicality/performance/supercollider/group.rb', line 64
def query_tree
raise NotImplementedError
end
|
#tail(node) ⇒ Object
47
48
49
50
|
# File 'lib/musicality/performance/supercollider/group.rb', line 47
def tail node
raise ArgumentError unless node.is_a?(Node)
send_msg(Message.new('/g_tail', id, node.id))
end
|