Wohlstand / libADLMIDI

A Software MIDI Synthesizer library with OPL3 (YMF262) emulator
GNU Lesser General Public License v3.0
170 stars 17 forks source link

Add support for Metaltech Battledrome *.HMP #279

Open Jenetrix opened 1 month ago

Jenetrix commented 1 month ago

Metaltech Battledrome .HMP files playback incorrectly, at roughly 2x the normal speed, compared to their Metaltech Earthsiege .HMP counterparts. libADLMIDI also does not have the ES Expansion or BD soundbanks which are distinct compared to the stock ES one.

Wohlstand commented 1 month ago

Hello! As a small note that libADLMIDI's built-in sequencer is unable to play HMI/HMP files at all, here is a task to implement that soon. Right now any HMI/HMP players that do use libADLMIDI do use the custom MIDI sequencer that parses HMI/HMP files and uses libADLMIDI via Real-Time functions to supply MIDI commands (as an example how GZDoom uses libADLMIDI and libOPNMIDI: it has its own file parser and any events gets sent to libADLMIDI via its real-time commands functions).

Jenetrix commented 1 month ago

Tempo changing was added in foo_midi https://github.com/stuerp/foo_midi/issues/40 but the main hiccup now is that the Earthsiege Expansion pack and Metaltech Battledrome sound banks are not available in libADLMIDI. Attaching those soundbank files to this issue, as those game have been freeware since ~2015. ES Music.zip ES Banks.zip