From: <iwa...@us...> - 2003-08-10 04:47:13
|
Update of /cvsroot/quickrip/quickrip In directory sc8-pr-cvs1:/tmp/cvs-serv6550 Modified Files: base.py Log Message: Ripping single track, basic avis is working in pygtk. Ripping threading closer to completion. Index: base.py =================================================================== RCS file: /cvsroot/quickrip/quickrip/base.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** base.py 10 Aug 2003 02:41:15 -0000 1.16 --- base.py 10 Aug 2003 04:47:09 -0000 1.17 *************** *** 331,334 **** --- 331,338 ---- self.torip.append(title) self.numrips = len(self.torip) + self.ripssofar = 0 + + # Clean up output dir in case QuickRip crashed out there + os.popen("".join(["rm ", self.config['outputdir'], "frameno.avi 2>/dev/null"])) i = 0 *************** *** 344,350 **** self.run('mplayer', arguments, self.preRip, None, 0, title) - # Clean up output dir in case QuickRip crashed out there - # os.popen("".join(["rm ", self.config['outputdir'], "frameno.avi 2>/dev/null"])) def preRip(self, lines, data): re_crop = re.compile('.*-vop crop=(\d*:\d*:\d*:\d*).*') --- 348,354 ---- self.run('mplayer', arguments, self.preRip, None, 0, title) + # returning of the audio functions will automatically spawn the video + # processing functions as video interlacing requires audio be done first. def preRip(self, lines, data): re_crop = re.compile('.*-vop crop=(\d*:\d*:\d*:\d*).*') *************** *** 366,384 **** # Check PDA mode (universal to all ripping methods) - if int(self.config['pdamode']) is 1: - resolution = "320" - else: - resolution = "720" if self.config['videocodec'] is 2: ! self.scvd(title, output, resolution) elif self.config['audiocodec'] is 1: - output = os.path.join(self.config['outputdir'], "".join([str(title['name']), ".ogm"])) self.oggAudio(title) - self.aviVideo(title, output, resolution, 0) else: - output = os.path.join(self.config['outputdir'], "".join([str(title['name']), ".avi"])) self.mp3Audio(title) - self.aviVideo(title, output, resolution, 1) def oggAudio(self, title): --- 370,380 ---- # Check PDA mode (universal to all ripping methods) if self.config['videocodec'] is 2: ! self.scvd(title) elif self.config['audiocodec'] is 1: self.oggAudio(title) else: self.mp3Audio(title) def oggAudio(self, title): *************** *** 386,389 **** --- 382,387 ---- import output print output.bold("OGG NOT IMPLEMENTED YET!") + #call mencoder with "oggaudio" as passed parameter to thread + #self.aviVideo(title, output, resolution) def mp3Audio(self, title): *************** *** 407,415 **** os.path.join(self.config['outputdir'], "frameno.avi")] ! self.mencode(arguments, "mp3audio") ! def aviVideo(self, title, output, resolution, merge=1): """Rip the video from a DVD title, and optionally merge with audio""" ! self.ui_newPass("video") if self.config['videocodec']: --- 405,445 ---- os.path.join(self.config['outputdir'], "frameno.avi")] ! self.mencode(arguments, ("mp3audio", title)) ! def mencode(self, arguments, data): ! """Run mencoder with given arguments and report progress""" ! self.run('mencoder', arguments, self.mencodeReturned, self.mencodeProgress, 0, data) ! ! def mencodeProgress(self, line, data): ! """Run mencoder with given arguments and report progress""" ! perc = 0 ! trem = 0 ! (passtype, title) = data ! self.ui_newPass(passtype) ! re_progress = re.compile('(\d+)\%\) .*Trem:\s*(\d+\w+)\s+') ! if re_progress.search(line): ! perc = re_progress.search(line).group(1) ! trem = re_progress.search(line).group(2) ! self.ui_updateProgress(perc, trem, passtype) ! ! def mencodeReturned(self, lines, data): ! (passtype, title) = data ! self.ui_updateProgress(1.0, "0", passtype) ! if passtype is "mp3audio": ! self.aviVideo(title) ! if passtype is "avivideo": ! self.ripssofar += 1 ! if self.ripssofar is self.numrips: ! self.ui_finishRipping() ! # elif data is "ogmmerge" ! # self.ogmmerge() ! ! def aviVideo(self, title): """Rip the video from a DVD title, and optionally merge with audio""" ! output = os.path.join(self.config['outputdir'], "".join([str(title['name']), ".avi"])) ! if int(self.config['pdamode']) is 1: ! resolution = "320" ! else: ! resolution = "720" if self.config['videocodec']: *************** *** 426,433 **** vop = "".join([vop, ",", self.dio[self.config['deinterlacing']]]) ! if merge: ! oac = "frameno" ! else: ! oac = "null" arguments = ["-dvd", str(title['id']), "-alang", title['alang'], "-oac", oac, \ --- 456,464 ---- vop = "".join([vop, ",", self.dio[self.config['deinterlacing']]]) ! # if merge: ! # oac = "frameno" ! # else: ! # oac = "null" ! oac = "mp3lame" arguments = ["-dvd", str(title['id']), "-alang", title['alang'], "-oac", oac, \ *************** *** 443,472 **** arguments.insert(5, title['slang']) ! self.mencode(arguments, "video") ! ! def mencode(self, arguments, passtype): ! """Run mencoder with given arguments and report progress""" ! self.run('mencoder', arguments, self.mencodeReturned, self.mencodeProgress, 1, passtype) ! ! def mencodeProgress(self, line, data): ! """Run mencoder with given arguments and report progress""" ! perc = 0 ! trem = 0 ! passtype = data ! re_progress = re.compile('(\d+)\%\) .*Trem:\s*(\d+\w+)\s+') ! if re_progress.search(line): ! perc = re_progress.search(line).group(1) ! trem = re_progress.search(line).group(2) ! self.ui_updateProgress(perc, trem, passtype) ! ! def mencodeReturned(self, lines, data): ! print "Done Mencoding" ! self.ui_updateProgress(1.0, "0", data) def ogmerge(self, number, title, output, resolution): """Merge the OGG audio and MPEG4 video using ogmmerge""" import output print output.bold("NOT IMPLEMENTED YET!") - def svcd(self, number, title, output, resolution): --- 474,484 ---- arguments.insert(5, title['slang']) ! self.mencode(arguments, ("avivideo", title)) def ogmerge(self, number, title, output, resolution): """Merge the OGG audio and MPEG4 video using ogmmerge""" + output = os.path.join(self.config['outputdir'], "".join([str(title['name']), ".ogm"])) import output print output.bold("NOT IMPLEMENTED YET!") def svcd(self, number, title, output, resolution): |