Pretty much every Sound Blaster-compatible card used an OPL3 chip
(everything since the Sound Blaster 2 in October 1991) so it seems
reasonable to add this as a requirement. Because of the way that the new
waveforms are arranged in OPL3, it's a pretty graceful degradation if
they're used on an OPL2 anyway (see datasheet, page 14).
The fine tuning field was previously being hard-coded to the value of
128 with no option to change it. DMXGUS in particular makes use of this
field to tune individual instruments, so let's add proper support for
it.
Python 2 is very near end-of-life, and Python3-compatible changes to a
few scripts introduced compatibility problems with 2.7 again. It went
unnoticed for me since my system symlinks "python" to "python3", but
it broke the build on systems where that symlink is still python2. At
this point in time, I feel it is worth targetting modern Python and
forgetting about 2.7.
Using the black code reformatter, pass it over all our Python files.
This allows for a consistent style across the code base.
Exception: lumps/dmxgus/stats.py, for readability.
The tags are shorthand for the license of each file and avoid
copying the full license text into each one (and avoids having
to manually update the dates in each one...).
Config lists the instrument files to use to build the GENMIDI lump.
Some instruments are not yet provided and are nulled out using a dummy
SBI file that doesn't play anything.