Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Lila Feuer

Doom II MAP08 music hanging up? [in several ports]

Recommended Posts

Toward the end of the song on the last note, it has a habit (albeit rare) of hanging up and looping endlessly even as the song starts itself over, this has happened on ZDoom/Skulltag before, and I figured it might of just been a ZDoom problem but it just happened in Chocolate Doom so I'm wondering what's the deal?

Share this post


Link to post

Must be some bug in the original MUS file. Note that the MAP08 version loops fine. It's the MAP14 and MAP22 songs that are faulty. In the original OPL mode, the bug is masked: while you do get to hear a slightly prolonged note at the end, it will be cut short at the song's restart.

Share this post


Link to post

Yeah, map14 and map22 use a slightly different version of the mus than map08. Here are the last few events in channel 5:

[05]note on: key 70 velo 64
[05]note off: key 70 velo 0
[05]note on: key 67 velo 64
[05]note off: key 67 velo 0
[05]note on: key 62 velo 64
[05]note off: key 62 velo 0
[05]note on: key 63 velo 64
[05]note off: key 63 velo 0
[05]note on: key 67 velo 107
That last note on is not terminated before the song loops, and keeps on playing until that channel happens to hit a note off event for the appropriate key a minute plus into the song. Sounds quite annoying. My guess is that the problem was spotted in original testing but the fix was only put into the MAP08 version by accident.




It's an easy fix to simply send "all notes off" whenever looping, but that will break any track that relies on that behavior and uses it to sustain a note through the loop point.

Does this occur with the original exe? I can't see any reason offhand why it wouldn't, but just checking.

Share this post


Link to post

This happens all the time to me. Glad to hear it's not just my sound card screwing up or something.

Share this post


Link to post

SDL_Mixer ports should be "mostly" unaffected by this. The note still hangs for a few seconds that it shouldn't, but SDL_Mixer does all notes off at loop point, so it cuts off then.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×