Changeset - 60d343b197d7
[Not reviewed]
default
0 1 0
drewp@bigasterisk.com - 13 years ago 2012-06-16 02:59:20
drewp@bigasterisk.com
switch vidref to v4l by default
Ignore-this: e087fffdcf540a6f597481f0c0a9cd51
1 file changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
light9/vidref/main.py
Show inline comments
 
@@ -166,80 +166,80 @@ class Main(object):
 
        wtree.connect_signals(self)
 
        mainwin.set_size_request(920, 815)
 
        gtk.rc_parse("theme/marble-ice/gtk-2.0/gtkrc")
 

	
 
        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")) # disabled due to crashing
 

	
 
        # wtree.get_object("replayPanel").show() # demo only
 
        rp = wtree.get_object("replayVbox")
 
        self.replayViews = ReplayViews(rp)
 

	
 
        mainwin.show_all()
 
        vid3 = wtree.get_object("vid3")
 
        self.liveVideoXid = vid3.window.xid
 
        vid3.props.width_request = 360
 
        vid3.props.height_request = 220
 
        wtree.get_object("frame1").props.height_request = 220
 
        
 

	
 
        self.setInput('dv') # auto seems to not search for dv
 
        self.setInput('v4l') # auto seems to not search for dv
 

	
 
        gobject.timeout_add(1000 // framerate, self.updateLoop)
 

	
 
    def attachLog(self, textBuffer):
 
        """write log lines to this gtk buffer"""
 
        class ToBuffer(logging.Handler):
 
            def emit(self, record):
 
                textBuffer.set_text(record.getMessage())
 

	
 
        h = ToBuffer()
 
        h.setLevel(logging.INFO)
 
        log.addHandler(h)
 

	
 
    def updateLoop(self):
 
        position = self.musicTime.getLatest()
 
        try:
 
            with gtk.gdk.lock:
 
                self.replayViews.update(position)
 
        except:
 
            traceback.print_exc()
 
        return True
 

	
 
    def getInputs(self):
 
        return ['auto', 'dv', 'video0']
 

	
 
    def setInput(self, name):
 
        sourcePipe = {
 
            "auto": "autovideosrc name=src1",
 
            "testpattern" : "videotestsrc name=src1",
 
            "dv": "dv1394src name=src1 ! dvdemux ! dvdec",
 
            "v4l": "v4l2src device=/dev/video0 name=src1 ! hqdn3d" ,
 
            "v4l": "v4l2src device=/dev/video0 name=src1" ,
 
            }[name]
 

	
 
        cam = (sourcePipe + " ! "
 
              "videorate ! video/x-raw-yuv,framerate=%s/1 ! "
 
              "videoscale ! video/x-raw-yuv,width=640,height=480;video/x-raw-rgb,width=320,height=240 ! "
 
              "videocrop left=160 top=180 right=120 bottom=80 ! "
 
              "queue name=vid" % framerate)
 

	
 
        self.pipeline = gst.parse_launch(cam)
 

	
 
        def makeElem(t, n=None):
 
            e = gst.element_factory_make(t, n)
 
            self.pipeline.add(e)
 
            return e
 
        
 
        sink = makeElem("xvimagesink")
 
        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
0 comments (0 inline, 0 general)