mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 13:40:27 +02:00
Better sleep state handling for Linux
This commit is contained in:
+2
-1
@@ -1,4 +1,5 @@
|
||||
# 1.1.3
|
||||
# 1.1.3 (pre-release)
|
||||
- Better sleep state handling for Linux.
|
||||
- Fixed issue where the app would not restart properly on Windows.
|
||||
- Fixed last sentence/subtitle entry timing in generated subtitles, the end time of the final subtitle entry now correctly matches the end of the audio chunk, preventing zero or invalid timings at the end.
|
||||
|
||||
|
||||
+5
-1
@@ -2,6 +2,7 @@ from json import load
|
||||
import os
|
||||
import sys
|
||||
import platform
|
||||
import atexit
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from PyQt5.QtGui import QIcon
|
||||
from PyQt5.QtCore import qInstallMessageHandler, QtMsgType
|
||||
@@ -9,7 +10,7 @@ from PyQt5.QtCore import qInstallMessageHandler, QtMsgType
|
||||
# Add the directory to Python path
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__)))
|
||||
|
||||
from abogen.utils import get_resource_path, load_config
|
||||
from abogen.utils import get_resource_path, load_config, prevent_sleep_end
|
||||
|
||||
# Set Hugging Face Hub environment variables
|
||||
os.environ["HF_HUB_DISABLE_TELEMETRY"] = "1" # Disable Hugging Face telemetry
|
||||
@@ -27,6 +28,9 @@ from abogen.constants import PROGRAM_NAME, VERSION
|
||||
os.environ["MIOPEN_FIND_MODE"] = "FAST"
|
||||
os.environ["MIOPEN_CONV_PRECISE_ROCM_TUNING"] = "0"
|
||||
|
||||
# Reset sleep states
|
||||
atexit.register(prevent_sleep_end)
|
||||
|
||||
# Ensure sys.stdout and sys.stderr are valid in GUI mode
|
||||
if sys.stdout is None:
|
||||
sys.stdout = open(os.devnull, "w")
|
||||
|
||||
+7
-2
@@ -244,6 +244,7 @@ def get_gpu_acceleration(enabled):
|
||||
|
||||
|
||||
def prevent_sleep_start():
|
||||
from abogen.constants import PROGRAM_NAME
|
||||
system = platform.system()
|
||||
if system == "Windows":
|
||||
import ctypes
|
||||
@@ -254,11 +255,15 @@ def prevent_sleep_start():
|
||||
elif system == "Darwin":
|
||||
_sleep_procs["Darwin"] = create_process(["caffeinate"])
|
||||
elif system == "Linux":
|
||||
# use a sleep that never exits so inhibition stays active
|
||||
# Add program name and reason for inhibition
|
||||
program_name = PROGRAM_NAME
|
||||
reason = "Prevent sleep during abogen process"
|
||||
_sleep_procs["Linux"] = create_process(
|
||||
[
|
||||
"systemd-inhibit",
|
||||
"--what=handle-lid-switch:sleep",
|
||||
f"--who={program_name}",
|
||||
f"--why={reason}",
|
||||
"--what=sleep",
|
||||
"--mode=block",
|
||||
"sleep",
|
||||
"infinity",
|
||||
|
||||
Reference in New Issue
Block a user