def _play_sinewave(self, pitch, amplitude=5000, duration=1): """ Create a Csound score to play a sine wave. """ self.orchlines = [] self.scorelines = [] self.instrlist = [] try: pitch = abs(float(pitch)) amplitude = abs(float(amplitude)) duration = abs(float(duration)) except ValueError: logging.error('bad args to _play_sinewave') return self._prepare_sinewave(pitch, amplitude, duration) path = os.path.join(self.activity.get_activity_root(), 'instance', 'tmp.csd') # Create a csound file from the score. self._audio_write(path) # Play the csound file. check_output(['csound', path], 'call to csound failed?')
def _get_hardware(): ''' Determine whether we are using XO 1.0, 1.5, ... or 'unknown' hardware ''' version = _get_dmi('product_version') # product = _get_dmi('product_name') if version is None: hwinfo_path = '/bin/olpc-hwinfo' if os.path.exists(hwinfo_path) and os.access(hwinfo_path, os.X_OK): model = check_output([hwinfo_path, 'model'], 'unknown hardware') version = model.strip() if version == '1': return XO1 elif version == '1.5': return XO15 elif version == '1.75': return XO175 elif version == '4': return XO4 else: return UNKNOWN