'INSTRUMENT_NAME',
'LYRIC',
'MARKER',
- 'CUE_POINT',)
+ 'CUE_POINT',
+ 'PROGRAM_NAME',
+ 'DEVICE_NAME', )
+
+ @staticmethod
+ def _text_only(chr):
+ if ((' ' <= chr <= '~') or chr in ['\n','\r']):
+ return chr
+ else:
+ return '~'
def __init__ (self, type, text):
self.clocks = 0
self.type = type
- self.text = text
+ self.text =''.join(map(self._text_only, text))
def dump (self):
# urg, we should be sure that we're in a lyrics staff
s = s + dump (notes[0])
elif len (notes) > 1:
global reference_note
+ reference_dur = reference_note.duration
s = s + '<'
s = s + notes[0].dump (dump_dur=False)
r = reference_note
for i in notes[1:]:
s = s + i.dump (dump_dur=False)
s = s + '>'
- s = s + notes[0].duration.dump () + ' '
+ if (r.duration.compare (reference_dur)
+ or global_options.explicit_durations):
+ s = s + r.duration.dump ()
+ s = s + ' '
reference_note = r
return s