pitivi r1255 - trunk/pitivi/ui
- From: edwardrv svn gnome org
- To: svn-commits-list gnome org
- Subject: pitivi r1255 - trunk/pitivi/ui
- Date: Fri, 26 Sep 2008 17:10:48 +0000 (UTC)
Author: edwardrv
Date: Fri Sep 26 17:10:48 2008
New Revision: 1255
URL: http://svn.gnome.org/viewvc/pitivi?rev=1255&view=rev
Log:
webcam_managerdialog.py, SmartDefaitBin problem
Modified:
trunk/pitivi/ui/webcam_managerdialog.py
Modified: trunk/pitivi/ui/webcam_managerdialog.py
==============================================================================
--- trunk/pitivi/ui/webcam_managerdialog.py (original)
+++ trunk/pitivi/ui/webcam_managerdialog.py Fri Sep 26 17:10:48 2008
@@ -26,16 +26,16 @@
import gobject
import pygst
import time
+from pitivi import instance
pygst.require("0.10")
import gst
import tempfile
from gettext import gettext as _
from sourcefactories import SourceFactoriesWidget
-
-videoDevice="/dev/video0"
-videoProperties="video/x-raw-yuv,width=640,height=480,framerate=30/1"
-videoSink="ximagesink"
+from pitivi.bin import *
+from pitivi.playground import PlayGround
+import plumber
@@ -43,126 +43,7 @@
def __init__(self):
- global videoDevice, videoProperties, videoSink
- self.sourcefactories = SourceFactoriesWidget()
+ player = SmartDefaultBin()
+ instance.PiTiVi.playground._playTemporaryBin(player)
- glade_dir = os.path.dirname(os.path.abspath(__file__))
- self.cam_ui = gtk.glade.XML(os.path.join(glade_dir, "cam_capture.glade"))
- self.cam_window = self.cam_ui.get_widget("cam_capture")
- self.draw_window = self.cam_ui.get_widget("draw_window")
- self.record_btn = self.cam_ui.get_widget("record_btn")
- self.close_btn = self.cam_ui.get_widget("close_btn")
-
- self.close_btn.connect("clicked",self.close)
- self.record_btn.connect("clicked", self.do_recording)
- self.cam_window.connect("destroy",self.close)
-
- self.record_btn = self.record_btn.get_children()[0]
- self.record_btn = self.record_btn.get_children()[0].get_children()[1]
- self.record_btn.set_label("Start Recording")
-
-
- self.player = gst.parse_launch ("v4l2src ! videoscale ! " +videoProperties+" ! ffmpegcolorspace ! queue ! "+videoSink)
-
- bus = self.player.get_bus()
- bus.add_signal_watch()
- bus.enable_sync_message_emission()
- bus.connect('message', self.on_message)
- bus.connect('sync-message::element', self.on_sync_message)
-
-
- self.start()
-
-
- self.cam_window.show()
-
- self.recorder = None
-
- def close(self,w):
- self.cam_window.destroy()
- self.player.set_state(gst.STATE_NULL)
- if(self.recorder):
- self.recorder.set_state(gst.STATE_NULL)
-
- # Create live player pipeline
- def start(self):
- time.sleep(1)
- self.player.set_state(gst.STATE_PLAYING)
-
-
- # Create Recorder Pipeline callback
-
- def SetPipelines(self):
- global videoDevice, videoProperties, videoSink
-
- self.filepath = filename_cam = tempfile.mktemp()
-
- self.recorder = gst.parse_launch("v4l2src ! videoscale ! " +videoProperties+ " ! tee name=tee tee. ! ffmpegcolorspace ! videorate ! theoraenc ! queue ! oggmux name=mux mux. ! queue ! filesink location=" + self.filepath + ".ogg" + " alsasrc ! audiorate ! audioconvert ! vorbisenc ! queue ! mux. tee. ! ffmpegcolorspace ! queue ! "+videoSink)
-
- bus = self.recorder.get_bus()
- bus.add_signal_watch()
- bus.enable_sync_message_emission()
- bus.connect('message', self.on_message)
- bus.connect('sync-message::element', self.on_sync_message)
-
-
- # Record button callback
-
- def do_recording(self, w):
- global timeElapsed
-
-
-
- if self.record_btn.get_label() == "Start Recording":
- self.SetPipelines()
- self.record_btn.set_label("Stop Recording")
- self.player.set_state(gst.STATE_NULL)
- time.sleep(0)
- self.recorder.set_state(gst.STATE_PLAYING)
-
-
-
- else:
- file_uri = 'file://' + self.filepath + '.ogg'
-
- self.recorder.set_state(gst.STATE_NULL)
- time.sleep(0)
- self.player.set_state(gst.STATE_PLAYING)
- self.sourcefactories.sourcelist.addFiles([file_uri])
-
-
- self.record_btn.set_label("Start Recording")
-
-
- def on_message(self, bus, message):
- t = message.type
- if t == gst.MESSAGE_EOS:
- self.player.set_state(gst.STATE_NULL)
- if self.recorder != None:
- self.recorder.set_state(gst.STATE_NULL)
- self.record_btn.set_label("Start Recording")
- self.record_btn.set_sensitive(True)
- elif t == gst.MESSAGE_ERROR:
- err, debug = message.parse_error()
- print "Error: %s" % err, debug
- '''gobject.timeout_add(1000, self.ET.set_label, "Error: %s" % err)'''
- self.player.set_state(gst.STATE_NULL)
-
- if self.recorder != None:
- self.recorder.set_state(gst.STATE_NULL)
- self.record_btn.set_label("Start Recording")
- self.record_btn.set_sensitive(True)
-
-
- def on_sync_message(self, bus, message):
- if message.structure is None:
- return
- message_name = message.structure.get_name()
- if message_name == 'prepare-xwindow-id':
- # Assign the viewport
- imagesink = message.src
- imagesink.set_property('force-aspect-ratio', True)
- imagesink.set_xwindow_id(self.draw_window.window.xid)
-
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]