On 2/1/07, mike lewis <[EMAIL PROTECTED]> wrote:
On 1/30/07, Rob Davis <[EMAIL PROTECTED]> wrote:
> mike lewis wrote:
> > Hello,
> >
> > Just wondering how many users are using the vdr plugin still? I have
> > been trying to get this plugin to work in freevo 1.7x and it bombs out
> > badly.
> >
> > Has anyone had any success??
>
> I gave up on it and re-wrote mplayer.py to use the streamdev-server
> interface.
>
I got a "uber" cutdown version of the vdr plugin working last night.
I think I can get tvtime and xine working in the plugin again. Until
freevo can do stuff like pause live tv and force a channel switch
while I'm wathcing TV to force a recording to start; I think vdr or
something similar is the way to go..
So, Once I've cleaned up the code I'll submit a patch to devel.
Hopefully tonight sometime.
What you can do:
Use xine to view and control vdr.
Maybe use tvtime to view and control vdr (but I can't get tvtime to
work with dvb?? any pointers??
What you can't do:
vsdrp support has been removed. This really not needed for the two
scenario's above. It would be needed to have freevo control vdr for
things like recordings. But the svdrpylib stuff seems to have died
over the last year or so.
I've created a patch which creates a file called vdrtv.py. This is
basicly the vdr plugin which is available on the freevo.org plugins
download page but I've disabled the requirement for the svdrp python
library as this stopped working along the line some time ago.
Here Tis. Would be great if this could make it into freevo series 1.
Over time I will clean up the code a bit so that svdrp lib is removed
completely.
[snip]
Oh haha. Had this in my drafts not sent.. Here tis. Not at home so
not sure if this is the current version I'm running but I think so.
Give it a go.
Mick
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:
# ======================================================================
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel