#!/usr/bin/env python # #bwwtolily: will convert a bww file to a lilypond file #copyright: 2008 Jezra Lickter #contributions by ET de Boone #GPL v3 from argparse import ArgumentParser import sys,os,re,subprocess version = "0.6.3" #make a print function to handle various version of python def do_print(string): try: eval("print "+string) except: print(string) #define the class that will convert a bww file to a lilypond file class bwwtolily : def __init__(self,addmidi=False): self.tune_elements = [] self.most_recent_note = 0 self.in_note_group=False self.slur_tie_pending = False self.tuplet_pending = False self.last_group_close=0 '''compile a few regex queries''' #make a regex to determine if something is a lilypond note self.regex_lilynote= re.compile("[abcdefgAG][0-9]*") #try to determine the time signature self.sig_regex = re.compile("([0-9]{1,2})_([0-9]{1,2})") #alternative time signature for (cut) common time self.sig_regex_common = re.compile("C_\W") #a regex to find notes self.regex_note_info=re.compile("(?P[A-Z]+)(?P[a-z]*)_(?P