コード例 #1
0
 def setUp(self):
     super(TestCase, self).setUp()
     self.pseudo_server = types.SimpleNamespace(
         audio_bus_allocator=servertools.BlockAllocator(),
         control_bus_allocator=servertools.BlockAllocator(),
         node_id_allocator=servertools.NodeIdAllocator(),
         )
コード例 #2
0
 def _build_id_mapping_for_nodes(self):
     allocator = servertools.NodeIdAllocator()
     mapping = {self.root_node: 0}
     for offset in self.offsets[1:]:
         state = self.states[offset]
         nodes = sorted(state.start_nodes, key=lambda x: x.session_id)
         for node in nodes:
             mapping[node] = allocator.allocate_node_id()
             mapping[node] = node.session_id
     return mapping
コード例 #3
0
 def setUp(self):
     super(TestCase, self).setUp()
     self.pseudo_server = types.SimpleNamespace(
         audio_bus_allocator=servertools.BlockAllocator(),
         control_bus_allocator=servertools.BlockAllocator(),
         node_id_allocator=servertools.NodeIdAllocator(),
         )
     self.server = servertools.Server.get_default_server().boot()
     synthdefs.default.allocate(self.server)
     self.server.debug_osc = True
     self.server.latency = 0.0
コード例 #4
0
ファイル: Server.py プロジェクト: kureta/supriya
 def _setup_allocators(self, server_options):
     from supriya.tools import servertools
     self._audio_bus_allocator = servertools.BlockAllocator(
         heap_maximum=server_options.audio_bus_channel_count,
         heap_minimum=server_options.first_private_bus_id,
     )
     self._buffer_allocator = servertools.BlockAllocator(
         heap_maximum=server_options.buffer_count, )
     self._control_bus_allocator = servertools.BlockAllocator(
         heap_maximum=server_options.control_bus_channel_count, )
     self._node_id_allocator = servertools.NodeIdAllocator(
         initial_node_id=server_options.initial_node_id, )
     self._sync_id = 0
コード例 #5
0
 def test__perform_realtime_01(self):
     node_uuid = uuid.uuid4()
     event = patterntools.SynthEvent(
         out=4,
         pan=0.25,
         synthdef=synthdefs.default,
         uuid=node_uuid,
     )
     server = types.SimpleNamespace(
         node_id_allocator=servertools.NodeIdAllocator(), )
     uuids = {}
     event_products = event._perform_realtime(
         server=server,
         timestamp=100.0,
         uuids=uuids,
     )
     assert len(event_products) == 1
     self.compare_strings(
         '''
         supriya.tools.patterntools.EventProduct(
             event=supriya.tools.patterntools.SynthEvent(
                 delta=0,
                 out=4,
                 pan=0.25,
                 synthdef=<supriya.tools.synthdeftools.SynthDef('da0982184cc8fa54cf9d288a0fe1f6ca')>,
                 uuid=UUID('...'),
                 ),
             index=0,
             requests=[
                 supriya.tools.requesttools.SynthNewRequest(
                     add_action=supriya.tools.servertools.AddAction.ADD_TO_HEAD,
                     node_id=1000,
                     synthdef=<supriya.tools.synthdeftools.SynthDef('da0982184cc8fa54cf9d288a0fe1f6ca')>,
                     target_node_id=1,
                     out=4,
                     pan=0.25,
                     ),
                 ],
             timestamp=100.0,
             uuid=UUID('...'),
             )
         ''',
         format(event_products[0]),
     )
     assert node_uuid in uuids
     assert isinstance(uuids[node_uuid], dict)
     assert list(uuids[node_uuid].keys()) == [1000]
