Update of /cvsroot/freevo/freevo/src/video/plugins
In directory sc8-pr-cvs1:/tmp/cvs-serv31063/video/plugins

Modified Files:
        xine.py 
Log Message:
add subtitle selection and osd info support for xine (needs current xine-ui cvs

Index: xine.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/video/plugins/xine.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** xine.py     1 Nov 2003 19:54:18 -0000       1.19
--- xine.py     9 Nov 2003 12:01:00 -0000       1.20
***************
*** 29,32 ****
--- 29,35 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.20  2003/11/09 12:01:00  dischi
+ # add subtitle selection and osd info support for xine (needs current xine-ui cvs
+ #
  # Revision 1.19  2003/11/01 19:54:18  dischi
  # port to new xine-lib
***************
*** 186,190 ****
          command = self.command
  
!         if item.deinterlace:
              if (config.XINE_VO_DEV == 'vidix' or self.xine_type == 'fb') and \
                     self.xine_version > 921:
--- 189,194 ----
          command = self.command
  
!         if item.deinterlace or \
!            (hasattr(config, 'XINE_ALWAYS_DEINTERLACE') and 
config.XINE_ALWAYS_DEINTERLACE):
              if (config.XINE_VO_DEV == 'vidix' or self.xine_type == 'fb') and \
                     self.xine_version > 921:
***************
*** 196,203 ****
--- 200,213 ----
          self.current_audio = -1
  
+         self.max_subtitle = 0
+         self.current_subtitle = -1
+ 
          if item.mode == 'dvd':
              for track in item.info['tracks']:
                  self.max_audio = max(self.max_audio, len(track['audio']))
  
+             for track in item.info['tracks']:
+                 self.max_subtitle = max(self.max_subtitle, len(track['subtitles']))
+ 
          if item.mode == 'dvd':
              command = '%s dvd://' % command
***************
*** 294,297 ****
--- 304,311 ----
              return True
  
+         if event == TOGGLE_OSD:
+             self.thread.app.write('OSDStreamInfos\n')
+             return True
+ 
  
          # VCD NAVIGATION
***************
*** 322,325 ****
--- 336,356 ----
                      time.sleep(0.1)
                  self.current_audio = -1
+             return True
+             
+         if event == VIDEO_NEXT_SUBTITLE and self.max_subtitle:
+             if self.current_subtitle < self.max_subtitle - 1:
+                 self.thread.app.write('SpuNext\n')
+                 self.current_subtitle += 1
+                 # wait until the stream is changed
+                 time.sleep(0.1)
+             else:
+                 # bad hack to warp around
+                 if self.xine_type == 'fb':
+                     self.thread.app.write('SpuDefault\n')
+                     time.sleep(0.1)
+                 for i in range(self.max_subtitle):
+                     self.thread.app.write('SpuPrior\n')
+                     time.sleep(0.1)
+                 self.current_subtitle = -1
              return True
              




-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to