Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions script.xbmc.unpausejumpback/addon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmc.unpausejumpback" name="Unpause Jumpback" version="2.3.4" provider-name="Memphiz,Lucleonhart,schumi2004,bossanova808">
<addon id="script.xbmc.unpausejumpback" name="Unpause Jumpback" version="2.3.5" provider-name="Memphiz,Lucleonhart,schumi2004,bossanova808">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
</requires>
Expand All @@ -26,5 +26,3 @@
<license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
</extension>
</addon>


5 changes: 4 additions & 1 deletion script.xbmc.unpausejumpback/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
2.3.3
2.3.5
- revert change introduced in 2.3.2

2.3.4
- fixed format of authors tag in addon.xml
- removed the XBMC from the name

Expand Down
43 changes: 26 additions & 17 deletions script.xbmc.unpausejumpback/default.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import xbmcaddon
import xbmcgui
import os
from time import time

__addon__ = xbmcaddon.Addon()
__cwd__ = __addon__.getAddonInfo('path')
Expand Down Expand Up @@ -45,8 +46,10 @@
global g_jumpBackSecsAfterRwdX32
global g_jumpBackSecsAfterResume
global g_lastPlaybackSpeed
global g_pausedTime
global g_waitForJumpback
g_jumpBackSecsAfterFwdPause = 0
g_pausedTime = 0
g_waitForJumpback = 0
g_lastPlaybackSpeed = 1

Expand Down Expand Up @@ -133,17 +136,9 @@ def __init__( self, *args, **kwargs ):
log('MyPlayer - init')

def onPlayBackPaused( self ):
global g_jumpBackSecsAfterFwdPause
global g_waitForJumpback

if self.isPlayingVideo():
_filename = self.getPlayingFile()
if isExcluded(_filename):
log("Playback paused - ignoring because '%s' is in exclusion settings." % _filename)
elif g_jumpBackSecsAfterFwdPause > 0 and self.getTime() > g_jumpBackSecsAfterFwdPause:
percentage = (self.getTime() - g_jumpBackSecsAfterFwdPause) / self.getTotalTime() * 100
log('Playback paused, setting up alarm clock - getTime()=%f getTotalTime()=%f g_jumpBackSecsAfterFwdPause=%d percentage=%f' % (self.getTime(), self.getTotalTime(), g_jumpBackSecsAfterFwdPause, percentage))
xbmc.executebuiltin('AlarmClock(JumpbackPaused, PlayerControl(SeekPercentage(%f)), 0:%d, silent)' % (percentage, g_waitForJumpback))
global g_pausedTime
g_pausedTime = time()
log('Paused. Time: %d' % g_pausedTime)

def onPlayBackSpeedChanged( self, speed ):
global g_lastPlaybackSpeed
Expand Down Expand Up @@ -186,12 +181,26 @@ def onPlayBackSpeedChanged( self, speed ):
g_lastPlaybackSpeed = speed

def onPlayBackResumed( self ):
log('Cancelling alarm - playback either resumed or stopped by the user')
xbmc.executebuiltin('CancelAlarm(JumpbackPaused, true)')

# We don't care if playback was resumed or stopped, we just want to know when we're no longer paused
onPlayBackStopped = onPlayBackResumed

global g_jumpBackSecsAfterFwdPause
global g_pausedTime
global g_waitForJumpback
if g_pausedTime > 0:
log('Resuming. Was paused for %d seconds.' % (time() - g_pausedTime))

# check for exclusion
_filename = self.getPlayingFile()
if isExcluded(_filename):
log("Ignored because '%s' is in exclusion settings." % _filename)
return

else:
#handle humpback after pause
if g_jumpBackSecsAfterFwdPause != 0 and xbmc.Player().isPlayingVideo() and xbmc.Player().getTime() > g_jumpBackSecsAfterFwdPause and g_pausedTime > 0 and (time() - g_pausedTime) > g_waitForJumpback:
resumeTime = xbmc.Player().getTime() - g_jumpBackSecsAfterFwdPause
xbmc.Player().seekTime(resumeTime)
log( 'Resumed with %ds jumpback' % g_jumpBackSecsAfterFwdPause )

g_pausedTime = 0
try:
class MyMonitor( xbmc.Monitor ):
def __init__( self, *args, **kwargs ):
Expand Down