Fix MIDI bridge: remove semicolons (corrupts Pd velocity parsing), retry on device busy
Validate and Test / validate-patches (push) Failing after 13s

This commit is contained in:
2026-06-24 19:10:13 -07:00
parent eff3c45849
commit 3725df926e
2 changed files with 48 additions and 48 deletions
+11 -3
View File
@@ -46,8 +46,8 @@ def _find_midi_dev():
def midi_msg(status, data1, data2=None):
if data2 is not None:
return f"midi {status} {data1} {data2};"
return f"midi {status} {data1};"
return f"midi {status} {data1} {data2}"
return f"midi {status} {data1}"
def _open_midi():
@@ -55,7 +55,15 @@ def _open_midi():
while not os.path.exists(midi_dev):
time.sleep(0.5)
midi_dev = _find_midi_dev()
fd = os.open(midi_dev, os.O_RDWR | os.O_NONBLOCK)
while True:
try:
fd = os.open(midi_dev, os.O_RDWR | os.O_NONBLOCK)
break
except OSError as e:
if e.errno == 16:
time.sleep(0.5)
continue
raise
os.set_blocking(fd, False)
return fd