Yikai-Liao / symusic

A cross platform note level midi decoding library with lightening speed, based on minimidi.
https://yikai-liao.github.io/symusic/
MIT License
108 stars 8 forks source link

Order mismatch between Velocity and NoteOff message when writing #8

Closed Natooz closed 6 months ago

Natooz commented 6 months ago

Following #6, we found an issue with the order of the velocity and NoteOff messages when parsing / writing notes having the same onset time and pitch values.

This is likely to be a FIFO / LIFO issue, either one of these principle should be applied for both parsing and writing in order to keep the data integrity.

Yikai-Liao commented 6 months ago

We have updated minimidi and symusic. Well, currently it is not an efficient solution, but I think it could pass the test. However, the test in actions got some problems, running test scripts in 3rdparty/pybind11 and failed.

Natooz commented 6 months ago

Great! I'll try to fix the test script issue

Natooz commented 6 months ago

Unfortunatly I have two bad news:

  1. renaming the symusic directory kinda broke the local installation (pip install .), I had to rename it symusic to install the latest updates. Now the good news is that after this, the tests ran normally locally without having to rename the directory. I don't know yet why, I'm not a pro of python building/packaging, I don't know what we should do here;
  2. the test results are still the same, the velocity mismatch doesn't seem to be fixed.