Beispiel #1
0
class AppRoot(ExportedState):
    def __init__(self, devices, audio_config, features):
        self.__receive_flowgraph = Top(
            devices=devices,
            audio_config=audio_config,
            features=features)
        # TODO: only one session while we sort out other things
        self.__session = Session(
            receive_flowgraph=self.__receive_flowgraph,
            features=features)
    
    @exported_block()
    def get_receive_flowgraph(self):  # TODO needs to go away
        return self.__receive_flowgraph
    
    @exported_block(persists=True)
    def get_devices(self):
        """Return all existant devices.
        
        This exists only for persistence purposes.
        """
        return self.__receive_flowgraph.get_sources()
    
    # TODO: should become something more like 'create new session'
    def get_session(self):
        return self.__session
    
    def close_all_devices(self):
        self.__receive_flowgraph.close_all_devices()
Beispiel #2
0
class AppRoot(ExportedState):
    def __init__(self, devices, audio_config, features):
        self.__receive_flowgraph = Top(devices=devices,
                                       audio_config=audio_config,
                                       features=features)
        # TODO: only one session while we sort out other things
        self.__session = Session(receive_flowgraph=self.__receive_flowgraph,
                                 features=features)

    @exported_block()
    def get_receive_flowgraph(self):  # TODO needs to go away
        return self.__receive_flowgraph

    @exported_block(persists=True)
    def get_devices(self):
        """Return all existant devices.
        
        This exists only for persistence purposes.
        """
        return self.__receive_flowgraph.get_sources()

    # TODO: should become something more like 'create new session'
    def get_session(self):
        return self.__session

    def close_all_devices(self):
        self.__receive_flowgraph.close_all_devices()
Beispiel #3
0
 def test_close(self):
     l = set()
     top = Top(devices={'m': Device(
         rx_driver=ShutdownMockDriver(l, 'rx'),
         tx_driver=ShutdownMockDriver(l, 'tx'),
         components={'c': ShutdownMockDriver(l, 'c')})})
     top.close_all_devices()
     # TODO: Add support for closing non-driver components (making this set [rx,tx,c]).
     self.assertEqual(l, set(['rx', 'tx']))
Beispiel #4
0
 def test_close(self):
     l = set()
     top = Top(
         devices={
             'm':
             Device(rx_driver=ShutdownMockDriver(l, 'rx'),
                    tx_driver=ShutdownMockDriver(l, 'tx'),
                    components={'c': ShutdownMockDriver(l, 'c')})
         })
     top.close_all_devices()
     # TODO: Add support for closing non-driver components (making this set [rx,tx,c]).
     self.assertEqual(l, set(['rx', 'tx']))
Beispiel #5
0
 def test_close(self):
     l = []
     top = Top(
         devices={
             'm':
             merge_devices([
                 simulate.SimulatedDevice(),
                 Device(components={'c': _DeviceShutdownDetector(l)})
             ])
         })
     top.close_all_devices()
     self.assertEqual(l, ['close'])
Beispiel #6
0
class AppRoot(ExportedState):
    def __init__(self, **kwargs):
        # TODO: don't just forward args, do something more sensible, or take as args
        self.__receive_flowgraph = Top(**kwargs)
        # TODO: only one session while we sort out other things
        self.__session = Session(self.__receive_flowgraph)
    
    @exported_block()
    def get_receive_flowgraph(self):
        return self.__receive_flowgraph
    
    # TODO: should become something more like 'create new session'
    def get_session(self):
        return self.__session
    
    def close_all_devices(self):
        self.__receive_flowgraph.close_all_devices()