# HG changeset patch # User drewp@bigasterisk.com # Date 1276497065 0 # Node ID 4d500e6dc2f7dc7428325676ca96915ba4339217 # Parent cfd5d5be1b502c6d4efaf1f182a2410e52c5bc3c optimize static pics; save everything in homedir for now, not /tmp Ignore-this: 73a1a99a7dd22b04e60fec355e470c1 diff -r cfd5d5be1b50 -r 4d500e6dc2f7 light9/vidref/main.py --- a/light9/vidref/main.py Mon Jun 14 06:21:09 2010 +0000 +++ b/light9/vidref/main.py Mon Jun 14 06:31:05 2010 +0000 @@ -149,7 +149,7 @@ mainwin.show_all() self.liveVideoXid = wtree.get_object("vid3").window.xid - self.setInput('dv') + self.setInput('dv') # auto seems to not search for dv gobject.timeout_add(1000 // framerate, self.updateLoop) diff -r cfd5d5be1b50 -r 4d500e6dc2f7 light9/vidref/replay.py --- a/light9/vidref/replay.py Mon Jun 14 06:21:09 2010 +0000 +++ b/light9/vidref/replay.py Mon Jun 14 06:31:05 2010 +0000 @@ -7,7 +7,8 @@ framerate = 15 def songDir(song): - return "/tmp/vidref/play-%s" % song.split('://')[-1].replace('/','_') + safeUri = song.split('://')[-1].replace('/','_') + return os.path.expanduser("~/light9-vidref/play-%s" % safeUri) def takeDir(songDir, startTime): """ @@ -71,6 +72,7 @@ def __init__(self, parent, replay): self.replay = replay self.enabled = True + self.showingPic = None # this *should* be a composite widget from glade @@ -155,7 +157,7 @@ self.replayPanel.destroy() self.enabled = False - def updatePic(self, position): + def updatePic(self, position, lag=.2): # this should skip updating off-screen widgets! maybe that is # done by declaring the widget dirty and then reacting to a @@ -164,13 +166,17 @@ if not self.enabled: return - inPic = self.replay.findClosestFrame(position['t']+.25) + inPic = self.replay.findClosestFrame(position['t'] + lag) + + if inPic == self.showingPic: + return with gtk.gdk.lock: self.picWidget.set_from_file(inPic) if 0: # force redraw of that widget self.picWidget.queue_draw_area(0,0,320,240) self.picWidget.get_window().process_updates(True) + self.showingPic = inPic class Replay(object): """ diff -r cfd5d5be1b50 -r 4d500e6dc2f7 light9/vidref/vidref.glade --- a/light9/vidref/vidref.glade Mon Jun 14 06:21:09 2010 +0000 +++ b/light9/vidref/vidref.glade Mon Jun 14 06:31:05 2010 +0000 @@ -86,7 +86,6 @@ 25 True True - True