diff options
Diffstat (limited to 'solo-tool-project/src/solo_tool/handlers.py')
-rw-r--r-- | solo-tool-project/src/solo_tool/handlers.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/solo-tool-project/src/solo_tool/handlers.py b/solo-tool-project/src/solo_tool/handlers.py index ab7309e..0b38968 100644 --- a/solo-tool-project/src/solo_tool/handlers.py +++ b/solo-tool-project/src/solo_tool/handlers.py @@ -18,6 +18,14 @@ def changeSong(st: SoloTool, delta: int) -> Callable[[], None]: st.song += delta return f +def restartOrPreviousSong(st: SoloTool, threshold: float) -> Callable[[], None]: + def f(): + if st.position < threshold and st.song > 0: + st.song -= 1 + else: + st.position = 0.0 + return f + def setSong(st: SoloTool, index: int, followUp: Callable[[], None]=None) -> Callable[[], None]: def f(): st.song = index |