From b6b9cf999e49b9aea13a601004e01c7ae51360a4 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Wed, 4 Jan 2012 01:47:49 +0000 Subject: [PATCH] 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. --- lumps/genmidi/dumpgenmidi | 3 ++- lumps/genmidi/midi.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lumps/genmidi/dumpgenmidi b/lumps/genmidi/dumpgenmidi index 3df8ff8c..7472561e 100644 --- a/lumps/genmidi/dumpgenmidi +++ b/lumps/genmidi/dumpgenmidi @@ -37,6 +37,7 @@ import genmidi import sbi_file import sys +import midi def print_instr_def(filename, filename2, instr): result = "Instrument(\"%s\"" % filename @@ -45,7 +46,7 @@ def print_instr_def(filename, filename2, instr): result += (", \"%s\"" % filename2) if instr.fixed_note is not None: - result += (", note=%i" % instr.fixed_note) + result += (", note=%s" % midi.def_for_note(instr.fixed_note)) if instr.offset1 != 0: result += (", off1=%i" % instr.offset1) if instr.offset2 != 0: diff --git a/lumps/genmidi/midi.py b/lumps/genmidi/midi.py index 327c1623..0488d3ec 100644 --- a/lumps/genmidi/midi.py +++ b/lumps/genmidi/midi.py @@ -71,3 +71,14 @@ O3 = Octave(96) # Octave 3 O4 = Octave(108) # Octave 4 O5 = Octave(120) # Octave 5 +# Given a MIDI note number, return a note definition in terms of the +# constants above. + +def def_for_note(note): + OCTAVES = [ "On5", "On4", "On3", "On2", "On1", + "O0", "O1", "O2", "O3", "O4", "O5" ] + NOTES = [ "C", "Cs", "D", "Ds", "E", "F", "Fs", + "G", "Gs", "A", "As", "B" ] + + return "%s.%s" % (OCTAVES[note / 12], NOTES[note % 12]) +