mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
service.slice: fix rew not playing
This commit is contained in:
parent
763d8e0821
commit
37f98b5239
@ -1,3 +1,7 @@
|
|||||||
|
102
|
||||||
|
- Fix rew pattern not working
|
||||||
|
- Change logging to use LOGDEBUG
|
||||||
|
|
||||||
101
|
101
|
||||||
- Fix sleep.png so all LED's turn off
|
- Fix sleep.png so all LED's turn off
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
PKG_NAME="slice"
|
PKG_NAME="slice"
|
||||||
PKG_VERSION="0"
|
PKG_VERSION="0"
|
||||||
PKG_REV="101"
|
PKG_REV="102"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE=""
|
PKG_SITE=""
|
||||||
|
@ -61,10 +61,12 @@ class PNGPatternPlayer(threading.Thread):
|
|||||||
|
|
||||||
def clearPattern(self):
|
def clearPattern(self):
|
||||||
with open('/dev/ws2812', 'wb') as f:
|
with open('/dev/ws2812', 'wb') as f:
|
||||||
f.write(bytearray(25))
|
'write null multiple times as the LEDs can get locked up with fast operations'
|
||||||
|
for n in range(5):
|
||||||
|
f.write(bytearray(25))
|
||||||
|
|
||||||
def playPattern(self, file, delay):
|
def playPattern(self, file, delay):
|
||||||
xbmc.log('playing pattern: %s' % file, xbmc.LOGNOTICE)
|
xbmc.log('playing pattern: %s' % file, xbmc.LOGDEBUG)
|
||||||
|
|
||||||
'get pixel data from a cache if available, otherwise load and calculate'
|
'get pixel data from a cache if available, otherwise load and calculate'
|
||||||
if file not in self.memo:
|
if file not in self.memo:
|
||||||
@ -108,7 +110,7 @@ class PNGPatternPlayer(threading.Thread):
|
|||||||
else:
|
else:
|
||||||
self.patterns.put((file, repeat, delay, False))
|
self.patterns.put((file, repeat, delay, False))
|
||||||
|
|
||||||
def stop(wait=None):
|
def stop(self, wait=None):
|
||||||
self.play(None, wait=wait)
|
self.play(None, wait=wait)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
@ -138,16 +140,24 @@ class SlicePlayer(xbmc.Player):
|
|||||||
xbmc.Player.__init__(self)
|
xbmc.Player.__init__(self)
|
||||||
|
|
||||||
'maps kodi player speed to delay in seconds'
|
'maps kodi player speed to delay in seconds'
|
||||||
self.speed_map = { 1: 0.060,
|
self.speed_map = {-32: 0.015,
|
||||||
2: 0.040,
|
-16: 0.025,
|
||||||
4: 0.035,
|
-8: 0.030,
|
||||||
8: 0.030,
|
-4: 0.035,
|
||||||
16: 0.025,
|
-2: 0.040,
|
||||||
32: 0.015,
|
-1: 0.060,
|
||||||
|
0: 0.000,
|
||||||
|
1: 0.060,
|
||||||
|
2: 0.040,
|
||||||
|
4: 0.035,
|
||||||
|
8: 0.030,
|
||||||
|
16: 0.025,
|
||||||
|
32: 0.015,
|
||||||
}
|
}
|
||||||
|
|
||||||
self.speed = 1
|
self.speed = 1
|
||||||
patterns.play('startup', False, 0.02)
|
patterns.play('startup', False, 0.02)
|
||||||
|
xbmc.log('service.slice add-on started', xbmc.LOGNOTICE)
|
||||||
|
|
||||||
def onPlayBackEnded(self):
|
def onPlayBackEnded(self):
|
||||||
'Will be called when Kodi stops playing a file'
|
'Will be called when Kodi stops playing a file'
|
||||||
@ -169,8 +179,8 @@ class SlicePlayer(xbmc.Player):
|
|||||||
|
|
||||||
# todo: not working
|
# todo: not working
|
||||||
|
|
||||||
xbmc.log('time offset: %d' % iTime, xbmc.LOGNOTICE)
|
xbmc.log('time offset: %d' % iTime, xbmc.LOGDEBUG)
|
||||||
xbmc.log('seek offset: %d' % seekOffset, xbmc.LOGNOTICE)
|
xbmc.log('seek offset: %d' % seekOffset, xbmc.LOGDEBUG)
|
||||||
|
|
||||||
if seekOffset > 0:
|
if seekOffset > 0:
|
||||||
patterns.play('skipf')
|
patterns.play('skipf')
|
||||||
@ -184,15 +194,17 @@ class SlicePlayer(xbmc.Player):
|
|||||||
def onPlayBackSpeedChanged(self, speed):
|
def onPlayBackSpeedChanged(self, speed):
|
||||||
'Will be called when players speed changes. (eg. user FF/RW)'
|
'Will be called when players speed changes. (eg. user FF/RW)'
|
||||||
|
|
||||||
xbmc.log('seek speed: %d' % speed, xbmc.LOGNOTICE)
|
xbmc.log('seek speed: %d' % speed, xbmc.LOGDEBUG)
|
||||||
|
|
||||||
self.speed = speed
|
self.speed = speed
|
||||||
|
|
||||||
if self.speed != 1:
|
if self.speed != 1:
|
||||||
patterns.play('ffwd' if self.speed > 0 else 'rew', True, self.speed_map[self.speed])
|
if self.speed < 0:
|
||||||
|
patterns.play('rew', True, self.speed_map[self.speed])
|
||||||
|
elif self.speed > 0:
|
||||||
|
patterns.play('ffwd', True, self.speed_map[self.speed])
|
||||||
else:
|
else:
|
||||||
patterns.stop()
|
patterns.stop()
|
||||||
#OR: patterns.play('play') ???
|
|
||||||
|
|
||||||
def onPlayBackStarted(self):
|
def onPlayBackStarted(self):
|
||||||
'Will be called when Kodi starts playing a file'
|
'Will be called when Kodi starts playing a file'
|
||||||
@ -234,4 +246,4 @@ if (__name__ == "__main__"):
|
|||||||
|
|
||||||
del SliceMonitor
|
del SliceMonitor
|
||||||
del SlicePlayer
|
del SlicePlayer
|
||||||
del PNGPatternPlayer
|
del PNGPatternPlayer
|
||||||
|
Loading…
x
Reference in New Issue
Block a user