def _moviePositionChanged(self, frame): if not self._slider.isSliderDown(): self._movieFrame = frame if frame % self._modulo == 0: self._slider.setValue(self._movieFrame) fps = self._player.videoData.fps ft = FrameTime(fps, frames=frame) self._timeLabel.setText(ft.toStr())
def offset(self, seconds): data = self.data fps = data.subtitles.fps if fps is None: log.error(_("No FPS for '%s' (empty subtitles)." % self.filePath)) return ft = FrameTime(data.subtitles.fps, seconds=seconds) data.subtitles.offset(ft) command = ChangeData(self.filePath, data, _("Offset by: %s") % ft.toStr()) self._subtitleData.execute(command)
def _sliderActionHandle(self, action): if action == QAbstractSlider.SliderPageStepAdd: self._player.seek(1.0) elif action == QAbstractSlider.SliderPageStepSub: self._player.seek(-1.0) elif action == QAbstractSlider.SliderSingleStepAdd: self.forward() elif action == QAbstractSlider.SliderSingleStepSub: self.rewind() elif action == QAbstractSlider.SliderMove: position = self._slider.sliderPosition() self._changePosition(position) if self._slider.isSliderDown() and self._player.videoData.fps is not None: fps = self._player.videoData.fps ft = FrameTime(fps, frames=position) self._timeLabel.setText(ft.toStr())
def offsetSelectedFiles(self, seconds): if seconds == 0: return items = self.__fileList.selectedItems() for item in items: filePath = item.text(0) data = self._subtitleData.data(filePath) fps = data.subtitles.fps if fps is None: log.error(_("No FPS for '%s' (empty subtitles)." % filePath)) continue ft = FrameTime(fps, seconds=seconds) data.subtitles.offset(ft) command = ChangeData(filePath, data, _("Offset by: %s") % ft.toStr()) self._subtitleData.execute(command)