def midi(self, value): v = rescale(value, 0, 127, self.getMinValue(), self.getMaxValue(), ylog=self.log) self.SetValue(v, True) if not self.IsShownOnScreen(): self.output_callback(v)
def _callback(status, data1, data2): """Handle a midi event""" # print('midi: {}-{}-{}'.format(status, data1, data2), end='') if data1 in players: if _is_noteoff(status, data2): players[data1].stop() elif _is_noteon(status): vel = pyo.rescale(data2, 0, 127) players[data1].setMul(vel) players[data1].play() mix.out()
def _peak_amp_callback(self, *args): amp = args[0] if args else 0.0 spl = -120.0 if amp < 0.000001 else 20.0 * math.log10(amp) if spl <= self._min_spl: velocity = self._min_velocity elif spl >= self._max_spl: velocity = self._max_velocity else: velocity = int( pyo.rescale(spl, self._min_spl, self._max_spl, self._min_velocity, self._max_velocity)) if self._callback: self._callback(velocity)
def midi(self, value): self.SetValue(rescale(value, 0, 127, -90, 18))