Mercurial > code > home > repos > light9
changeset 664:ca731d40fb24
hacks on vidref for stability
Ignore-this: ea4e383d70e7d7df7f8a7912f5ac5de6
author | drewp@bigasterisk.com |
---|---|
date | Sun, 19 Jun 2011 07:43:44 +0000 |
parents | aa98c1a44326 |
children | 881a8b3b4ba0 |
files | light9/vidref/main.py light9/vidref/replay.py |
diffstat | 2 files changed, 17 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/vidref/main.py Sun Jun 19 07:43:27 2011 +0000 +++ b/light9/vidref/main.py Sun Jun 19 07:43:44 2011 +0000 @@ -150,7 +150,6 @@ class Main(object): def __init__(self): - self.musicTime = MusicTime(onChange=self.onMusicTimeChange) wtree = gtk.Builder() wtree.add_from_file(sibpath(__file__, "vidref.glade")) mainwin = wtree.get_object("MainWindow") @@ -160,8 +159,10 @@ self.recordingTo = wtree.get_object('recordingTo') self.musicScale = wtree.get_object("musicScale") self.musicScale.connect("value-changed", self.onMusicScaleValue) + # tiny race here if onMusicScaleValue tries to use musicTime right away + self.musicTime = MusicTime(onChange=self.onMusicTimeChange) self.ignoreScaleChanges = False - # self.attachLog(wtree.get_object("lastLog")) + # self.attachLog(wtree.get_object("lastLog")) # disabled due to crashing # wtree.get_object("replayPanel").show() # demo only rp = wtree.get_object("replayVbox")
--- a/light9/vidref/replay.py Sun Jun 19 07:43:27 2011 +0000 +++ b/light9/vidref/replay.py Sun Jun 19 07:43:44 2011 +0000 @@ -64,8 +64,11 @@ td = takeDir(songDir(song), take) r = Replay(td) if r.tooShort(): - log.warn("cleaning up %s; too short" % r.takeDir) - r.deleteDir() + # this is happening even on full-song recordings, even + # after the Replay.__init__ attempt to catch it + log.warn("prob too short, but that's currently broken") + #log.warn("cleaning up %s; too short" % r.takeDir) + #r.deleteDir() continue rv = ReplayView(self.parent, r) self.views.append(rv) @@ -111,13 +114,14 @@ if True: af = gtk.AspectFrame() af.set_visible(True) - af.set_size_request(320, 240-70-50) + w,h = (320), (240-70-50) + af.set_size_request(w, h) af.set_shadow_type(gtk.SHADOW_OUT) af.props.obey_child = True img = gtk.Image() img.set_visible(True) - img.set_size_request(320, 240-70-50) + img.set_size_request(w, h) self.picWidget = img af.add(img) @@ -205,7 +209,12 @@ return len(self.existingFrames) < (minSeconds * framerate) def deleteDir(self): - shutil.rmtree(self.takeDir) + try: + shutil.rmtree(self.takeDir) + except OSError: + # probably was writing frames into this dir at the same time! + log.warn("partial delete- frames were probably still writing " + "into that dir") def getTitle(self): tm = time.localtime(int(os.path.basename(self.takeDir)))