add sound info
This commit is contained in:
parent
d9e87b2804
commit
6a9bfd4faf
22
app.py
22
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)
|
||||
|
||||
26
app_new.py
26
app_new.py
@ -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)
|
||||
@ -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:
|
||||
|
||||
5
main.py
5
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()
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
from app_new import run_app_new
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_app_new()
|
||||
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user