コード例 #6
0
ファイル: test_GroupEvent.py プロジェクト: lisongx/supriya
 def test__perform_realtime_02(self):
     node_uuid = uuid.uuid4()
     event = patterntools.GroupEvent(
         is_stop=True,
         release_time=0,
         uuid=node_uuid,
     )
     server = types.SimpleNamespace(
         node_id_allocator=servertools.NodeIdAllocator(), )
     uuids = {
         node_uuid: {
             1000: servertools.Group(),
         },
     }
     event_products = event._perform_realtime(
         server=server,
         timestamp=100.0,
         uuids=uuids,
     )
     assert len(event_products) == 1
     self.compare_strings(
         '''
         supriya.tools.patterntools.EventProduct(
             event=supriya.tools.patterntools.GroupEvent(
                 delta=0,
                 is_stop=True,
                 release_time=0,
                 uuid=UUID('...'),
                 ),
             index=0,
             is_stop=True,
             requests=[
                 supriya.tools.requesttools.NodeFreeRequest(
                     node_ids=(1000,),
                     ),
                 ],
             timestamp=100.0,
             uuid=UUID('...'),
             )
         ''',
         format(event_products[0]),
     )
コード例 #7
0
ファイル: test_GroupEvent.py プロジェクト: lisongx/supriya
 def test__perform_realtime_01(self):
     node_uuid = uuid.uuid4()
     event = patterntools.GroupEvent(uuid=node_uuid, )
     server = types.SimpleNamespace(
         node_id_allocator=servertools.NodeIdAllocator(), )
     uuids = {}
     event_products = event._perform_realtime(
         server=server,
         timestamp=100.0,
         uuids=uuids,
     )
     assert len(event_products) == 1
     self.compare_strings(
         '''
         supriya.tools.patterntools.EventProduct(
             event=supriya.tools.patterntools.GroupEvent(
                 delta=0,
                 uuid=UUID('...'),
                 ),
             index=0,
             requests=[
                 supriya.tools.requesttools.GroupNewRequest(
                     add_action=supriya.tools.servertools.AddAction.ADD_TO_HEAD,
                     node_id=1000,
                     target_node_id=1,
                     ),
                 ],
             timestamp=100.0,
             uuid=UUID('...'),
             )
         ''',
         format(event_products[0]),
     )
     assert node_uuid in uuids
     assert isinstance(uuids[node_uuid], dict)
     assert list(uuids[node_uuid].keys()) == [1000]
コード例 #8
0
ファイル: test_NoteEvent.py プロジェクト: lisongx/supriya
 def test__perform_realtime_01(self):
     event = patterntools.NoteEvent(
         duration=1.0,
         delta=10.0,
         frequency=443,
     )
     server = types.SimpleNamespace(
         node_id_allocator=servertools.NodeIdAllocator(), )
     start_product, stop_product = event._perform_realtime(
         server=server,
         timestamp=100.0,
         uuids={},
     )
     assert start_product.uuid == stop_product.uuid
     self.compare_strings(
         '''
         supriya.tools.patterntools.EventProduct(
             event=supriya.tools.patterntools.NoteEvent(
                 delta=10.0,
                 duration=1.0,
                 frequency=443,
                 is_stop=True,
                 ),
             index=0,
             is_stop=False,
             requests=[
                 supriya.tools.requesttools.SynthNewRequest(
                     add_action=supriya.tools.servertools.AddAction.ADD_TO_HEAD,
                     node_id=1000,
                     synthdef=<supriya.tools.synthdeftools.SynthDef('da0982184cc8fa54cf9d288a0fe1f6ca')>,
                     target_node_id=1,
                     frequency=443,
                     ),
                 ],
             timestamp=100.0,
             uuid=UUID('...'),
             )
         ''',
         format(start_product),
     )
     self.compare_strings(
         '''
         supriya.tools.patterntools.EventProduct(
             event=supriya.tools.patterntools.NoteEvent(
                 delta=10.0,
                 duration=1.0,
                 frequency=443,
                 is_stop=True,
                 ),
             index=0,
             is_stop=True,
             requests=[
                 supriya.tools.requesttools.NodeSetRequest(
                     node_id=1000,
                     gate=0,
                     ),
                 ],
             timestamp=101.0,
             uuid=UUID('...'),
             )
         ''',
         format(stop_product),
     )