Я заметил, что Jython Environment for Music (JEM) имеет собственную реализацию Timer, как описано в https://jythonmusic.me/timer-library/.В документации показана функция t.setDelay (задержка), где задержка указана в миллисекундах.
Моя проблема в том, что t.setDelay (задержка) , по-видимому, не даетРазница во времени задержки.Таймер продолжает использовать исходную задержку, которая была установлена во время создания.
Мне интересно, если это ошибка (возможно, она была повреждена во время другого обновления?), Или если есть хитрость, что яЯ не вижу.
Код: мой код является частью большего класса.Соответствующие строки:
в __init __
self.t = Timer(500, self.metronome, (), True)
в self.metronome ()
required_delay = int(60000.0/self.adjusted_16count)
self.t.setDelay(required_delay)
Функция metronome () продолжает повторяться в исходном темпе (вв этом случае каждые 500 мс) независимо от функции setDelay ().Странно, если я посмотрю на значение задержки, добавив
print self.t.getDelay()
после приведенного выше кода, он покажет правильное значение (125 в моем случае), но физически продолжает работать так, как если бы исходное значение находилось всила.Я подтвердил это экспериментально, установив очень длинные и очень короткие начальные значения с наблюдаемым результатом (звуком) - период между звуками остается тем же, что и исходное значение, даже если getDelay () показывает изменение.
Заранее спасибо за любые предложения.