-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XMI: bad reading of high delta values #199
Comments
Where can we see the files that are problematic with the current code? |
They are encoded in the game as binary resources which take a special tool to extract. |
This seems to affect not only WC2, but others as well, such as
Legend of Kyrandia:
SSHOCK (GENMIDI directory):
SSHOCK (SBLASTER directory):
The list can go on. For the 419.xmi from this report, I got: @psi29a : What do you think of this? |
I've made on experiment myself on 46.xmi of Magic carpet 2 which is also affected. I've made recordings of synthesis of this music by ADLMIDI on 3 different sequencings.
Having fixed the delta calculation, the timing seems now matching with the original playback. See: |
PING: Anyone with any opinions on this? |
deal with IRL things at the moment. |
I'm OK with merging this in. I think the assumption, and otherwise 'magic' value of 4 was a bad assumption. |
So this was found in xmi2mid, do we have the same issue in f_xmidi (what the player uses)? |
I don't know, let's ask: @jpcima if you play your xmi plainly, w/o converting like |
Thanks for merging.
I took a recording on Wildmidi 3898cbd with the eawpats. This does not seem affected by the issue. |
OK then, closing. |
Hello. I believe to have discovered a parsing problem of Warcraft II's XMI. (eg.
419.xmi
)The problem about VLQ2's reading is the forced stop at 4th byte, for a 508 maximum value, whereas my XMI file can admit delta which are longer. This will likely produce a misreading of a series junk events.
In case of Warcraft II, I have end-of-track at delta value 166003.
This is a report based on software which uses WildMIDI's XMI parser for preprocessing sequencer inputs.
Here was the proposed fix and the problem description: Wohlstand/libADLMIDI#158
The text was updated successfully, but these errors were encountered: