Function getdeltatime(fs) Local ok=0,bt,n ;Delta-time is a ;variable-length encoded value. This format, While confusing, allows large ;numbers To use as many bytes as they need, without requiring small numbers To ;waste bytes by filling with zeros. The number is converted into 7-bit bytes, ;And the most-significant bit of Each byte is 1 except For the Last byte of the ;number, which has a msb of 0. This allows the number To be Read one byte at a ;time, And when you see a msb of 0, you know that it was the Last (least ;significant) byte of the number. According To the MIDI spec, the entire delta- ;time should be at most 4 bytes long. For n=1 To 4 mididelta[n]=0 Next For n=1 To 4 n2%=readbyte2(fs) n3=n2 And 128 n2=n2 Mod 128 Mididelta[n]=n2: If n3<128 Then n=555:Exit Next time=(Mididelta[4]*128*128*128)+(Mididelta[3]*128*128)+(Mididelta[2]*128)+(Mididelta[1]) Return time End Function