コード例 #1
0
ファイル: servers.py プロジェクト: inegm/supriya
    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)
コード例 #2
0
ファイル: servers.py プロジェクト: inegm/supriya
 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
コード例 #3
0
 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
コード例 #4
0
    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)
コード例 #5
0
    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)