Mercurial > code > home > repos > light9
changeset 1149:ef29453b307f
EE song time fetcher now coasts forwards with local clock
Ignore-this: 23dc3675c7ac6a877367979bff5ed12a
author | drewp@bigasterisk.com |
---|---|
date | Sat, 14 Jun 2014 22:30:15 +0000 |
parents | 4e631b93fee4 |
children | 0e0776d3bd74 |
files | light9/effecteval/effectloop.py |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/light9/effecteval/effectloop.py Sat Jun 14 22:27:07 2014 +0000 +++ b/light9/effecteval/effectloop.py Sat Jun 14 22:30:15 2014 +0000 @@ -29,7 +29,7 @@ self.graph.addHandler(self.setEffects) self.period = 1 / 30 self.coastSecs = .3 # main reason to keep this low is to notice play/pause - + self.songTimeFetch = 0 self.songTimeFromRequest = 0 self.requestTime = 0 # unix sec for when we fetched songTime self.initOutput() @@ -78,7 +78,8 @@ def updateTimeFromMusic(self): t1 = time.time() with self.stats.getMusic.time(): - songTime, song = yield self.getSongTime() + self.songTime, song = yield self.getSongTime() + self.songTimeFetch = time.time() if song != self.currentSong: self.currentSong = song @@ -89,7 +90,8 @@ reactor.callLater(max(0, self.period - elapsed), self.updateTimeFromMusic) def estimatedSongTime(self): - return self.songTime + now = time.time() + return self.songTime + max(0, now - self.songTimeFetch) @inlineCallbacks def sendLevels(self):