mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-16 06:39:17 +00:00
6f575e580c
XMIDI uses Note On events with a length which specifies when a corresponding Note Off event should be generated. Some XMIDI data contains notes with length 0, which are played very briefly by AIL. However, the ScummVM MidiParser will treat Note On events with length 0 as "active notes", meaning it will wait for a Note Off event before turning off the note. The Note Off will never come and the note will hang. This is particularly noticable in Ultima 8 (first section of the track that plays at the beginning of the game, at the shore) and The 7th Guest (the track that plays while solving the cake puzzle). I've fixed this by changing the length from 0 to 1. This will cause the notes to be active for the minimum length. |
||
---|---|---|
.. | ||
decoders | ||
mods | ||
softsynth | ||
adlib.cpp | ||
alsa_opl.cpp | ||
audiostream.cpp | ||
audiostream.h | ||
fmopl.cpp | ||
fmopl.h | ||
mididrv.cpp | ||
mididrv.h | ||
midiparser_qt.cpp | ||
midiparser_qt.h | ||
midiparser_smf.cpp | ||
midiparser_xmidi.cpp | ||
midiparser.cpp | ||
midiparser.h | ||
midiplayer.cpp | ||
midiplayer.h | ||
miles_adlib.cpp | ||
miles_midi.cpp | ||
miles.h | ||
mixer_intern.h | ||
mixer.cpp | ||
mixer.h | ||
module.mk | ||
mpu401.cpp | ||
mpu401.h | ||
musicplugin.cpp | ||
musicplugin.h | ||
null.cpp | ||
null.h | ||
opl2lpt.cpp | ||
rate_arm_asm.s | ||
rate_arm.cpp | ||
rate.cpp | ||
rate.h | ||
timestamp.cpp | ||
timestamp.h |