Exemplo n.º 1
0
 def get_key(self):
     try:
         sel = map(int, self.key_btn.curselection())
         print sel
         return number.keys()[sel[0]]
     except IndexError:
         return 'C'
Exemplo n.º 2
0
    def __init__(self, master):

        frame = Frame(master)
        frame.pack()
       
	fluidsynth.init("ChoriumRevA.SF2")

        roman_num = [0,2,4,5,7,9,11]

        self.progression = []
        self.buttons = {}
        
        self.prog_var = StringVar()
        self.display = Label( master, textvariable = self.prog_var).pack()
        
        self.uniprog_var = StringVar()
        self.unidisplay = Label( master, textvariable = self.uniprog_var).pack()

	self.sug_var = StringVar()
	self.sug_label = Label( master, textvariable = self.sug_var).pack()	

    #### Chord Buttons ####
         
	self.key_btn = Listbox(frame)
        self.key_btn.bind("<<ListboxSelect>>", self.display_progression)
	self.key_btn.pack(side=BOTTOM)
        for k in number.keys():
            self.key_btn.insert(END, k)

        for ch in roman_num:
            
            btn = Button(frame, text=roman[ch], command=partial( self.print_ch, ch ) )
            btn.pack(side=LEFT)
            
            self.buttons[ ch ] = btn 

    #### other buttons ####
            
        self.pop = Button(frame, text='Del', command=self.pop_ch)
        self.pop.pack(side=BOTTOM)

	self.play = Button(frame, text='Play', command=self.play_prog)
	self.play.pack(side=TOP)

	self.sugg = Button(frame, text='?', command=self.suggest)
	self.sugg.pack(side=BOTTOM)	

	self.save_btn = Button(frame, text='Save', command=self.save_midi)
	self.save_btn.pack(side=TOP)

    #### Checkbox buttons for intervals ####
        self.add7_var = BooleanVar()
        self.add7 = Checkbutton( master, text="+ 7", variable = self.add7_var )
        self.add7.pack()

        self.maj_var = BooleanVar()
        self.maj = Checkbutton( master, text="Major", variable = self.maj_var )
        self.maj.pack()