from load_asset import load scales = load('scales') note_names = load('notes') ##def create(scale_type,root): ## import convert class scale: def __init__(self,*notes): self.notes = scale.number(notes) self.raw_intv = self.ri() self.root = self.notes[0] #takes notes from notes to numbers def number(notes): print('ran') return list(map(convert.above_c,notes)) #finds raw intervals def ri(self): notes = self.notes return list(map(lambda x: x-notes[0],notes[1:])) #returns new scale with given root def tanspose(self,n): if type(n) != int: n = above_c(n) return scale(*list(map(lambda x: x+n,self.raw_intv))) #todo fingers method