[ scummvm-Patches-615745 ] GMD tracks through IMuseAdlib
noreply at sourceforge.net
noreply at sourceforge.net
Sat Sep 28 02:12:51 CEST 2002
Patches item #615745, was opened at 2002-09-27 19:12
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=615745&group_id=37116
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Jamieson Christian (jamieson630)
Assigned to: Nobody/Anonymous (nobody)
Summary: GMD tracks through IMuseAdlib
Initial Comment:
This patch augments IMuseAdlib with support for playing
GMD (General MIDI) tracks using Adlib output.
Some notes:
* GMD tracks are now given a comparison priority even if
_use_adlib is true. This allows GMD tracks to be
selected in the absence of ADL (Adlib) tracks, where
previously no track was selected at all.
* A table mapping GM programs to FM instrument
definitions has been dropped into imuse.cpp. This table
was built by matching up DOTT instrument definitions
with GM program changes. While is still has gaps, it
has been verified to provide reasonable output with the
whole of DOTT and the Sam & Max demo.
* Program change messages cause IMuseAdlib to use
the _glob_instr table ONLY if it has determined that
anything was ever loaded into it (through SysEx
command 0x11). Otherwise, it draws off the GM-to-FM
mapping table.
Some attention areas:
* Percussion is not implemented. If IMuseAdlib detects
anything coming in on the percussion channel, it throws
it out. NOTE that this may actually be too
indiscriminatory, i.e. actual Adlib tracks don't have a
predefined percussion track and may use that channel
legitimately. Probably need a way for IMuseAdlib to
determine if it's a GM or Adlib track and filter channels
accordingly. I didn't notice it kicking out Adlib parts, but
I'm not certain that it NEVER does that.
* The mapping table currently provides definitions for
about 70 out of 128 possible programs. If you want to
help in making it complete, run ScummVM with Sam &
Max full version, using debug level 2, and capture the
output and send it to me. Program changes recorded in
the debug output will tell me which programs are being
used that are not implemented yet.
Hope this helps bring Sam & Max to life on those Linux
systems! :-)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=615745&group_id=37116
More information about the Scummvm-tracker
mailing list