pitivi r1187 - branches/SOC_2008_SLAKSHMAN/pitivi/ui



Author: slynux
Date: Fri Jul 18 16:55:45 2008
New Revision: 1187
URL: http://svn.gnome.org/viewvc/pitivi?rev=1187&view=rev

Log:
webcam_managerdialog.py, SmartDefaitBin problem

Modified:
   branches/SOC_2008_SLAKSHMAN/pitivi/ui/webcam_managerdialog.py

Modified: branches/SOC_2008_SLAKSHMAN/pitivi/ui/webcam_managerdialog.py
==============================================================================
--- branches/SOC_2008_SLAKSHMAN/pitivi/ui/webcam_managerdialog.py	(original)
+++ branches/SOC_2008_SLAKSHMAN/pitivi/ui/webcam_managerdialog.py	Fri Jul 18 16:55:45 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]