# Case 1: "Sibelius 5.1" with the "Dolet 3.4 for Sibelius" plugin
# is missing all beam ends => ignore all beaming information
- if "Dolet 3.4 for Sibelius" in software:
- conversion_settings.ignore_beaming = True
- progress (_ ("Encountered file created by Dolet 3.4 for Sibelius, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"))
- if "Noteworthy Composer" in software:
- conversion_settings.ignore_beaming = True
- progress (_ ("Encountered file created by Noteworthy Composer's nwc2xml, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"))
- # TODO: Check for other unsupported features
-
+ ignore_beaming_software = {
+ "Dolet 3.5 for Sibelius": "Dolet 3.5 for Sibelius",
+ "Dolet 3.4 for Sibelius": "Dolet 3.4 for Sibelius",
+ "Dolet 3.3 for Sibelius": "Dolet 3.3 for Sibelius",
+ "Dolet 3.2 for Sibelius": "Dolet 3.2 for Sibelius",
+ "Dolet 3.1 for Sibelius": "Dolet 3.1 for Sibelius",
+ "Dolet for Sibelius 1.3": "Dolet for Sibelius 1.3",
+ "Noteworthy Composer": "Noteworthy Composer's nwc2xm[",
+ }
+ for s in software:
+ app_description = ignore_beaming_software.get (s, False);
+ if app_description:
+ conversion_settings.ignore_beaming = True
+ progress (_ ("Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored") % app_description)
+
+ # TODO: Check for other unsupported features
return header
class PartGroupInfo:
'diminished': 'dim5',
# Sevenths:
'dominant': '7',
+ 'dominant-seventh': '7',
'major-seventh': 'maj7',
'minor-seventh': 'm7',
'diminished-seventh': 'dim7',
# treated like an ordinary note pitch
rest = n.get_maybe_exist_typed_child (musicxml.Rest)
event = musicexp.RestEvent ()
- pitch = musicxml_restdisplay_to_lily (rest)
- event.pitch = pitch
+ if options.convert_rest_positions:
+ pitch = musicxml_restdisplay_to_lily (rest)
+ event.pitch = pitch
elif n.instrument_name:
event = musicexp.NoteEvent ()
if len (endslurs) > 1:
endslurs[0].message (_ ('Cannot have two simultaneous (closing) slurs'))
# record the slur status for the next note in the loop
- if not grace:
- inside_slur = False
+ inside_slur = False
lily_ev = musicxml_spanner_to_lily_event (endslurs[0])
ev_chord.append (lily_ev)
if len (startslurs) > 1:
startslurs[0].message (_ ('Cannot have two simultaneous slurs'))
# record the slur status for the next note in the loop
- if not grace:
- inside_slur = True
+ inside_slur = True
lily_ev = musicxml_spanner_to_lily_event (startslurs[0])
ev_chord.append (lily_ev)
p.version = ('''%prog (LilyPond) @TOPLEVEL_VERSION@\n\n'''
+
-_ ("""Copyright (c) 2005--2008 by
+_ ("""Copyright (c) 2005--2009 by
Han-Wen Nienhuys <hanwen@xs4all.nl>,
Jan Nieuwenhuizen <janneke@gnu.org> and
Reinhold Kainhofer <reinhold@kainhofer.com>
dest = "convert_directions",
help = _ ("do not convert directions (^, _ or -) for articulations, dynamics, etc."))
+ p.add_option ('--nrp', '--no-rest-positions',
+ action = "store_false",
+ default = True,
+ dest = "convert_rest_positions",
+ help = _ ("do not convert exact vertical positions of rests"))
+
p.add_option ('--no-beaming',
action = "store_false",
default = True,