Нашли решение; Вам нужно обернуть циклы for через некоторое время l oop, а также использовать функцию iter_pending()
, которая позволяет мидо продолжать работу и не застревать в ожидании первого l oop.
Возможно, есть более элегантное решение, но это то, что я смог найти
while True:
for msg1 in input_hw.iter_pending():
if not msg1.type == "clock":
print(msg1)
# Play the note if the note has been triggered
if msg1.type == 'note_on' or msg1.type == 'note_off' and msg1.velocity > 0:
out.send(msg1)
for msg in input_hw2.iter_pending():
#avoid to print the clock message
if not msg.type == "clock":
print(msg)