'(-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 }"""
}
chordkind_dict = {
'major': '5',
- 'minor': 'm',
- 'augmented': 'aug',
- 'diminished': 'dim',
+ 'minor': 'm5',
+ 'augmented': 'aug5',
+ 'diminished': 'dim5',
# Sevenths:
'dominant': '7',
- 'major-seventh': 'maj',
+ 'major-seventh': 'maj7',
'minor-seventh': 'm7',
'diminished-seventh': 'dim7',
'augmented-seventh': 'aug7',
- #'half-diminished': '???', (diminished triad, minor seventh)
- #'major-minor': '???', (minor triad, major seventh)
+ 'half-diminished': 'dim5m7',
+ 'major-minor': 'maj7m5',
# Sixths:
'major-sixth': '6',
'minor-sixth': 'm6',
'major-11th': 'maj11',
'minor-11th': 'm11',
# 13ths (usually as the basis for alteration):
- 'dominant-13th': '13',
- 'major-13th': 'maj13',
+ 'dominant-13th': '13.11',
+ 'major-13th': 'maj13.11',
'minor-13th': 'm13',
# Suspended:
'suspended-second': 'sus2',
'suspended-fourth': 'sus4',
# Functional sixths:
+ # TODO
#'Neapolitan': '???',
#'Italian': '???',
#'French': '???',
#'German': '???',
# Other:
#'pedal': '???',(pedal-point bass)
- #'power': '???',(perfect fifth)
+ 'power': '5^3',
#'Tristan': '???',
'other': '1',
'none': None,
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 ()