def _handle_node_info_response(self, message): from supriya.commands import Response from supriya.realtime import Group, Synth response = Response.from_osc_message(message) with self._lock: node_id = response.node_id node = self._nodes.get(node_id) if node is not None: node._handle_response(response) elif response.action == NodeAction.NODE_CREATED: if response.is_group: node = Group() else: node = self._pending_synths.pop(node_id, Synth()) node._register_with_local_server(server=self, node_id=response.node_id) parent = self._nodes[response.parent_id] node._set_parent(parent) if response.previous_node_id: previous_child = self._nodes[response.previous_node_id] index = parent.index(previous_child) parent._children.insert(index + 1, node) else: parent._children.append(node)
def recurse(query_tree_node, node): for query_tree_child in query_tree_node.children: if isinstance(query_tree_child, QueryTreeGroup): group = Group() group._register_with_local_server( node_id=query_tree_child.node_id, server=self) node._children.append(group) recurse(query_tree_child, group) elif isinstance(query_tree_child, QueryTreeSynth): synth = Synth() synth._register_with_local_server( node_id=query_tree_child.node_id, server=self) node._children.append(synth) for query_tree_control in query_tree_child.children: pass
def recurse(query_tree_node, node): for query_tree_child in query_tree_node.children: if isinstance(query_tree_child, QueryTreeGroup): group = Group() group._register_with_local_server( node_id=query_tree_child.node_id, server=self ) node._children.append(group) recurse(query_tree_child, group) elif isinstance(query_tree_child, QueryTreeSynth): synth = Synth() synth._register_with_local_server( node_id=query_tree_child.node_id, server=self ) node._children.append(synth) for query_tree_control in query_tree_child.children: pass
def _apply_local(self, server): from supriya.realtime import Group, Node for item in self.items: if isinstance(item.node_id, Group): node_id = None group = item.node_id else: node_id = item.node_id group = Group() if isinstance(item.target_node_id, Node): target_node = item.target_node_id else: target_node = server._nodes[item.target_node_id] group._register_with_local_server( server, node_id=node_id, node_id_is_permanent=group.node_id_is_permanent) target_node._move_node(add_action=item.add_action, node=group)
def _handle_node_info_response(self, response): from supriya.realtime import Group, Synth with self._lock: node_id = response.node_id node = self._nodes.get(node_id) if node is not None: node._handle_response(response) elif response.action == NodeAction.NODE_CREATED: if response.is_group: node = Group() else: node = Synth() node._register_with_local_server(server=self, node_id=response.node_id) parent = self._nodes[response.parent_group_id] node._set_parent(parent) if response.previous_node_id: previous_child = self._nodes[response.previous_node_id] index = parent.index(previous_child) parent._children.insert(index + 1, node) else: parent._children.append(node)