Mercurial > code > home > repos > light9
changeset 550:f233fa1ec801
vidref displays the directory it's writing frames ot
Ignore-this: fe5419f4c36e596c1fd2cf5612dde9b3
author | drewp@bigasterisk.com |
---|---|
date | Tue, 15 Jun 2010 06:22:40 +0000 |
parents | fc14e2e87e9e |
children | ad5043f70fda |
files | light9/vidref/main.py light9/vidref/replay.py light9/vidref/vidref.glade |
diffstat | 3 files changed, 57 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/vidref/main.py Tue Jun 15 05:44:32 2010 +0000 +++ b/light9/vidref/main.py Tue Jun 15 06:22:40 2010 +0000 @@ -69,8 +69,9 @@ gst.PAD_ALWAYS, gst.caps_new_any()) - def __init__(self, musicTime): + def __init__(self, musicTime, updateRecordingTo): gst.Element.__init__(self) + self.updateRecordingTo = updateRecordingTo self.sinkpad = gst.Pad(self._sinkpadtemplate, "sink") self.add_pad(self.sinkpad) self.sinkpad.set_chain_function(self.chainfunc) @@ -129,6 +130,7 @@ outFilename, (now - self.lastTime) * 1000, (now - t1) * 1000) + self.updateRecordingTo(outDir) self.lastTime = now gobject.type_register(VideoRecordSink) @@ -142,6 +144,8 @@ mainwin.connect("destroy", gtk.main_quit) wtree.connect_signals(self) + self.recordingTo = wtree.get_object('recordingTo') + # wtree.get_object("replayPanel").show() # demo only rp = wtree.get_object("replayVbox") self.replayViews = ReplayViews(rp) @@ -186,7 +190,15 @@ return e sink = makeElem("xvimagesink") - recSink = VideoRecordSink(self.musicTime) + def setRec(t): + # if you're selecting the text while gtk is updating it, + # you can get a crash in xcb_io + if getattr(self, '_lastRecText', None) == t: + return + with gtk.gdk.lock: + self.recordingTo.set_text(t) + self._lastRecText = t + recSink = VideoRecordSink(self.musicTime, setRec) self.pipeline.add(recSink) tee = makeElem("tee")
--- a/light9/vidref/replay.py Tue Jun 15 05:44:32 2010 +0000 +++ b/light9/vidref/replay.py Tue Jun 15 06:22:40 2010 +0000 @@ -54,7 +54,12 @@ v.destroy() self.views[:] = [] - takes = sorted(os.listdir(songDir(song))) + d = songDir(song) + try: + takes = sorted(os.listdir(d)) + except OSError: + return + for take in takes: td = takeDir(songDir(song), take) r = Replay(td)
--- a/light9/vidref/vidref.glade Tue Jun 15 05:44:32 2010 +0000 +++ b/light9/vidref/vidref.glade Tue Jun 15 06:22:40 2010 +0000 @@ -74,9 +74,10 @@ <property name="width_request">75</property> <property name="height_request">20</property> <property name="visible">True</property> - <property name="label" translatable="yes">Frame rate</property> + <property name="label" translatable="yes">Frame rate:</property> </object> <packing> + <property name="expand">False</property> <property name="position">0</property> </packing> </child> @@ -106,9 +107,10 @@ <property name="width_request">85</property> <property name="height_request">20</property> <property name="visible">True</property> - <property name="label" translatable="yes">Input source</property> + <property name="label" translatable="yes">Input source:</property> </object> <packing> + <property name="expand">False</property> <property name="position">0</property> </packing> </child> @@ -127,6 +129,36 @@ <property name="position">2</property> </packing> </child> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <child> + <object class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="label" translatable="yes">Recording +to:</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkTextView" id="recordingToView"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="wrap_mode">char</property> + <property name="buffer">recordingTo</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="position">3</property> + </packing> + </child> </object> <packing> <property name="expand">False</property> @@ -307,4 +339,7 @@ <property name="visible">True</property> <property name="stock">gtk-delete</property> </object> + <object class="GtkTextBuffer" id="recordingTo"> + <property name="text" translatable="yes">/home/drewp/light9-vidref/play-light9.bigasterisk.com_show_dance2010_song6/1276582699</property> + </object> </interface>