1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
if sys.version_info[0] < 3:
import Tkinter as gui
else:
import tkinter as gui
MIDI_NOTE_LABEL=[]
#populating the list
for x in range(128):
note = x % 12
stave = (x / 12) - 2
label = "%s%u"%(("do", "do#", "re", "re#", "mi", "fa", "fa#", "sol", "sol#", "la", "la#", "si")[note], stave)
MIDI_NOTE_LABEL.append(label)
def noteTranslate(note_var, label_var):
print(note_var.get())
label_var.set(MIDI_NOTE_LABEL[note_var.get()])
def addNoteBox(container, note_var):
frm = gui.Frame(container)
text_var = gui.StringVar()
gui.Label (frm, textvariable=text_var ,width=10, bg="white").grid(row=0, column=0)
gui.Scale(frm, from_=0, to=127, orient="horizontal", length=256,variable=note_var).grid(row=0, column=1)
note_var.trace("w", lambda arg1=note_var:noteTranslate(note_var))
noteTranslate(note_var, text_var)
frm.grid()
win = gui.Tk()
note_vars = []
for x in range(8):
note_var = gui.IntVar(value=x)
addNoteBox(win, note_var)
note_vars.append(note_var)
win.mainloop() |
Partager