Update of /cvsroot/freevo/freevo/src/video
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16605

Modified Files:
        __init__.py fxdhandler.py videoitem.py 
Log Message:
fix/enhance dvd on disc

Index: __init__.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/__init__.py,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** __init__.py 2 Feb 2004 22:15:53 -0000       1.26
--- __init__.py 3 Feb 2004 20:51:12 -0000       1.27
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.27  2004/02/03 20:51:12  dischi
+ # fix/enhance dvd on disc
+ #
  # Revision 1.26  2004/02/02 22:15:53  outlyer
  # Support for mirrors of DVDs...
***************
*** 122,129 ****
                  # DVD Image
                  x = VideoItem('', None)
!                 x.set_url('dvd://' + i[1:] + '/VIDEO_TS/')  # Trailing slash is 
important for Xine
!                 x.type = 'dvd'
!                 x.media = 'file'
!                 x.devicename = ''
                  x.name = os.path.basename(i)
                  items += [ x ]
--- 125,130 ----
                  # DVD Image
                  x = VideoItem('', None)
!                 # Trailing slash is important for Xine
!                 x.set_url('dvd://' + i[1:] + '/VIDEO_TS/')  
                  x.name = os.path.basename(i)
                  items += [ x ]

Index: fxdhandler.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/fxdhandler.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** fxdhandler.py       1 Feb 2004 19:47:13 -0000       1.15
--- fxdhandler.py       3 Feb 2004 20:51:12 -0000       1.16
***************
*** 10,13 ****
--- 10,16 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.16  2004/02/03 20:51:12  dischi
+ # fix/enhance dvd on disc
+ #
  # Revision 1.15  2004/02/01 19:47:13  dischi
  # some fixes by using new mmpython data
***************
*** 214,217 ****
--- 217,226 ----
              item.set_url(url, info=True)
              item.info.set_variables(variables)
+         elif url.startswith('file://') and os.path.isdir(url[7:]):
+             # dvd dir
+             variables = item.info.get_variables()
+             item.set_url(url.replace('file://', 'dvd:/')+ '/VIDEO_TS/', info=True)
+             print item.url
+             item.info.set_variables(variables)
          else:
              item.set_url(url, info=False)

Index: videoitem.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/videoitem.py,v
retrieving revision 1.121
retrieving revision 1.122
diff -C2 -d -r1.121 -r1.122
*** videoitem.py        1 Feb 2004 19:47:13 -0000       1.121
--- videoitem.py        3 Feb 2004 20:51:12 -0000       1.122
***************
*** 11,14 ****
--- 11,17 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.122  2004/02/03 20:51:12  dischi
+ # fix/enhance dvd on disc
+ #
  # Revision 1.121  2004/02/01 19:47:13  dischi
  # some fixes by using new mmpython data
***************
*** 95,99 ****
  
  from gui   import PopupBox, AlertBox, ConfirmBox
! from item  import Item
  from event import *
  
--- 98,102 ----
  
  from gui   import PopupBox, AlertBox, ConfirmBox
! from item  import Item, FileInformation
  from event import *
  
***************
*** 175,178 ****
--- 178,190 ----
              self.network_play = False
              self.mimetype = self.url[:self.url.find('://')].lower()
+ 
+             if self.url.find('/VIDEO_TS/') > 0:
+                 # dvd on harddisc
+                 self.filename = self.url[5:self.url.rfind('/VIDEO_TS/')]
+                 self.info  = util.mediainfo.get(self.filename)
+                 self.files = FileInformation()
+                 self.files.append(self.filename)
+                 self.num_titles = len(self.info['tracks'])
+                 
          if not self.image or (self.parent and self.image == self.parent.image):
             image = vfs.getoverlay(self.filename + '.raw')
***************
*** 180,184 ****
                 self.image = image
                 self.files.image = image
!         
          
      def id(self):
--- 192,196 ----
                 self.image = image
                 self.files.image = image
! 
          
      def id(self):
***************
*** 266,270 ****
          self.player_rating, self.player = self.possible_player[0]
  
!         if self.url == 'dvd://':
              if self.player_rating >= 20:
                  items = [ (self.play, _('Play DVD')),
--- 278,282 ----
          self.player_rating, self.player = self.possible_player[0]
  
!         if self.url.startswith('dvd://') and self.url[-1] == '/':
              if self.player_rating >= 20:
                  items = [ (self.play, _('Play DVD')),
***************
*** 292,296 ****
              items = [ (self.show_variants, _('Show variants')) ] + items
  
!         if not self.image and self.filename and not self.variants and not 
self.subitems:
              items.append((self.create_thumbnail, _('Create Thumbnail'), 
'create_thumbnail'))
              
--- 304,308 ----
              items = [ (self.show_variants, _('Show variants')) ] + items
  
!         if not self.image and self.mode == 'file' and not self.variants and not 
self.subitems:
              items.append((self.create_thumbnail, _('Create Thumbnail'), 
'create_thumbnail'))
              
***************
*** 459,463 ****
  
          elif self.url.startswith('dvd://') or self.url.startswith('vcd://'):
!             if not self.media:
                  media = util.check_media(self.media_id)
                  if media:
--- 471,475 ----
  
          elif self.url.startswith('dvd://') or self.url.startswith('vcd://'):
!             if self.url.rfind('/') < 6 and not self.media:
                  media = util.check_media(self.media_id)
                  if media:
***************
*** 525,537 ****
          for title in range(1,self.num_titles+1):
              i = copy.copy(self)
              i.info = copy.copy(self.info)
-             i.possible_player = []
              # copy the attributes from mmpython about this track
              if self.info.has_key('tracks'):
                  i.info.mmdata = self.info.mmdata['tracks'][title-1]
!             i.info_type = 'track'
!             i.set_url(self.url + str(title), False)
!             i.name = _('Play Title %s') % title
!             items += [i]
  
          moviemenu = menu.Menu(self.name, items, umount_all = 1, 
fxd_file=self.skin_fxd)
--- 537,554 ----
          for title in range(1,self.num_titles+1):
              i = copy.copy(self)
+             i.set_url(self.url + str(title), False)
              i.info = copy.copy(self.info)
              # copy the attributes from mmpython about this track
              if self.info.has_key('tracks'):
                  i.info.mmdata = self.info.mmdata['tracks'][title-1]
!                 i.info.set_variables(self.info.get_variables())
!                 i.info['audio']     = i.info.mmdata.audio 
!                 i.info['subtitles'] = i.info.mmdata.subtitles 
!                 i.info['chapters']  = i.info.mmdata.chapters 
!             i.info_type       = 'track'
!             i.possible_player = []
!             i.files           = None
!             i.name            = _('Play Title %s') % title
!             items.append(i)
  
          moviemenu = menu.Menu(self.name, items, umount_all = 1, 
fxd_file=self.skin_fxd)



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to