def set(self, **kwargs):
        self.player_lock.acquire()
        if 'acqtime' in kwargs:
            self.player.set_aidur(kwargs['acqtime'])
        if 'aifs' in kwargs:
            self.player.set_aifs(kwargs['aifs'])
            self.aifs = kwargs['aifs']
        if 'aifs' in kwargs or 'acqtime' in kwargs:
            t = kwargs.get('acqtime', self.player.get_aidur())
            npoints = t*float(kwargs.get('aifs', self.player.get_aifs()))
            self.aitimes = np.linspace(0, t, npoints)
        if 'trigger' in kwargs:
            self.player.set_trigger(kwargs['trigger'])
        self.player_lock.release()
        if 'aochan' in kwargs:
            self.aochan = kwargs['aochan']
        if 'aichan' in kwargs:
            self.aichan = kwargs['aichan']
        if 'binsz' in kwargs:
            self.binsz = kwargs['binsz']
        if 'save' in kwargs:
            self.save_data = kwargs['save']
        if 'caldb' in kwargs:
            self.caldb = kwargs['caldb']
        if 'calv' in kwargs:
            self.calv = kwargs['calv']
        if 'calf' in kwargs:
            self.calf = kwargs['calf']
        if 'caldb' in kwargs or 'calv' in kwargs:
            self.update_reference_voltage()
        if 'datafile' in kwargs:
            self.datafile = kwargs['datafile']
        if 'reprate' in kwargs:
            self.reprate = kwargs['reprate']
        if 'save' in kwargs:
            self.save_data = kwargs['save']
        if 'average' in kwargs:
            self.average = kwargs['average']
        if 'reject' in kwargs:
            self.reject = kwargs['reject']
        if 'rejectrate' in kwargs:
            self.rejectrate = kwargs['rejectrate']