X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fmusicxml2ly.py;h=886479a8936cfaaaa08f2117e2e6c177fcb7e037;hb=c7555d70732969277c5e906285ec04e5b561c38e;hp=6346b5e419424e4936aa054a5d295ae71cc39e55;hpb=6928c1207b7df4516e58d38724e6a3985cd1c3f6;p=lilypond.git diff --git a/scripts/musicxml2ly.py b/scripts/musicxml2ly.py index 6346b5e419..886479a893 100644 --- a/scripts/musicxml2ly.py +++ b/scripts/musicxml2ly.py @@ -55,24 +55,23 @@ additional_definitions = { '(-0.1 . 0.1) '(0.1 . 1))) 0.7 X))))""", "eyeglasses": """eyeglassesps = #"0.15 setlinewidth -% 255 0 0 setrgbcolor --0.9 0 translate -1.1 1.1 scale -1.2 0.7 moveto -0.7 0.7 0.5 0 361 arc -stroke -2.20 0.70 0.50 0 361 arc -stroke -1.45 0.85 0.30 0 180 arc -stroke -0.20 0.70 moveto -0.80 2.00 lineto -0.92 2.26 1.30 2.40 1.15 1.70 curveto -stroke -2.70 0.70 moveto -3.30 2.00 lineto -3.42 2.26 3.80 2.40 3.65 1.70 curveto -stroke" + -0.9 0 translate + 1.1 1.1 scale + 1.2 0.7 moveto + 0.7 0.7 0.5 0 361 arc + stroke + 2.20 0.70 0.50 0 361 arc + stroke + 1.45 0.85 0.30 0 180 arc + stroke + 0.20 0.70 moveto + 0.80 2.00 lineto + 0.92 2.26 1.30 2.40 1.15 1.70 curveto + stroke + 2.70 0.70 moveto + 3.30 2.00 lineto + 3.42 2.26 3.80 2.40 3.65 1.70 curveto + stroke" eyeglasses = \markup { \with-dimensions #'(0 . 4.4) #'(0 . 2.5) \postscript #eyeglassesps }""" } @@ -1329,7 +1328,7 @@ chordkind_dict = { 'diminished-seventh': 'dim7', 'augmented-seventh': 'aug7', 'half-diminished': 'dim5m7', - 'major-minor': '7m5', + 'major-minor': 'maj7m5', # Sixths: 'major-sixth': '6', 'minor-sixth': 'm6', @@ -1356,7 +1355,7 @@ chordkind_dict = { #'German': '???', # Other: #'pedal': '???',(pedal-point bass) - #'power': '???',(perfect fifth) + 'power': '5^3', #'Tristan': '???', 'other': '1', 'none': None, @@ -1386,6 +1385,19 @@ def musicxml_harmony_to_lily_chordname (n): inversion = n.get_maybe_exist_named_child ('inversion') if inversion: # TODO: Lilypond does not support inversions, does it? + + # Mail from Carl Sorensen on lilypond-devel, June 11, 2008: + # 4. LilyPond supports the first inversion in the form of added + # bass notes. So the first inversion of C major would be c:/g. + # To get the second inversion of C major, you would need to do + # e:6-3-^5 or e:m6-^5. However, both of these techniques + # require you to know the chord and calculate either the fifth + # pitch (for the first inversion) or the third pitch (for the + # second inversion) so they may not be helpful for musicxml2ly. + inversion_count = string.atoi (inversion.get_text ()) + if inversion_count == 1: + # TODO: Calculate the bass note for the inversion... + pass pass for deg in n.get_named_children ('degree'): d = musicexp.ChordModification () @@ -2129,26 +2141,30 @@ def get_all_voices (parts): def option_parser (): - p = ly.get_option_parser (usage = _ ("musicxml2ly [options] FILE.xml"), - description = _ ("Convert MusicXML from FILE.xml to LilyPond input. If the given filename is -, musicxml2ly reads from the command line.") + "\n", - add_help_option=False) + p = ly.get_option_parser (usage = _ ("musicxml2ly [OPTION]... FILE.xml"), + description = +_ ("""Convert MusicXML from FILE.xml to LilyPond input. +If the given filename is -, musicxml2ly reads from the command line. +"""), add_help_option=False) p.add_option("-h", "--help", action="help", help=_ ("show this help and exit")) p.version = ('''%prog (LilyPond) @TOPLEVEL_VERSION@\n\n''' - + -_ ("""This program is free software. It is covered by the GNU General Public -License and you are welcome to change it and/or distribute copies of it -under certain conditions. Invoke as `%s --warranty' for more -information.""") % 'lilypond' -+ """ -Copyright (c) 2005--2008 by ++ +_ ("""Copyright (c) 2005--2008 by Han-Wen Nienhuys , Jan Nieuwenhuizen and Reinhold Kainhofer -""") +""" ++ +""" +This program is free software. It is covered by the GNU General Public +License and you are welcome to change it and/or distribute copies of it +under certain conditions. Invoke as `%s --warranty' for more +information.""") % 'lilypond') + p.add_option("--version", action="version", help=_ ("show version number and exit")) @@ -2205,7 +2221,7 @@ Copyright (c) 2005--2008 by type = 'string', dest = 'output_name', help = _ ("set output filename to FILE, stdout if -")) - p.add_option_group (ly.display_encode (_ ('Bugs')), + p.add_option_group ('', description = (_ ("Report bugs via") + ''' http://post.gmane.org/post.php''' '''?group=gmane.comp.gnu.lilypond.bugs\n'''))