File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020DIR_IN = 0x80
2121
2222class MIDI :
23- def __init__ (self , device ):
23+ def __init__ (self , device , timeout = None ):
2424 self .interface_number = 0
2525 self .in_ep = 0
2626 self .out_ep = 0
2727 self .device = device
28+ self .timeout_ms = round (timeout * 1000 ) if timeout else 0
2829
2930 self .buf = bytearray (64 )
3031 self .start = 0
@@ -64,8 +65,12 @@ def __init__(self, device):
6465
6566 def read (self , size ):
6667 if self ._remaining == 0 :
67- self ._remaining = self .device .read (self .in_ep , self .buf ) - 1
68- self .start = 1
68+ try :
69+ n = self .device .read (self .in_ep , self .buf , self .timeout_ms )
70+ self ._remaining = n - 1
71+ self .start = 1
72+ except usb .core .USBTimeoutError as e :
73+ pass
6974 size = min (size , self ._remaining )
7075 b = self .buf [self .start :self .start + size ]
7176 self .start += size
You can’t perform that action at this time.
0 commit comments