On 1/22/07, mike lewis <[EMAIL PROTECTED]> wrote:
Hi,Been a while since I submitted a patch. Just tried to do this on SF but get the following error: ERROR Artifact: This ArtifactType Does Not Allow Anonymous Submissions. Please Login. I'm not a sf user so can't do that! ;-) --- CD BURN currently crashes when config is run. This is fixed with the following crash. Not sure what happen or why it ever worked without this ;-). One option is to remove the fruity stuff. But, as I wrote it, and I like it, my patch is the other option, (fix the freevo core to allow code other than x=y in the config procedure). FILE = helper.patch Now that it's no longer crashing, we can make use of that fruity stuff in config(). To do this, the defaults need to be removed from freevo_conf.py. Don't worry. config() will add them in again... FILE = freevo_config.patch CD Burn was not burning DVD's. I've had a quick hack at the code to fix the crash's one experiences when attempting to burn a DVD. I've just successfully burned a DVD in growisofs mode (iso file). However, after I wrote the code to use CDBurn for iso's I realised my version of cdburn doesn't support DVD's. What the?? For other users they now have an option of using the nice autofeatures in config() and thus auto discovered device's that cdburn gives you. Or, if your like me, and using ubuntu edgy, your have to set the "use growisofs" are right now your device i hard coded. FILE = cd_burn.patch ---
So before i go to bed I may as well make the device growisofs uses a config option instead of hard coded. So here is an update to the previous patch for cd_burn which does all of the above. Cheers, M
There you go. Have fun. Mick
--- /mnt/hdb1/build/freevo/freevo/freevo/src/plugins/cd_burn.py 2007-01-02 20:13:55.000000000 +0800 +++ plugins/cd_burn.py 2007-01-22 23:17:16.000000000 +0800 @@ -182,33 +182,37 @@ def burn_dvd_video(self): _debug_('burn_dvd_video'); """ - copy this DIR to DVD as DVD VIDEO, NB: MUST BE DVD VIDEO ALREADY!!!!!!! (ie ripped with dvdcopy.py) + copy this file/DIR to DVD as DVD VIDEO, NB: MUST BE DVD VIDEO ALREADY!!!!!!! (ie ripped with dvdcopy.py) """ + self.file_to_burn=None name = self.files[0].split("/") self.name = name[len(name) -1] print 'CDBURN : self.name = %s' % self.name - dir = self.files[0] - self.dir = dir + "/" + self.dir = self.files[0] print 'CDBURN : self.dir = %s ' % self.dir - for f in os.listdir(self.dir): - pathname = os.path.join(self.dir, f) - print 'CDBURN : %s ' % pathname[-3:] - if pathname[-3:].lower() == '_ts': - print 'CDBURN : would not delete %s' %pathname - self.file_to_delete = None - else: - print 'CDBURN : would delete %s' % pathname - #self.file_to_delete.append(pathname) - self.file_to_delete = pathname - - if self.file_to_delete: - ConfirmBox(text=_('Delete %s?' % self.file_to_delete ), - handler=self.delete_now, default_choice=0).show() - else: + if self.name.endswith('.iso'): + self.file_to_burn=self.dir + else: + self.subdirs = util.getdirnames(self.dir, softlinks=False) + for dir in self.subdirs: + pathname = os.path.join(self.dir, f) + print 'CDBURN : %s ' % pathname[-3:] + if pathname[-3:].lower() == '_ts': + print 'CDBURN : OK TO BURN, folder DVD compliant %s' %pathname + self.file_to_burn = None + else: + print 'CDBURN : NOT OK to BURN, folder NOT DVD compliant: %s' % pathname + self.file_to_burn = pathname + + if self.file_to_burn: ConfirmBox(text=_('Insert media then click OK'), handler=self.start_burning, default_choice=0 ).show() + + + else: + print 'CDBURN : NOT OK to BURN, exiting' return def delete_now (self, arg=None, menuw=None): @@ -628,8 +632,17 @@ os.unlink(image_file) elif self.token.burn_mode == "dvd_video": - growisofs_cmd = 'growisofs -use-the-force-luke -dvd-compat -Z /dev/dvd -V %s -dvd-video %s' \ - % (self.token.name,self.token.dir) + growisofs_cmd = '%s -use-the-force-luke -dvd-compat -Z %s-V %s -dvd-video %s' \ + % (config.CDBURN_GROWISOFS_PATH, config.CDBURN_GISOFS_DVD_PATH, self.token.name,self.token.dir) + + if self.token.name.endswith('.iso'): + if config.CDBURN_DVDISO_USE_MKISOFS: + growisofs_cmd = '%s -use-the-force-luke -dvd-compat -Z %s=%s' \ + % (config.CDBURN_GROWISOFS_PATH,config.CDBURN_GISOFS_DVD_PATH,self.token.dir) + else: + growisofs_cmd = '%s -dummy -s -eject -v -driveropts=burnfree speed=%s dev=%s %s' \ + % (config.CDBURN_CDRECORD_PATH,config.DVD_BURN_SPEED,config.CDBURN_DEV,self.token.dir) + print 'CDBURN : Command: %s' % growisofs_cmd self.update_status(status='running', description='Burning DVD Video'); burn_child = self.run_child(cmd=growisofs_cmd,wait=1,task_weight=100) if (not burn_child): @@ -716,7 +729,8 @@ def config(self): _debug_('config'); - self.dev_list = [] + #self.dev_list = [] + dev_list = [] """ time for some auto stuff... """ @@ -731,7 +745,7 @@ # print line burn_dev = line.split()[0] # print burn_dev - self.dev_list.append(burn_dev) + dev_list.append(burn_dev) else: # this is needed to get out of while loop.. break @@ -739,19 +753,23 @@ print "no line" time.sleep(0.1) - if len(self.dev_list) and self.dev_list[0]: - record_dev = self.dev_list[0] + if len(dev_list) and dev_list[0]: + record_dev = dev_list[0] else: record_dev = 'ATAPI:0,0,0' return [ ('CDBURN_CDRECORD_PATH', '/usr/bin/cdrecord', 'Path to cdrecord'), ('CDBURN_MKISOFS_PATH', '/usr/bin/mkisofs', 'Path to mkisofs'), + ('CDBURN_GROWISOFS_PATH', '/usr/bin/growisofs', 'Path to growisofs'), + ('CDBURN_DVDISO_USE_MKISOFS',1,'USE Mkisofs instead of cdburn to dumb a DVD iso image'), # in tao (track at once mode, empty value) cd record will leave 2 sec gaps between tracks # in dao (disk at once) no gaps at all, but not all drives support it - ('CDBURN_AUDIO_DAO',0,'CDRecord canburn audio cds in DAO mode'), - ('CDBURN_SPEED', '8', 'Speed to burn with cdrecord'), + ('CDBURN_AUDIO_DAO',1,'Burn audio cds in DAO mode'), + ('CDBURN_SPEED', '8', 'Speed to burn CDs with cdrecord'), + ('DVD_BURN_SPEED', '4', 'Speed to burn DVDs with cdrecord'), ('CDBURN_TEMP_DIR', '/tmp/', 'Temp file name used by cdrecord'), + ('CDBURN_GISOFS_DVD_PATH', '/dev/dvd', 'Device for growisofs to use'), ('CDBURN_DEV', record_dev, 'Device for cdrecord to burn with (not auto detected)') ]
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel