music pause

This commit is contained in:
2026-10-05 19:32:23 +02:00
parent b9a5465207
commit b3f576b000
+18 -4
View File
@@ -1,8 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import sys import sys
import os import os
import subprocess import subprocess
import signal
try: try:
import curses import curses
@@ -605,12 +608,22 @@ class Music:
else: else:
scheduler.cancel("music") scheduler.cancel("music")
def pause(self):
if self.process:
scheduler.cancel("music")
self.process.send_signal(signal.SIGSTOP)
subprocess.Popen(["beep", "-l1", "-f1"])
scheduler.repeat("music", 0.02, self.repeat)
def resume(self):
if self.process:
self.process.send_signal(signal.SIGCONT)
def stop(self): def stop(self):
if self.process: if self.process:
scheduler.cancel("music")
self.process.terminate() self.process.terminate()
self.process = None self.process = None
scheduler.cancel("music")
class Game: class Game:
@@ -710,7 +723,7 @@ class Game:
self.matrix.refresh(paused=True) self.matrix.refresh(paused=True)
self.next.refresh(paused=True) self.next.refresh(paused=True)
self.scr.timeout(-1) self.scr.timeout(-1)
self.music.stop() self.music.pause()
while True: while True:
key = self.scr.getkey() key = self.scr.getkey()
@@ -725,7 +738,7 @@ class Game:
self.matrix.refresh() self.matrix.refresh()
self.next.refresh() self.next.refresh()
self.stats.time = time.time() - self.stats.time self.stats.time = time.time() - self.stats.time
self.music.play() self.music.resume()
def swap(self): def swap(self):
if self.matrix.piece.hold_enabled: if self.matrix.piece.hold_enabled:
@@ -774,7 +787,7 @@ def main():
if "--help" in sys.argv[1:] or "-h" in sys.argv[1:] or "/?" in sys.argv[1:]: if "--help" in sys.argv[1:] or "-h" in sys.argv[1:] or "/?" in sys.argv[1:]:
print(HELP_MSG) print(HELP_MSG)
else: else:
if "--reset" in sys.argv[1:] or "-r" in sys.argv[1:]: if "-reset" in sys.argv[1:] or "-r" in sys.argv[1:]:
controls = ControlsParser() controls = ControlsParser()
controls.reset() controls.reset()
controls.edit() controls.edit()
@@ -789,3 +802,4 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
main() main()