Files
@ 4c6d88aa9e26
Branch filter:
Location: light9/bin/musictime - annotation
4c6d88aa9e26
1.8 KiB
text/plain
enough element and rdf support to drag one adjuster and see its value change
Ignore-this: 8aebc2ff62d5afee77845737737aab00
Ignore-this: 8aebc2ff62d5afee77845737737aab00
58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 8d6f6d8a4719 8d6f6d8a4719 58bbf9f42457 58bbf9f42457 58bbf9f42457 8d6f6d8a4719 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 3322285457ac 8d6f6d8a4719 8d6f6d8a4719 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 4072d93f02c5 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 46d319974176 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 58bbf9f42457 | #!/usr/bin/env python
import run_local
import light9.networking
import Tkinter as tk
import time
import restkit, jsonlib
class MusicTime:
def __init__(self, url):
self.player = restkit.Resource(url)
def get_music_time(self):
playtime = None
while not playtime:
try:
playtime = jsonlib.read(self.player.get("time").body_string(),
use_float=True)['t']
except restkit.RequestError, e:
print "Server error %s, waiting" % e
time.sleep(2)
return playtime
class MusicTimeTk(tk.Frame, MusicTime):
def __init__(self, master, url):
tk.Frame.__init__(self)
MusicTime.__init__(self, url)
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.timevar.set(self.get_music_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 optparse import OptionParser
parser = OptionParser()
parser.add_option("-u", "--url", default=light9.networking.musicPlayer.url)
options, args = parser.parse_args()
root = tk.Tk()
root.title("Time")
MusicTimeTk(root, options.url).pack(expand=1, fill='both')
try:
tk.mainloop()
except KeyboardInterrupt:
root.destroy()
|