def updateSubtitlesFps(self): subsFps = self.engine.getSubsFps() videoFps = getFps(self.session, True) if subsFps is None or videoFps is None: self['subtitlesFps'].setText("%s: %s" % (_("Subtitles FPS"), _("unknown"))) return if subsFps == videoFps: if self.providedSubtitlesFps is not None: if self.providedSubtitlesFps == videoFps: self['subtitlesFps'].setText( "%s: %s (%s)" % (_("Subtitles FPS"), _("original"), _("original"))) else: self['subtitlesFps'].setText( "%s: %s (%s)" % (_("Subtitles FPS"), _("original"), str(self.providedSubtitlesFps))) else: self['subtitlesFps'].setText( "%s: %s" % (_("Subtitles FPS"), _("original"))) else: if self.providedSubtitlesFps is not None: if self.providedSubtitlesFps == videoFps: self['subtitlesFps'].setText( "%s: %s (%s)" % (_("Subtitles FPS"), str(subsFps), _("original"))) else: self['subtitlesFps'].setText( "%s: %s (%s)" % (_("Subtitles FPS"), str(subsFps), str(self.providedSubtitlesFps))) else: self['subtitlesFps'].setText( "%s: %s" % (_("Subtitles FPS"), str(subsFps)))
def setSubsFps(self, subsFps): print "[SubsEngineDVB] setSubsFps - setting fps to %s" % str(subsFps) videoFps = getFps(self.session, True) if videoFps is None: print "[SubsEngineDVB] setSubsFps - cannot get video fps!" else: self.waitTimer.stop() self.hideTimer.stop() self.fpsRatio = subsFps / float(videoFps) self.renderSub() if not self.paused: self.setRefTime() self.startHideTimer()
def subsChooserCB(self, subfile=None, embeddedSubtitle=None, forceReload=False): if subfile is not None: subsLoader = SubsLoader(PARSERS, ALL_LANGUAGES_ENCODINGS + ENCODINGS[self.subsSettings.encodingsGroup.getValue()]) try: subsList, subsEnc = subsLoader.load(subfile, fps=getFps(self.session)) except LoadError: warningMessage(self.session, _("Cannot load subtitles. Invalid path")) except DecodeError: warningMessage(self.session, _("Cannot decode subtitles. Try another encoding group")) except ParserNotFoundError: warningMessage(self.session, _("Cannot parse subtitles. Not supported subtitles format")) except ParseError: warningMessage(self.session, _("Cannot parse subtitles. Invalid subtitles format")) else: self.subsScreen = self.session.instantiateDialog(SubsScreen, self.subsSettings.external) subsEngine = SubsEngineDVB(self.session, self.subsSettings.engine, self.subsScreen) subsEngine.setSubsList(subsList) self.session.openWithCallback(self.subsControllerCB, SubsControllerDVB, subsEngine, config.plugins.subsSupport.dvb.autoSync.value) else: print '[SubsSupportDVB] no subtitles selected, exit'
def updateSubtitlesFps(self): subsFps = self.engine.getSubsFps() videoFps = getFps(self.session, True) if subsFps is None or videoFps is None: self['subtitlesFps'].setText("%s: %s" % (_("Subtitles FPS"), _("unknown"))) return if subsFps == videoFps: if self.providedSubtitlesFps is not None: if self.providedSubtitlesFps == videoFps: self['subtitlesFps'].setText("%s: %s (%s)" % (_("Subtitles FPS"), _("original"), _("original") )) else: self['subtitlesFps'].setText("%s: %s (%s)" % (_("Subtitles FPS"), _("original"), str(self.providedSubtitlesFps) )) else: self['subtitlesFps'].setText("%s: %s" % (_("Subtitles FPS"), _("original"))) else: if self.providedSubtitlesFps is not None: if self.providedSubtitlesFps == videoFps: self['subtitlesFps'].setText("%s: %s (%s)" % (_("Subtitles FPS"), str(subsFps), _("original") )) else: self['subtitlesFps'].setText("%s: %s (%s)" % (_("Subtitles FPS"), str(subsFps), str(self.providedSubtitlesFps) )) else: self['subtitlesFps'].setText("%s: %s" % (_("Subtitles FPS"), str(subsFps)))
def subsChooserCB(self, subfile=None, embeddedSubtitle=None, forceReload=False): if subfile is not None: subsLoader = SubsLoader( PARSERS, ALL_LANGUAGES_ENCODINGS + ENCODINGS[self.subsSettings.encodingsGroup.getValue()]) try: subsList, subsEnc = subsLoader.load(subfile, fps=getFps(self.session)) except LoadError: warningMessage(self.session, _("Cannot load subtitles. Invalid path")) except DecodeError: warningMessage( self.session, _("Cannot decode subtitles. Try another encoding group")) except ParserNotFoundError: warningMessage( self.session, _("Cannot parse subtitles. Not supported subtitles format") ) except ParseError: warningMessage( self.session, _("Cannot parse subtitles. Invalid subtitles format")) else: self.subsScreen = self.session.instantiateDialog( SubsScreen, self.subsSettings.external) subsEngine = SubsEngineDVB(self.session, self.subsSettings.engine, self.subsScreen) subsEngine.setSubsList(subsList) self.session.openWithCallback( self.subsControllerCB, SubsControllerDVB, subsEngine, config.plugins.subsSupport.dvb.autoSync.value) else: print '[SubsSupportDVB] no subtitles selected, exit'
def getSubsFps(self): videoFps = getFps(self.session, True) if videoFps is None: return None return fps_float(self.fpsRatio * videoFps)