# HG changeset patch # User drewp@bigasterisk.com # Date 1402785015 0 # Node ID ef29453b307f9849e567384b9f5a0d5475eec7f1 # Parent 4e631b93fee4d6bd9ce8ca42019a7c421693a321 EE song time fetcher now coasts forwards with local clock Ignore-this: 23dc3675c7ac6a877367979bff5ed12a diff -r 4e631b93fee4 -r ef29453b307f light9/effecteval/effectloop.py --- 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):