# HG changeset patch # User drewp@bigasterisk.com # Date 1308469424 0 # Node ID ca731d40fb2497011eee656c81d39d51d0965007 # Parent aa98c1a44326873ac7f96de8dafb6c56e376e923 hacks on vidref for stability Ignore-this: ea4e383d70e7d7df7f8a7912f5ac5de6 diff -r aa98c1a44326 -r ca731d40fb24 light9/vidref/main.py --- 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") diff -r aa98c1a44326 -r ca731d40fb24 light9/vidref/replay.py --- 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)))