def startAudioGUI(): global is_audio_play_active, score_text, result_text, raw_sample_buffer, rd_ptr, wr_ptr print "start audio playing/recording!!!" ; print "sens = " + str(var_sens.get())+ ", bpm = " + str(var_bpm.get()) if is_audio_play_active == 1: return # return immediately if audio play is already active else: is_audio_play_active = 1 # initialize raw_sample_buffer and rd/wr ptrs raw_sample_buffer = [] for n in range(128*block_size): raw_sample_buffer.append(0) rd_ptr = 0 wr_ptr = 0 # clear text field score_text, result_text = getDefaultScore() var_1.set(score_text) var_2.set(result_text) label_1.update_idletasks() # start audio thread thread.start_new_thread(startAudio, (var_bpm.get(),) ) # initialize audio proc and start audio processing thread ap = audioProcessing(var_bpm.get(), (10-var_sens.get()+1)/100.0) thread.start_new_thread(audioProcThread, (ap,))
root.title("drumBeatAnalyzer"); # ------------------------------------------------- # top, middle and bottom frames # ------------------------------------------------- topframe = Frame(root) topframe.pack() middleframe = Frame(root) middleframe.pack() bottomframe = Frame(root) bottomframe.pack() # ------------------------------------------------- # top frame: score text # ------------------------------------------------- score_text, result_text = getDefaultScore() var_1 = StringVar() var_1.set(score_text) label_1 = Label(topframe, textvariable=var_1, width=75, height=4, font="Menlo 18 bold", relief=RIDGE, justify=LEFT, bg="grey") label_1.grid(row=0, column=0, padx=10, pady=6, ipady=5) # clear text field var_1.set(score_text) label_1.update_idletasks() # ------------------------------------------------- # mid frame: result # ------------------------------------------------- var_2 = StringVar() var_2.set(result_text)