Commit graph

9 commits

Author SHA1 Message Date
Mike Swanson
6eef9be73a use python3 only for building
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.
2019-09-06 14:43:50 -07:00
Mike Swanson
4701d8f351 Blacken all Python files
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.
2019-09-04 19:36:23 -07:00
Mike Swanson
8835afef5f Copyright date bump and apply SPDX tags.
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...).
2017-02-15 16:41:53 -08:00
Simon Howard
6198796e95 dmxgus: Change instrument order to work around DMX.
The DMX sound library used by Vanilla Doom has a bug where instruments
referencing other instruments as stand-ins can only reference
instruments listed earlier in the file. Actually, the instrument
references are just arbitrary cross-reference tags and the first
instrument to use that tag is used for all instruments with that tag.
This behavior can have some strange effects; more information can be
found on David Flater's page: <http://www.flaterco.com/kb/DOOM/DMXGUS/>

This has consequences for Freedoom's GENMIDI generation, particularly
as Chocolate Doom now emulates this behavior. To avoid assigning the
wrong instrument mappings, change the ordering of instruments in the
output file, so that "leader" instruments always appear earlier in the
file than instruments that reference them.
2016-07-12 21:35:36 -04:00
Simon Howard
b5d0a04088 Use print() for Python 3 compatibility.
This doesn't get everything working in Python 3 yet but it's a
start.
2014-02-04 02:12:50 +00:00
Simon Howard
acdf59e1f0 dmxgus: Tweak similarity groups for main instruments.
The main instrument groupings were already pretty good but there
was some room for improvement. The generated configuration sounds
pretty good now, even when using the 256KB config.
2014-01-31 05:40:13 +00:00
Simon Howard
c2394e86f2 dmxgus: Add 'do not edit' message.
As the DMXGUS lump is autogenerated, add an explicit instruction not
to edit the lump, as someone might do so, naively seeking to improve
it.
2014-01-29 05:28:10 +00:00
Simon Howard
61aaeeed1d dmxgus: Improve percussion groupings.
Regroup GUS percussion instruments based on personally having listened
to the samples in the GUS instrument set and identifying similar-
sounding instruments.
2014-01-29 05:07:21 +00:00
Simon Howard
64198d7af1 lumps: Autogenerate optimized DMXGUS lump.
Replace the current poor-quality handcrafted GUS configuration with
a script that programatically generates an optimized configuration
file based on statistical analysis of music from various popular WAD
files.
2013-03-02 21:44:09 +00:00