File tree Expand file tree Collapse file tree 4 files changed +49
-45
lines changed Expand file tree Collapse file tree 4 files changed +49
-45
lines changed Original file line number Diff line number Diff line change 1+ from .base import Timer # noqa
2+ from .music import MusicTimer # noqa
Original file line number Diff line number Diff line change 1+ import glfw
2+
3+
4+ class Timer :
5+ """Timer based on glfw time"""
6+ def __init__ (self , ** kwargs ):
7+ self .start_time = None
8+ self .stop_time = None
9+ self .pause_time = None
10+ self .offset = 0
11+
12+ def start (self ):
13+ # Initial start?
14+ if self .start_time is None :
15+ self .start_time = glfw .get_time ()
16+ # Play after pause
17+ else :
18+ # Add the duration of the paused interval to the total offset
19+ pause_duration = glfw .get_time () - self .pause_time
20+ self .offset += pause_duration
21+ # print("pause duration", pause_duration, "offset", self.offset)
22+ # Exit the paused state
23+ self .pause_time = None
24+
25+ def pause (self ):
26+ self .pause_time = glfw .get_time ()
27+
28+ def toggle_pause (self ):
29+ if self .pause_time :
30+ self .start ()
31+ else :
32+ self .pause ()
33+
34+ def stop (self ):
35+ self .stop_time = glfw .get_time ()
36+ return self .stop_time - self .start_time - self .offset
37+
38+ def get_time (self ):
39+ if self .pause_time is not None :
40+ time = self .pause_time - self .offset - self .start_time
41+ return time
42+
43+ time = glfw .get_time ()
44+ return time - self .start_time - self .offset
Original file line number Diff line number Diff line change 11import glfw
22from pygame import mixer
3+ from .base import Timer
34
45
5- class Timer :
6- """Timer based on glfw time"""
7- def __init__ (self , ** kwargs ):
8- self .start_time = None
9- self .stop_time = None
10- self .pause_time = None
11- self .offset = 0
12-
13- def start (self ):
14- # Initial start?
15- if self .start_time is None :
16- self .start_time = glfw .get_time ()
17- # Play after pause
18- else :
19- # Add the duration of the paused interval to the total offset
20- pause_duration = glfw .get_time () - self .pause_time
21- self .offset += pause_duration
22- # print("pause duration", pause_duration, "offset", self.offset)
23- # Exit the paused state
24- self .pause_time = None
25-
26- def pause (self ):
27- self .pause_time = glfw .get_time ()
28-
29- def toggle_pause (self ):
30- if self .pause_time :
31- self .start ()
32- else :
33- self .pause ()
34-
35- def stop (self ):
36- self .stop_time = glfw .get_time ()
37- return self .stop_time - self .start_time - self .offset
38-
39- def get_time (self ):
40- if self .pause_time is not None :
41- time = self .pause_time - self .offset - self .start_time
42- return time
43-
44- time = glfw .get_time ()
45- return time - self .start_time - self .offset
46-
47-
48- class MusicTimer :
6+ class MusicTimer (Timer ):
497 """Timer based on music"""
508 def __init__ (self , ** kwargs ):
519 mixer .init ()
Original file line number Diff line number Diff line change 99from demosys .opengl import fbo
1010from demosys .opengl .fbo import WINDOW_FBO
1111from demosys import resources
12- from demosys . timeline import timers
12+ from demosys import timers
1313from demosys .conf import settings
1414from demosys .scene import camera
1515from . import screenshot
You can’t perform that action at this time.
0 commit comments