Мне интересно, как лучше всего играть постоянный ритм с заданным ударов в минуту, когда удары в минуту будут обновляться другой функцией, которая считывает данные из пользовательского ввода.
def gatherAndProcessData():
return newBPM
def playBeat(newBPM):
subprocess.call(["python.exe", "playBeat.py"]) # Calling the Beat
def main():
while True:
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.submit(gatherData, (event_time,))
executor.submit(playBeat, (oscillator_machine.freq,))
Это более Базовая c версия кода, работающего в данный момент, что, я думаю, будет достаточно, но если вам помогут более подробные сведения, просто дайте мне знать, и я добавлю больше.
В настоящее время я пытаюсь использовать пулы потоков, но не знаю, как они работают. Приведенный выше код, я думаю, может быть близок к решению, но в данный момент не работает. Я ожидаю возвращаемое значение bpm от gatherData
, которое также печатается в конце этой функции, однако операторы print не печатаются, а executor.submit
возвращает будущий набор, поэтому я не уверен, как получить доступ к возвращенному значению из функция в этом наборе.