X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fmidi2ly.py;h=c57c788d51d042fdf0f2ca42ece26edf6fc8c328;hb=38d7d319eabc906e82fb42002678c6d42a23b6f7;hp=6fb037092cb168dcfc46bd6f3f073cddb2bb1677;hpb=e570481cf83952fb31f3a60183bef5e2b29f702c;p=lilypond.git diff --git a/scripts/midi2ly.py b/scripts/midi2ly.py index 6fb037092c..c57c788d51 100644 --- a/scripts/midi2ly.py +++ b/scripts/midi2ly.py @@ -1,10 +1,10 @@ #!@TARGET_PYTHON@ # -# msdi2ly.py -- LilyPond midi import script +# midi2ly.py -- LilyPond midi import script # # source file of the GNU LilyPond music typesetter # -# (c) 1998--2007 Han-Wen Nienhuys +# (c) 1998--2009 Han-Wen Nienhuys # Jan Nieuwenhuizen @@ -22,7 +22,6 @@ TODO: ''' import os -import string import sys """ @@ -37,7 +36,6 @@ global _;_=ly._ ## CONSTANTS -output_name = '' LINE_BELL = 60 scale_steps = [0, 2, 4, 5, 7, 9, 11] global_options = None @@ -59,6 +57,9 @@ allowed_tuplet_clocks = [] program_name = sys.argv[0] program_version = '@TOPLEVEL_VERSION@' +authors = ('Jan Nieuwenhuizen ', + 'Han-Wen Nienhuys ') + errorport = sys.stderr def identify (): @@ -67,17 +68,16 @@ def identify (): def warranty (): identify () ly.encoded_write (sys.stdout, ''' -Copyright (c) %s by +%s - Han-Wen Nienhuys - Jan Nieuwenhuizen + %s %s %s -''' ( '2001--2006', - _('Distributed under terms of the GNU General Public License.'), - _('It comes with NO WARRANTY.'))) - +''' % ( _ ('Copyright (c) %s by') % '2001--2009', + '\n '.join (authors), + _ ('Distributed under terms of the GNU General Public License.'), + _ ('It comes with NO WARRANTY.'))) def progress (s): ly.encoded_write (errorport, s + '\n') @@ -87,7 +87,7 @@ def warning (s): def error (s): progress (_ ("error: ") + s) - raise _ ("Exiting... ") + raise Exception (_ ("Exiting... ")) def system (cmd, ignore_error = 0): return ly.system (cmd, ignore_error=ignore_error) @@ -482,12 +482,12 @@ def events_on_channel (channel): # all include ALL_NOTES_OFF elif e[1][0] >= midi.ALL_SOUND_OFF \ and e[1][0] <= midi.POLY_MODE_ON: - for i in pitches.keys (): + for i in pitches: end_note (pitches, notes, t, i) elif e[1][0] == midi.META_EVENT: if e[1][1] == midi.END_OF_TRACK: - for i in pitches.keys (): + for i in pitches: end_note (pitches, notes, t, i) break @@ -671,10 +671,10 @@ def dump_channel (thread, skip): for ch in chs: t = ch[0] - i = string.rfind (lines[-1], '\n') + 1 + i = lines[-1].rfind ('\n') + 1 if len (lines[-1][i:]) > LINE_BELL: lines.append ('') - + if t - last_t > 0: lines[-1] = lines[-1] + dump_skip (skip, t-last_t) elif t - last_t < 0: @@ -697,7 +697,7 @@ def dump_channel (thread, skip): last_t, bar_count) lines[-1] = lines[-1] + s - return string.join (lines, '\n ') + '\n' + return '\n '.join (lines) + '\n' def track_name (i): return 'track%c' % (i + ord ('A')) @@ -845,7 +845,7 @@ def convert_midi (in_file, out_file): def get_option_parser (): p = ly.get_option_parser (usage=_ ("%s [OPTION]... FILE") % 'midi2ly', - description=_ ("Convert %s to LilyPond input.") % 'MIDI', + description=_ ("Convert %s to LilyPond input.\n") % 'MIDI', add_help_option=False) p.add_option ('-a', '--absolute-pitches', @@ -889,13 +889,13 @@ def get_option_parser (): p.add_option_group (ly.display_encode (_ ("Examples")), description = r''' - midi2ly --key=-2:1 --duration-quant=32 \ - --allow-tuplet=4*2/3 --allow-tuplet=2*4/3 foo.midi + $ midi2ly --key=-2:1 --duration-quant=32 --allow-tuplet=4*2/3 --allow-tuplet=2*4/3 foo.midi ''') - p.add_option_group (ly.display_encode (_ ('Bugs')), - description=(_ ('Report bugs via') - + ''' http://post.gmane.org/post.php''' - '''?group=gmane.comp.gnu.lilypond.bugs\n''')) + p.add_option_group ('', + description=( + _ ('Report bugs via %s') + % 'http://post.gmane.org/post.php' + '?group=gmane.comp.gnu.lilypond.bugs') + '\n') return p @@ -917,7 +917,7 @@ def do_options (): warranty () sys.exit (0) if 1: - (alterations, minor) = map (int, string.split (options.key + ':0', ':'))[0:2] + (alterations, minor) = map (int, (options.key + ':0').split (':'))[0:2] sharps = 0 flats = 0 if alterations >= 0: @@ -949,16 +949,16 @@ def main(): g = strip_extension (g, '.MID') (outdir, outbase) = ('','') - if not output_name: + if not global_options.output: outdir = '.' outbase = os.path.basename (g) o = os.path.join (outdir, outbase + '-midi.ly') - elif output_name[-1] == os.sep: - outdir = output_name + elif global_options.output[-1] == os.sep: + outdir = global_options.output outbase = os.path.basename (g) os.path.join (outdir, outbase + '-gen.ly') else: - o = output_name + o = global_options.output (outdir, outbase) = os.path.split (o) if outdir != '.' and outdir != '':