*** pmx2ly.py Mon Dec 3 10:39:54 2001 --- pmx2ly.py~ Sun Dec 2 18:49:01 2001 *************** *** 212,221 **** return '\\clef %s' % self.type - class Key: - def __init__ (self, key): - self.type = key - def dump(self): - return '\\key %s' % self.type - clef_table = { 'b':'bass' , --- 212,215 ---- *************** *** 227,246 **** 't':'treble', 'f':'frenchviolin', ! } ! key_table = { ! '+0':'c \major', ! '+1':'g \major', ! '+2':'d \major', ! '+3':'a \major', ! '+4':'e \major', ! '+5':'b \major', ! '+6':'fis \major', ! '-1':'f \major', ! '-2':'bes \major', ! '-3':'ees \major', ! '-4':'aes \major', ! '-5':'des \major', ! '-6':'ges \major' ! } class Staff: def __init__ (self): --- 221,225 ---- 't':'treble', 'f':'frenchviolin', ! } class Staff: def __init__ (self): *************** *** 250,254 **** self.voice_idx = 0 self.number = None - self.key = 0 i = 0 --- 229,232 ---- *************** *** 260,265 **** clstr = clef_table[letter] self.voices[0].add_nonchord (Clef (clstr)) ! ! def current_voice (self): return self.voices[self.voice_idx] --- 238,242 ---- clstr = clef_table[letter] self.voices[0].add_nonchord (Clef (clstr)) ! def current_voice (self): return self.voices[self.voice_idx] *************** *** 555,578 **** return str ! ! def parse_key (self, str): ! key = "" ! #The key is changed by a string of the form K[+-][+-] ! #where the first number is the transposition and the second number is the ! #new key signature. For now, we won't bother with the transposition. ! if str[2] != '0': ! sys.stderr.write("Transposition not implemented yet: ") ! while str[0] in '+-0123456789': ! str = str[1:] ! else: ! str=str[3:] ! key = '' ! while str[0] in '+-0123456789': ! key=key + str[0] ! str=str[1:] ! keystr = key_table[key] ! self.current_voice().add_nonchord (Key(keystr)) ! return(str) ! def parse_header (self, ls): --- 532,536 ---- return str ! def parse_header (self, ls): *************** *** 729,737 **** elif c == 'x': left = self.parsex (left) - elif c == 'C': - self.current_staff().set_clef(str(left[1])) - left = left[2:] - elif c == 'K': - left = self.parse_key (left) elif c in "[]": left = self.parse_beams (left) --- 687,690 ----