Replies: 5 comments 5 replies
-
Do you have a list of the incoming MIDI commands? (a Wireshark dump helps!) |
Beta Was this translation helpful? Give feedback.
-
Correct, without a dump from Wireshark, i can't do anything |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I'm not a fan of implementing journaling, as it does not fit the microcontroller platform (even if Teensies are giants in a small footprint). Not sure why you drop commands, I suggest you simplify your setup (hardware and software) to the bare minimum. Who/what generates the NoteOn/Off (and at what rate) and how do you get them to your Teensy (what is the network infrastructure)? Simplify that first and then build it up again until you see dropped packets. (I'm not ruling out flaws in the code, just trying to identify where drops happen). Alternatively, you can add debug messages in the code to print incoming packets and see where/how they get dropped (See DEBUG statements in the code) Arduino-AppleMIDI-Library/src/rtpMIDI_Parser.h Lines 30 to 45 in d8a4e98 |
Beta Was this translation helpful? Give feedback.
-
Can you share some code (send code (on what?) and receive code for Teensy 4.1). I did modify the code recently and you make me doubt my modifs. Maybe i can reproduce the issue |
Beta Was this translation helpful? Give feedback.
-
Hello @lathoub,
First, thank you for your valuable work with this library!
I tried it on a Teensy 4.1, but I lose packets here and there (more on Windows with rtpMIDI v1.1.14 than on macOS, but it still happens and even chokes the session and disconnects). Obviously more with a lot of MIDI messages and less when there are fewer. Surely has to do with this wiki on Windows and that discussion on macOS (but the mentioned branch is unfortunately no longer available to try)...
From what I remember, I tried:
Anyway, is there something else I can try? Because otherwise, I wonder if this communication protocol is even reliable or not. Maybe the library could still be optimized, but I have the impression that it will always be impossible to be perfectly reliable (even on a local network it’s still UDP packets that can get lost, right?). It’s beyond my skills, though.
Thank you in advance for your feedback,
Dave
Beta Was this translation helpful? Give feedback.
All reactions