On 1/23/07, mike lewis <[EMAIL PROTECTED]> wrote:
On 1/23/07, Duncan Webb <[EMAIL PROTECTED]> wrote:
> mike lewis wrote:
> > 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
>
> Hi Mike,
>
> Sorry but you cd_burn patches wont apply. They need to be done against
> the latest svn version.
>
OK. Done. Attached
[snip]
Index: freevo/freevo/src/plugins/cd_burn.py
===================================================================
--- freevo/freevo/src/plugins/cd_burn.py (revision 9165)
+++ freevo/freevo/src/plugins/cd_burn.py (working copy)
@@ -183,58 +183,35 @@
def burn_dvd_video(self):
_debug_('burn_dvd_video(self)')
"""
- 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]
_debug_('self.name = %s' % self.name)
- dir = self.files[0]
- self.dir = dir + "/"
+ self.dir = self.files[0]
_debug_('self.dir = %s ' % self.dir)
- for f in os.listdir(self.dir):
- pathname = os.path.join(self.dir, f)
- _debug_('%s ' % pathname[-3:])
- if pathname[-3:].lower() == '_ts':
- _debug_('would not delete %s' %pathname)
- self.file_to_delete = None
- else:
- _debug_('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()
+ 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)
+ _debug_('%s ' % pathname[-3:])
+ if pathname[-3:].lower() == '_ts':
+ _debug_('OK TO BURN, folder DVD compliant %s' %pathname)
+ self.file_to_burn = pathname
+ else:
+ _debug_('NOT OK to BURN, folder NOT DVD compliant: %s' % pathname)
+ self.file_to_burn = None
+
+ if self.file_to_burn:
ConfirmBox(text=_('Insert media then click OK'),
handler=self.start_burning, default_choice=0
).show()
return
- def delete_now (self, arg=None, menuw=None):
- _debug_('delete_now (self, arg=None, menuw=None)')
- """
- Called by burn_dvd_video to remove anything it sees fit.. I think
- freevo should have a file op for this but it doesn't (that i can find).
- """
- for a in self.files_to_delete:
- try:
- mode = os.stat(a)[ST_MODE]
- if S_ISDIR(mode):
- try:
- shutil.rmtree(a)
- except:
- rc.post_event(Event(OSD_MESSAGE, arg=_('Error, unable to delete dir %s' % a)))
- print "unable to delete tree %s" % a
- elif S_ISREG(mode):
- try:
- os.unlink(a)
- except:
- rc.post_event(Event(OSD_MESSAGE, arg=_('Error, unable to delete file %s' % a)))
- print "unable to delete %s" % a
- except:
- pass
self.burn()
@@ -628,8 +605,19 @@
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)
+ #set command for VITEO_TS type DVD's
+ growisofs_cmd = '%s -use-the-force-luke -dvd-compat -Z /dev/dvd -V %s -dvd-video %s' \
+ % (config.CDBURN_GROWISOFS_PATH,self.token.name,self.token.dir)
+ if self.token.name.endswith('.iso'):
+ if config.CDBURN_DVDISO_USE_GROWISOFS:
+ growisofs_cmd = '%s -use-the-force-luke -dvd-compat -Z /dev/dvd=%s' \
+ % (config.CDBURN_GROWISOFS_PATH,self.token.dir)
+ else:
+ growisofs_cmd = '%s -s -eject -v -driveropts=burnfree speed=%s dev=%s %s' \
+ % (config.CDBURN_CDRECORD_PATH,config.CDBURN_DVD_BURN_SPEED,config.CDBURN_DEV,self.token.dir)
+
+ _debug_('growisofs 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):
@@ -750,10 +738,13 @@
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_GROWISOFS', 1, 'Set to 1 to use growisofs instead of cdrecord for DVDs'),
# 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_DVD_BURN_SPEED', '4', 'Speed to burn with cdrecord for DVDs'),
('CDBURN_TEMP_DIR', '/tmp/', 'Temp file name used by cdrecord'),
('CDBURN_DEV', record_dev, 'Device for cdrecord to burn with (not auto detected)')
]
@@ -859,7 +850,6 @@
if len(cur.files) > 1:
to_return.append(( cur.burn, _('Copy %s, and related, to CD' % item.name)) )
- #to_return.append(( cur2.delete, _('Delete %s, and related' % item.name)) )
except:
pass
Index: freevo/freevo/freevo_config.py
===================================================================
--- freevo/freevo/freevo_config.py (revision 9165)
+++ freevo/freevo/freevo_config.py (working copy)
@@ -257,7 +257,6 @@
Added USE_SDL_KEYBOARD to specify if generic keyboard handler should be used
Added EVENT_DEVS and EVENTMAP for the new Linux event device handler
Added VIDEO_PRE_PLAY and VIDEO_POST_PLAY to allow external commands to be run
- Added CDBURN_ for the cd burning plug-in
Added CD_RIP_ for the cd backup plug-in
''' ),
]
@@ -776,16 +775,6 @@
CD_RIP_CASE = None # Can be title, upper, lower
CD_RIP_REPLACE_SPACE = None # Can be '_', '-', etc.
-# ----------------------------------------------------------------------
-# CD Burning
-# ----------------------------------------------------------------------
-CDBURN_AUDIO_DAO = 1
-CDBURN_MKISOFS_PATH = '/usr/bin/mkisofs'
-CDBURN_CDRECORD_PATH = '/usr/bin/cdrecord'
-CDBURN_TEMP_DIR='/tmp/'
-CDBURN_DEV = '/dev/cdrom'
-CDBURN_SPEED = 32
-
# ======================================================================
# Freevo directory settings:
# ======================================================================
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel