diff --git a/gradint-build/src/makeevent.py b/gradint-build/src/makeevent.py index 40fe55ee6ee374cc089997adb3fa5e465b72449f..25d97c4a0a10214720f9fa2eada27fefae3699ee 100644 --- a/gradint-build/src/makeevent.py +++ b/gradint-build/src/makeevent.py @@ -230,8 +230,6 @@ if partialsDirectory: try: files = os.listdir(partialsDirectory+os.sep+l+os.sep+v) except: files = [] if files: dirsToStat.append((partialsDirectory+os.sep+l+os.sep+v,os.stat(partialsDirectory+os.sep+l+os.sep+v))) - def byReverseLength(a,b): return len(b)-len(a) - files.sort(byReverseLength) # important if there are some files covering multiple syllables def addFile(f): global flags if riscos_sound and "." in f: f=f.replace(".",extsep) # in case made filelist on another system @@ -262,6 +260,8 @@ if partialsDirectory: elif not "-" in f or f.find('-m')>-1: mid.append(f) elif f.find('-e')>-1 or f.find('-f')>-1: end.append(f) # 'end' or 'finish' for f in files: addFile(f) + def byReverseLength(a,b): return len(b)-len(a) + start.sort(byReverseLength) ; mid.sort(byReverseLength) ; end.sort(byReverseLength) # important if there are some files covering multiple syllables (and do it to start,mid,end not to files initially, so as to catch files within audiodata.dat also) def toDict(l): # make the list of filenames into a dict of short-key -> [(long-key, filename) list]. short-key is the shortest possible key. if not l: return {} l2 = [] ; kLen = len(l[0]) diff --git a/gradint-build/src/play.py b/gradint-build/src/play.py index 2e39b3f5b35f1cf7782df98071a819831d6b5d58..7daced33e94fa893269bfec17b099ad130967de4 100644 --- a/gradint-build/src/play.py +++ b/gradint-build/src/play.py @@ -24,7 +24,7 @@ def play(event): if not app: doLabel("Emergency brief interrupt: %d" % (emergency_lessonHold_to-time.time())) time.sleep(1) t = "%d:%02d:%02d" % time.localtime()[3:6] - timeout_time = time.time() + 10 # don't loop *forever* if unable to start playing (especially if we're being used in a reminder system etc, it may be best to exit eventually) + timeout_time = time.time() + max(10,event.length/3) # don't loop *forever* if unable to start playing (especially if we're being used in a reminder system etc, it may be best to exit eventually) if lessonStartTime and not soundCollector: if hasattr(event,"max_lateness"): timeout_time = min(timeout_time, lessonStartTime + (copy_of_runner_events[0][2]+event.max_lateness)) if hasattr(event,"sequenceID") and event.sequenceID in sequenceIDs_to_cancel: timeout_time = 0 diff --git a/gradint-build/windows/espeak-windows.bgz b/gradint-build/windows/espeak-windows.bgz index c5a05142d59859f4f22b6110b3ef6adddbbed2c2..f0afc5f6826b56c2cf8c2aec4796b4a9eee24b5c 100644 Binary files a/gradint-build/windows/espeak-windows.bgz and b/gradint-build/windows/espeak-windows.bgz differ