Skip to content
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

Final Tear 3: insanity.mid (_WM_ParseNewMidi:187) (missing EOT) (File corrupt) #183

Closed
Ghabry opened this issue Dec 6, 2017 · 7 comments

Comments

@Ghabry
Copy link
Contributor

Ghabry commented Dec 6, 2017

Final Tear 3 is a RPG Maker 2003 game.

Here is the file:
insanity.zip

Fails with "(_WM_ParseNewMidi:187) (missing EOT) (File corrupt)"

I tested playing the file with Timidity and FmMidi: Plays fine in both.
Can't comment further, no idea how the Midi format works, sorry.

@psi29a
Copy link
Member

psi29a commented Dec 6, 2017

Sounds (pun intended) like the file is missing the End of Track record, as WM correctly detects this. The file should be fixed.

There is perhaps a use-case for a flag that makes the parser less strict, but for the time being that is the behaviour and WM is working as intended.

@Ghabry
Copy link
Contributor Author

Ghabry commented Dec 6, 2017

Okay, so as the name says the file is a bit insane (hihi).

Because the standard indeed says this (just checked it based on your information) I agree that this behaviour is fine.

Maybe tolerating this should be reconsidered when many files are corrupted in such a way but by now this is the first one I ever encountered, so not a big deal.

@Ghabry Ghabry closed this as completed Dec 6, 2017
@sezero
Copy link
Contributor

sezero commented Dec 6, 2017

libtimidity doesn't have any problems with this file.

Maybe the strictness of wildmidi can be relaxed a little
when the midi has only one track like this one?

@chrisisonwildcode
Copy link
Contributor

chrisisonwildcode commented Dec 6, 2017 via email

@psi29a psi29a reopened this Dec 7, 2017
@psi29a
Copy link
Member

psi29a commented Dec 7, 2017

No need to close just yet. :)

@Ghabry
Copy link
Contributor Author

Ghabry commented Apr 3, 2018

Got another MIDI reported that fails to play because of missing EOT:

Lands_25.zip

Appears to be a common problem. Broken MIDI editors everywhere.

@chrisisonwildcode
Copy link
Contributor

Just made a commit that fixes this issue

sezero added a commit that referenced this issue May 16, 2018
make sure to not read beyond bounds when checking a possible extra
byte at the end of the track.  minor cleanup.
sezero added a commit that referenced this issue May 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants