Changeset - f233fa1ec801
[Not reviewed]
default
0 3 0
drewp@bigasterisk.com - 15 years ago 2010-06-15 06:22:40
drewp@bigasterisk.com
vidref displays the directory it's writing frames ot
Ignore-this: fe5419f4c36e596c1fd2cf5612dde9b3
3 files changed with 57 insertions and 5 deletions:
0 comments (0 inline, 0 general)
light9/vidref/main.py
Show inline comments
 
@@ -69,8 +69,9 @@ class VideoRecordSink(gst.Element):
 
                                        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 @@ class VideoRecordSink(gst.Element):
 
                  outFilename,
 
                  (now - self.lastTime) * 1000,
 
                  (now - t1) * 1000)
 
        self.updateRecordingTo(outDir)
 
        self.lastTime = now
 

	
 
gobject.type_register(VideoRecordSink)
 
@@ -142,6 +144,8 @@ class Main(object):
 
        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 @@ class Main(object):
 
            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")
light9/vidref/replay.py
Show inline comments
 
@@ -54,7 +54,12 @@ class ReplayViews(object):
 
            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)
light9/vidref/vidref.glade
Show inline comments
 
@@ -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>
0 comments (0 inline, 0 general)