def escape_ly_output_string (input_string):
return_string = input_string
- needs_quotes = not re.match (u"^[a-zA-ZäöüÜÄÖßñ]*$", return_string);
+ needs_quotes = not re.match (u"^[a-zA-ZäöüÜÄÖß,\.!:ñ]*$", return_string);
if needs_quotes:
return_string = "\"" + string.replace (return_string, "\"", "\\\"") + "\""
return return_string
return (text == "begin") or (text == "middle")
class Elision (Music_xml_node):
pass
+class Extend (Music_xml_node):
+ pass
class Text (Music_xml_node):
pass
if not (isinstance (n, Note) or isinstance (n, Attributes) or
isinstance (n, Direction) or isinstance (n, Partial) or
isinstance (n, Barline) or isinstance (n, Harmony) or
- isinstance (n, FiguredBass) ):
+ isinstance (n, FiguredBass) or isinstance (n, Print)):
continue
if isinstance (n, Attributes) and not start_attr:
voices[v].add_element (staff_attributes)
continue
- if isinstance (n, Partial) or isinstance (n, Barline):
+ if isinstance (n, Partial) or isinstance (n, Barline) or isinstance (n, Print):
for v in voices.keys ():
voices[v].add_element (n)
continue
class PerMinute (Music_xml_node):
pass
+class Print (Music_xml_node):
+ pass
+
## need this, not all classes are instantiated
'direction-type': DirType,
'duration': Duration,
'elision': Elision,
+ 'extend': Extend,
'frame': Frame,
'frame-note': Frame_Note,
'figured-bass': FiguredBass,
'pedal': Pedal,
'per-minute': PerMinute,
'pitch': Pitch,
+ 'print': Print,
'rest': Rest,
'root': Root,
'score-part': Score_part,