Commit graph

31 commits

Author SHA1 Message Date
Mike Swanson
90fd6b1686 Cleanup __pycache__ directories with "make clean" 2014-10-29 00:37:42 -07:00
Simon Howard
e47b69a064 genmidi: Update to support Python 3 build.
Tweak the code used to build the GENMIDI Lump so that it properly
supports Python 3 for build. Tested use cases were:
 * Normal build
 * a2i-to-sbi script to convert AdTrack2 instruments to SBI format
 * dumpgenmidi script to dump the instruments from a GENMIDI lump.
 * Running genmidi.py, sbi_file.py, a2i_file.py standalone to print the
   contents of files in their respective formats.
2014-10-28 03:55:22 +00:00
Simon Howard
dba8b84744 genmidi: Improve music for GOTHICDM MAP06.
This music sounded really horrible with Freedoom's GENMIDI lump, which
was a shame because this is a really beautiful level. So adjust a
couple of the more prominent instruments used for this music track:

 * Instrument 104 (Sci-fi):
   This instrument was using a frequency multiplier that put it 2
   octaves and a 5th above, making it (intentionally, because it's
   a "sci-fi" effect?) discordant. Rework this so that it isn't
   discordant any more.
 * Instrument 51 (SynthStrings #1):
   This had a slow attack phase which had the effect of offsetting
   the notes slightly, so that they seemed out of sync. Adjust this
   and also increase the feedback so that the instrument sounds more
   "stringy" (?)
2014-08-02 15:28:02 -04:00
Simon Howard
80b212d1b1 genmidi: Fix GENMIDI waveform warnings.
Some of the instruments were using OPL3 waveforms, but GENMIDI is
for OPL2 chips and these are not necessarily supported. Adjust the
instrument settings to only use the original four OPL2 waveforms,
while trying to maintain something resembling the same sound.
2014-08-01 23:31:49 -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
Fabian Greffrath
d9c9b315e6 Remove Python byte-code in the clean rule. 2014-01-20 13:06:50 +01:00
Mike Swanson
c47a48975e Remove .gitignore from the contents of a .gitignore 2014-01-06 21:33:41 -08:00
Simon Howard
f5f2a419b5 Offset (almost) all instruments down one octave.
With a couple of exceptions, the majority of OPL instruments sound
better when adjusted down by one octave. It seems likely that the
original BSD instruments were supposed to sound this way and we've
been playing the wrong notes all this time.
2013-01-22 23:10:21 +00:00
Simon Howard
b108fea226 genmidi: Fix waveform warnings for some instruments.
This tweaks some of the problem instruments to use only OPL2
waveforms, silencing the warnings and improving playback.
2012-01-07 00:15:02 +00:00
Simon Howard
04dd837169 genmidi: Pedantic fix to README
Thanks andrewj.
2012-01-04 16:54:48 +00:00
Simon Howard
ac1d81b4ff genmidi: Import remaining horncomposer changes.
This adds the remaining changes from horncomposer's modified version
of the old GENMIDI lump. Details from his accompanying text file
follow:

2/6/11- Replaced Electric Piano 2 (patch 5) - with the high pitched attack :)
        Replaced Acoustic Piano (patch 0) - Serves as model for other pianos
        Replaced Bright Acoustic Piano (patch 1)
        Replaced Electric Grand Piano (patch 2)
        Replaced Honky-tonk piano (patch 3) - Added "out of tune"
        Accidentally discovered a good Electic Piano 1 (patch 4) - with chorus
2012-01-04 04:57:14 +00:00
Simon Howard
13df5cd47b genmidi: Detect null instruments when dumping. 2012-01-04 04:18:06 +00:00
Simon Howard
507931694e genmidi: Add some missing percussion instruments.
This adds a good number of the missing percussion instruments. These
come from a dump of Matt Cadirao (horncomposer)'s modified version of
the old GENMIDI lump.
2012-01-04 04:15:37 +00:00
Simon Howard
b6b9cf999e genmidi: Output fixed_note as constant value.
Generate output that uses the more readable constants from midi.py instead
of just a MIDI note number.
2012-01-04 01:47:49 +00:00
Simon Howard
b0253e3176 genmidi: Add GENMIDI dump script.
Helper script to dump the contents of a GENMIDI file into separate
SBI files and a configuration matching the format of config.py.
2012-01-04 01:36:49 +00:00
Simon Howard
3b96d7f1de genmidi: Split off GENMIDI code into separate file.
Split out code for handling the GENMIDI format into a separate genmidi.py
file. Add routine to load the contents of a GENMIDI lump.
2012-01-04 01:20:38 +00:00
Simon Howard
85482928d5 genmidi: Add .gitignore file. 2012-01-03 17:26:33 +00:00
Simon Howard
a61d3c4d71 genmidi: Add README for instrument editing. 2012-01-03 17:25:22 +00:00
Simon Howard
3b14d8d1a0 genmidi: Add a2i-sbi conversion script.
Convenience script to convert a2i files to the more convenient
SBI format.
2012-01-03 00:52:12 +00:00
Simon Howard
d8d0b371b5 genmidi: Improve GENMIDI Makefile build. 2012-01-03 00:03:16 +00:00
Simon Howard
8249f55c3e genmidi: Hook GENMIDI script into build. 2012-01-03 00:03:16 +00:00
Simon Howard
3fb0fdac05 genmidi: Add script to make GENMIDI lump. 2012-01-03 00:03:16 +00:00
Simon Howard
e10f006a71 genmidi: Add option for note offset. 2012-01-03 00:03:16 +00:00
Simon Howard
9071466be9 genmidi: Add copyright headers to Python files. 2012-01-03 00:03:15 +00:00
Simon Howard
c029a423d4 genmidi: Add constants for MIDI notes.
Constant definitions for MIDI notes, so that instrument definitions do
not need to use meaningless numbers.
2012-01-03 00:03:15 +00:00
Simon Howard
a21e76c70c genmidi: Add config file for GENMIDI builder.
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.
2012-01-03 00:03:15 +00:00
Simon Howard
1eabaa74cd genmidi: Add dumped instrument patches.
Split out OpenBSD OPL instrument patches into separate SBI files.
These can then be individually edited and compiled into a full GENMIDI
lump.
2012-01-03 00:03:15 +00:00
Simon Howard
b754214379 genmidi: Move GENMIDI C code to subdirectory.
Move C code into subdirectory as it will soon be only of historical
interest. Add extra program to dump SBI instrument patches, switch
to using OPL2 instruments, and ignore "null" instruments (all-zero).
2012-01-03 00:03:15 +00:00
Simon Howard
5ce7690612 genmidi: Add Python code for reading OPL instruments.
These files load OPL instrument data from SBI (SoundBlaster Instrument)
or A2I (AdlibTracker2 Instrument) format files.
2012-01-03 00:03:06 +00:00
Mike Swanson
654981d5c2 lumps/genmidi: Update OpenBSD-derived code to newer license
Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2008-12-17 18:17:31 -08:00
Simon Howard
be0cd445a2 Add code to generate a GENMIDI lump using the register values from the OpenBSD OPL driver. 2007-12-28 20:33:22 +00:00