add sound info

This commit is contained in:
Your Name 2026-01-09 03:06:15 +03:00
parent d9e87b2804
commit 6a9bfd4faf
6 changed files with 34 additions and 64 deletions

22
app.py
View File

@ -1,10 +1,28 @@
import sys
from PySide6.QtCore import QSettings
from PySide6.QtWidgets import QApplication
from ui.main_window import MainWindow
import build_info
from audio.system_volume import set_volume
from ui.main_window_new import MainWindowNew
def run_app():
app = QApplication(sys.argv)
window = MainWindow(app)
_apply_startup_sound_defaults()
window = MainWindowNew(app)
window.show()
sys.exit(app.exec())
def _apply_startup_sound_defaults():
settings = QSettings("car_ui", "ui")
base_volume = build_info.DEFAULT_SOUND_VOLUME
premute_volume = build_info.DEFAULT_PREMUTE_VOLUME
ducking_volume = build_info.DEFAULT_DUCKING_VOLUME
settings.setValue("sound/base_volume", base_volume)
settings.setValue("sound/premute_volume", premute_volume)
settings.setValue("sound/ducking_volume", ducking_volume)
set_volume(base_volume)

View File

@ -1,26 +0,0 @@
import sys
from PySide6.QtCore import QSettings
from PySide6.QtWidgets import QApplication
import build_info
from audio.system_volume import set_volume
from ui.main_window_new import MainWindowNew
def run_app_new():
app = QApplication(sys.argv)
_apply_startup_volume()
window = MainWindowNew(app)
window.show()
sys.exit(app.exec())
def _apply_startup_volume():
settings = QSettings("car_ui", "ui")
raw = settings.value("sound/base_volume", build_info.DEFAULT_SOUND_VOLUME)
try:
value = int(raw)
except (TypeError, ValueError):
value = build_info.DEFAULT_SOUND_VOLUME
set_volume(value)

View File

@ -10,6 +10,8 @@ BUILD_DATE = "dev"
GIT_HASH = "dev"
DEVICE_MODEL = "Raspberry Pi"
DEFAULT_SOUND_VOLUME = 100
DEFAULT_PREMUTE_VOLUME = 10
DEFAULT_DUCKING_VOLUME = 35
def get_device_model() -> str:

View File

@ -1,5 +1,4 @@
# from app import run_app
from app_new import run_app_new
from app import run_app
if __name__ == "__main__":
run_app_new()
run_app()

View File

@ -1,4 +0,0 @@
from app_new import run_app_new
if __name__ == "__main__":
run_app_new()

View File

@ -60,9 +60,6 @@ class SoundScreen(QWidget):
def _read_int(self, key: str, default: int) -> int:
return _read_int_setting(self._settings, key, default)
def _read_bool(self, key: str, default: bool) -> bool:
return _read_bool_setting(self._settings, key, default)
def _queue_volume_apply(self, value: int):
self._pending_volume = value
self._volume_apply_timer.start(120)
@ -95,17 +92,13 @@ class SoundScreen(QWidget):
def _build_premute_card(self) -> QWidget:
card, body = _card("Премут")
premute_enabled = self._read_bool("sound/premute_enabled", False)
premute_value = self._read_int("sound/premute_volume", 10)
premute_enabled = False
premute_value = self._read_int(
"sound/premute_volume",
build_info.DEFAULT_PREMUTE_VOLUME,
)
row_toggle, toggle_btn = _toggle_row("Премут", checked=premute_enabled)
toggle_btn.toggled.connect(
lambda checked: self._settings.setValue(
"sound/premute_enabled",
checked,
)
)
row_slider, slider, value_label = _slider_row(
"Громкость премут",
0,
@ -123,17 +116,13 @@ class SoundScreen(QWidget):
def _build_ducking_card(self) -> QWidget:
card, body = _card("Ducking")
ducking_enabled = self._read_bool("sound/ducking_enabled", True)
ducking_value = self._read_int("sound/ducking_volume", 35)
ducking_enabled = True
ducking_value = self._read_int(
"sound/ducking_volume",
build_info.DEFAULT_DUCKING_VOLUME,
)
row_toggle, toggle_btn = _toggle_row("Ducking", checked=ducking_enabled)
toggle_btn.toggled.connect(
lambda checked: self._settings.setValue(
"sound/ducking_enabled",
checked,
)
)
row_slider, slider, value_label = _slider_row(
"Громкость при Ducking",
0,
@ -311,11 +300,3 @@ def _read_int_setting(settings: QSettings, key: str, default: int) -> int:
except (TypeError, ValueError):
return default
def _read_bool_setting(settings: QSettings, key: str, default: bool) -> bool:
raw = settings.value(key, default)
if isinstance(raw, bool):
return raw
if isinstance(raw, str):
return raw.strip().lower() in ("1", "true", "yes", "on")
return bool(raw)