]> git.donarmstrong.com Git - lilypond.git/commitdiff
MusicXML: Fix major-minor, add power chord as noted by Carl Sorensen
authorReinhold Kainhofer <reinhold@kainhofer.com>
Thu, 12 Jun 2008 16:46:03 +0000 (18:46 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Thu, 12 Jun 2008 16:46:03 +0000 (18:46 +0200)
scripts/musicxml2ly.py

index 5b2a59ccb6234ace564191e3cbe59c6ac4523341..c6e7dd53c226d427d32aa9f160714aa67cfd4404 100644 (file)
@@ -1328,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',
@@ -1355,7 +1355,7 @@ chordkind_dict = {
     #'German': '???',
         # Other:
     #'pedal': '???',(pedal-point bass)
-    #'power': '???',(perfect fifth)
+    'power': '5^3',
     #'Tristan': '???',
     'other': '1',
     'none': None,
@@ -1385,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 ()