X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fmidi2ly.py;h=3a29f9aaa1cebe66db1b3c16b770dd7a866b9b58;hb=00a48501c64c8babe77c2ebabcc42dae33a7c026;hp=bf9f09f26e7f6b64a3549c4cd34bbd32974d2e1f;hpb=9a73c67a79a21b889d67f8d28f2c106de830d936;p=lilypond.git diff --git a/scripts/midi2ly.py b/scripts/midi2ly.py index bf9f09f26e..3a29f9aaa1 100644 --- a/scripts/midi2ly.py +++ b/scripts/midi2ly.py @@ -4,7 +4,7 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1998--2012 Han-Wen Nienhuys +# Copyright (C) 1998--2015 Han-Wen Nienhuys # Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify @@ -32,7 +32,6 @@ import sys @relocate-preamble@ """ -import midi import lilylib as ly global _;_=ly._ @@ -78,7 +77,7 @@ def warranty (): %s %s -''' % ( _ ('Copyright (c) %s by') % '1998--2012', +''' % ( _ ('Copyright (c) %s by') % '1998--2015', '\n '.join (authors), _ ('Distributed under terms of the GNU General Public License.'), _ ('It comes with NO WARRANTY.'))) @@ -268,11 +267,13 @@ class Note: elif commas < 0: s = s + "," * -commas - if ((dump_dur - and self.duration.compare (reference_note.duration)) - or global_options.explicit_durations): + if (dump_dur + and (self.duration.compare (reference_note.duration) + or global_options.explicit_durations)): s = s + self.duration.dump () + # Chords need to handle their reference duration themselves + reference_note = self # TODO: move space @@ -654,13 +655,17 @@ def dump_chord (ch): s = s + dump (notes[0]) elif len (notes) > 1: global reference_note + reference_dur = reference_note.duration s = s + '<' s = s + notes[0].dump (dump_dur=False) r = reference_note for i in notes[1:]: s = s + i.dump (dump_dur=False) s = s + '>' - s = s + notes[0].duration.dump () + ' ' + if (r.duration.compare (reference_dur) + or global_options.explicit_durations): + s = s + r.duration.dump () + s = s + ' ' reference_note = r return s @@ -923,6 +928,9 @@ class Staff: return dump_track (self.voices, i) def convert_midi (in_file, out_file): + global midi + import midi + global clocks_per_1, clocks_per_4, key global start_quant_clocks global duration_quant_clocks