Nakoniec som sa po dlhom gugleni (ani som nevedel co mam guglit) dozvedel ze vsetko je v poriadku, to len ja som neosetril sucast midi protokolu - tzv "running status". Totiz midi specifikacia umoznuje, aby zariadenie ked rychlo posebe posiela data s rovnakym statusom (napriklad povedzme ze 3x posebe posle note-on na rovnakom kanali a nic ine medzi tym) tak pri tych dalsich dvoch smie vynechat status byte, cize ako napriklad v tomto priklade, namiesto
Kód: Vybrat vše
0x90 0x3C 0x7F
0x90 0x40 0x7F
0x90 0x43 0x7F
Kód: Vybrat vše
0x90 0x3C 0x7F
0x40 0x7F
0x43 0x7F
jedno z moznych rieseni je take ze ak v momente ked ocakavas status byte (cize vacsi ako 127) pride namiesto neho datovy byte (cize mensi ako 128), tak ho spracujes s takym statusom ako mal status predchadzajuci event (cize vzdy ked spracovavas event tak si musis pre buducnost zapametat aky to bol status)
inak specifikacia este hovori ze "realtime" statusy (jednobajtove eventy vacsie ako 247) toto vraj nemaju ovplyvnovat, cize pomedzi tie "nekompletne" "bezstatusove" eventy kludne mozu ist aj realtime statusy.