From 6a9bfd4faf8e819431a31d4d60482dd288424152 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 9 Jan 2026 03:06:15 +0300 Subject: [PATCH] add sound info --- app.py | 22 +++++++++++++++++-- app_new.py | 26 ---------------------- build_info.py | 2 ++ main.py | 5 ++--- main_new.py | 4 ---- screens/setting/sound_screen.py | 39 +++++++++------------------------ 6 files changed, 34 insertions(+), 64 deletions(-) delete mode 100644 app_new.py delete mode 100644 main_new.py diff --git a/app.py b/app.py index e113ef3..76de432 100644 --- a/app.py +++ b/app.py @@ -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) diff --git a/app_new.py b/app_new.py deleted file mode 100644 index e1fc87d..0000000 --- a/app_new.py +++ /dev/null @@ -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) diff --git a/build_info.py b/build_info.py index 7705b90..be77d6f 100644 --- a/build_info.py +++ b/build_info.py @@ -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: diff --git a/main.py b/main.py index 951eab3..edcbfcd 100644 --- a/main.py +++ b/main.py @@ -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() diff --git a/main_new.py b/main_new.py deleted file mode 100644 index d840639..0000000 --- a/main_new.py +++ /dev/null @@ -1,4 +0,0 @@ -from app_new import run_app_new - -if __name__ == "__main__": - run_app_new() diff --git a/screens/setting/sound_screen.py b/screens/setting/sound_screen.py index d5d9e13..44e2c40 100644 --- a/screens/setting/sound_screen.py +++ b/screens/setting/sound_screen.py @@ -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) - - row_toggle, toggle_btn = _toggle_row("Премут", checked=premute_enabled) - toggle_btn.toggled.connect( - lambda checked: self._settings.setValue( - "sound/premute_enabled", - checked, - ) + 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) 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) - - row_toggle, toggle_btn = _toggle_row("Ducking", checked=ducking_enabled) - toggle_btn.toggled.connect( - lambda checked: self._settings.setValue( - "sound/ducking_enabled", - checked, - ) + 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) 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)