Files
@ 6dfe10a54fc4
Branch filter:
Location: light9/flax/MusicTime.py - annotation
6dfe10a54fc4
1.7 KiB
text/x-python
new program to adjust indiv dmx channels and save the settings as new submasters
45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 | import Tkinter as tk
import xmlrpclib, socket, time
class MusicTime:
def __init__(self, server, port):
self.player = xmlrpclib.Server("http://%s:%d" % (server, port))
def get_music_time(self):
playtime = None
while not playtime:
try:
playtime = self.player.gettime()
except socket.error, e:
print "Server error %s, waiting" % e
time.sleep(2)
return playtime
class MusicTimeTk(tk.Frame, MusicTime):
def __init__(self, master, server, port):
tk.Frame.__init__(self)
MusicTime.__init__(self, server, port)
self.timevar = tk.DoubleVar()
self.timelabel = tk.Label(self, textvariable=self.timevar, bd=2,
relief='raised', width=10, padx=2, pady=2, anchor='w')
self.timelabel.pack(expand=1, fill='both')
def print_time(evt, *args):
self.update_time()
print self.timevar.get(), evt.keysym
self.timelabel.bind('<KeyPress>', print_time)
self.timelabel.bind('<1>', print_time)
self.timelabel.focus()
self.update_time()
def update_time(self):
self.timevar.set(self.get_music_time())
self.after(100, self.update_time)
if __name__ == "__main__":
from optik import OptionParser
parser = OptionParser()
parser.add_option("-s", "--server", default='dash')
parser.add_option("-p", "--port", default=8040, type='int')
options, args = parser.parse_args()
root = tk.Tk()
root.title("Time")
MusicTimeTk(root, options.server, options.port).pack(expand=1, fill='both')
try:
tk.mainloop()
except KeyboardInterrupt:
root.destroy()
|