Menu

#82 Length of songs inaccurate

open
nobody
None
5
2010-05-03
2010-05-03
Anonymous
No

When playing Creative Music Format MIDI from Jill of the Jungle (*.DDT) in XMPlay 3.5 (see attachment JILL.7z), set the slider location to at most 1 to 2 seconds just before the reported song length, then the plugin sometimes will end the currently playing song loop at a different position from the reported song length, even after taking rounding errors into account. However, not all songs have the same degree of inaccuracies:

Song Reported length 'Actual' length
DAN.DDT 1:42 1:41.8, 1:43.0-1:43.3
FUNKY.DDT 1:45 1:45.4-1:45.6
IT.DDT 1:53 1:53.0-1:53.2
JUPITER.DDT 1:20 1:21.3-1:22.6
OMINOUS.DDT 1:21 1:22.0-1:23.1
SEVEN.DDT 2:13 2:12.8-2:12.9, 2:13.0-2:13.1
SPIDERS.DDT 1:19 1:20.0-1:23.0
STEALTH.DDT 1:30 1:29.8-1:29.9, 1:31.0-1:31.5
ZEPPELIN.DDT 2:00 2:00.0

Songs FUNKY.DDT, IT.DDT, IT.DDT, ZEPPELIN.DDT have the highest accuracy, while others have various degrees of inaccuracies. Although the inaccuracies are not as bad as it was in plugin 1.8 (see bug 1508895), the actual length should not change between playbacks of the same song. Furthermore, all songs should have at most 0.1 second accuracy.

Discussion

  • Nobody/Anonymous

    JILL.7z

     
  • Adam Nielsen

    Adam Nielsen - 2010-05-04

    Unfortunately the current AdPlug architecture does not allow for seeking. When you seek it simply rewinds the song to the start and plays it (silently) until the point you are seeking to. This should however give you very accurate seeking, except when you reach the last few seconds of the song. There are various issues that conspire here (such as decoding buffers, sound card buffers and in the case of the CMF player, an internal delay of a few seconds to stop the final notes from being cut off.) The end result is that if you seek too close to the end of the file, there will not be enough data to decode so the song will end, whereas playing normally will result in enough audio being buffered that the song will continue to play for a couple of seconds further.

    I would guess that songs ending in a single long note would be affected by this more than songs that end fairly suddenly.

     

Log in to post a comment.