Refactor Mplayer/mpv
This commit is contained in:
parent
a99a70159a
commit
89d0a262cc
@ -67,9 +67,6 @@ class MplayerPlayer(BasePlayer):
|
|||||||
self.reactor.callLater(0, self._client.initPlayer, self)
|
self.reactor.callLater(0, self._client.initPlayer, self)
|
||||||
self._onFileUpdate()
|
self._onFileUpdate()
|
||||||
|
|
||||||
def _onMPVFileUpdate(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def askForStatus(self):
|
def askForStatus(self):
|
||||||
self._positionAsk.clear()
|
self._positionAsk.clear()
|
||||||
self._pausedAsk.clear()
|
self._pausedAsk.clear()
|
||||||
@ -91,9 +88,11 @@ class MplayerPlayer(BasePlayer):
|
|||||||
def setSpeed(self, value):
|
def setSpeed(self, value):
|
||||||
self._setProperty('speed', "{:.2f}".format(value))
|
self._setProperty('speed', "{:.2f}".format(value))
|
||||||
|
|
||||||
def openFile(self, filePath):
|
def _loadFile(self, filePath):
|
||||||
self._clearFileLoaded()
|
|
||||||
self._listener.sendLine(u'loadfile {}'.format(self._quoteArg(filePath)))
|
self._listener.sendLine(u'loadfile {}'.format(self._quoteArg(filePath)))
|
||||||
|
|
||||||
|
def openFile(self, filePath):
|
||||||
|
self._loadFile(filePath)
|
||||||
self._onFileUpdate()
|
self._onFileUpdate()
|
||||||
if self._paused != self._client.getGlobalPaused():
|
if self._paused != self._client.getGlobalPaused():
|
||||||
self.setPaused(self._client.getGlobalPaused())
|
self.setPaused(self._client.getGlobalPaused())
|
||||||
@ -136,30 +135,29 @@ class MplayerPlayer(BasePlayer):
|
|||||||
def _clearFileLoaded(self):
|
def _clearFileLoaded(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _handleMPVLines(self, line):
|
def _handleUnknownLine(self, line):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def lineReceived(self, line):
|
def _storePosition(self, value):
|
||||||
self._handleMPVLines(line)
|
self._position = value
|
||||||
|
|
||||||
|
def _storePauseState(self, value):
|
||||||
|
self._paused = value
|
||||||
|
|
||||||
|
def lineReceived(self, line):
|
||||||
match = self.RE_ANSWER.match(line)
|
match = self.RE_ANSWER.match(line)
|
||||||
if not match:
|
if not match:
|
||||||
|
self._handleUnknownLine(line)
|
||||||
return
|
return
|
||||||
|
|
||||||
name, value =[m for m in match.groups() if m]
|
name, value =[m for m in match.groups() if m]
|
||||||
name = name.lower()
|
name = name.lower()
|
||||||
|
|
||||||
if name == self.POSITION_QUERY:
|
if name == self.POSITION_QUERY:
|
||||||
if self._fileIsLoaded():
|
self._storePosition(float(value))
|
||||||
self._position = float(value)
|
|
||||||
else:
|
|
||||||
self._position = self._client.getGlobalPosition()
|
|
||||||
self._positionAsk.set()
|
self._positionAsk.set()
|
||||||
elif name == "pause":
|
elif name == "pause":
|
||||||
if self._fileIsLoaded():
|
self._storePauseState(bool(value == 'yes'))
|
||||||
self._paused = bool(value == 'yes')
|
|
||||||
else:
|
|
||||||
self._paused = self._client.getGlobalPaused()
|
|
||||||
self._pausedAsk.set()
|
self._pausedAsk.set()
|
||||||
elif name == "length":
|
elif name == "length":
|
||||||
self._duration = float(value)
|
self._duration = float(value)
|
||||||
|
|||||||
@ -18,6 +18,18 @@ class MpvPlayer(MplayerPlayer):
|
|||||||
self._paused = not self._paused
|
self._paused = not self._paused
|
||||||
self._listener.sendLine('cycle pause')
|
self._listener.sendLine('cycle pause')
|
||||||
|
|
||||||
|
def _storePosition(self, value):
|
||||||
|
if self._fileIsLoaded():
|
||||||
|
self._position = value
|
||||||
|
else:
|
||||||
|
self._position = self._client.getGlobalPosition()
|
||||||
|
|
||||||
|
def _storePauseState(self, value):
|
||||||
|
if self._fileIsLoaded():
|
||||||
|
self._paused = bool(value == 'yes')
|
||||||
|
else:
|
||||||
|
self._paused = self._client.getGlobalPaused()
|
||||||
|
|
||||||
def _onFileUpdate(self):
|
def _onFileUpdate(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -25,7 +37,11 @@ class MpvPlayer(MplayerPlayer):
|
|||||||
self.fileLoaded = False
|
self.fileLoaded = False
|
||||||
self.lastLoadedTime = None
|
self.lastLoadedTime = None
|
||||||
|
|
||||||
def _handleMPVLines(self, line):
|
def _loadFile(self, filePath):
|
||||||
|
self._clearFileLoaded()
|
||||||
|
self._listener.sendLine(u'loadfile {}'.format(self._quoteArg(filePath)))
|
||||||
|
|
||||||
|
def _handleUnknownLine(self, line):
|
||||||
if "Error parsing option" in line:
|
if "Error parsing option" in line:
|
||||||
self.quitReason = getMessage("mpv-version-error")
|
self.quitReason = getMessage("mpv-version-error")
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user