add sound info
This commit is contained in:
parent
d9e87b2804
commit
6a9bfd4faf
22
app.py
22
app.py
@ -1,10 +1,28 @@
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from PySide6.QtCore import QSettings
|
||||||
from PySide6.QtWidgets import QApplication
|
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():
|
def run_app():
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
window = MainWindow(app)
|
_apply_startup_sound_defaults()
|
||||||
|
window = MainWindowNew(app)
|
||||||
window.show()
|
window.show()
|
||||||
sys.exit(app.exec())
|
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"
|
GIT_HASH = "dev"
|
||||||
DEVICE_MODEL = "Raspberry Pi"
|
DEVICE_MODEL = "Raspberry Pi"
|
||||||
DEFAULT_SOUND_VOLUME = 100
|
DEFAULT_SOUND_VOLUME = 100
|
||||||
|
DEFAULT_PREMUTE_VOLUME = 10
|
||||||
|
DEFAULT_DUCKING_VOLUME = 35
|
||||||
|
|
||||||
|
|
||||||
def get_device_model() -> str:
|
def get_device_model() -> str:
|
||||||
|
|||||||
5
main.py
5
main.py
@ -1,5 +1,4 @@
|
|||||||
# from app import run_app
|
from app import run_app
|
||||||
from app_new import run_app_new
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
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:
|
def _read_int(self, key: str, default: int) -> int:
|
||||||
return _read_int_setting(self._settings, key, default)
|
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):
|
def _queue_volume_apply(self, value: int):
|
||||||
self._pending_volume = value
|
self._pending_volume = value
|
||||||
self._volume_apply_timer.start(120)
|
self._volume_apply_timer.start(120)
|
||||||
@ -95,17 +92,13 @@ class SoundScreen(QWidget):
|
|||||||
|
|
||||||
def _build_premute_card(self) -> QWidget:
|
def _build_premute_card(self) -> QWidget:
|
||||||
card, body = _card("Премут")
|
card, body = _card("Премут")
|
||||||
premute_enabled = self._read_bool("sound/premute_enabled", False)
|
premute_enabled = False
|
||||||
premute_value = self._read_int("sound/premute_volume", 10)
|
premute_value = self._read_int(
|
||||||
|
"sound/premute_volume",
|
||||||
row_toggle, toggle_btn = _toggle_row("Премут", checked=premute_enabled)
|
build_info.DEFAULT_PREMUTE_VOLUME,
|
||||||
toggle_btn.toggled.connect(
|
|
||||||
lambda checked: self._settings.setValue(
|
|
||||||
"sound/premute_enabled",
|
|
||||||
checked,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
row_toggle, toggle_btn = _toggle_row("Премут", checked=premute_enabled)
|
||||||
row_slider, slider, value_label = _slider_row(
|
row_slider, slider, value_label = _slider_row(
|
||||||
"Громкость премут",
|
"Громкость премут",
|
||||||
0,
|
0,
|
||||||
@ -123,17 +116,13 @@ class SoundScreen(QWidget):
|
|||||||
|
|
||||||
def _build_ducking_card(self) -> QWidget:
|
def _build_ducking_card(self) -> QWidget:
|
||||||
card, body = _card("Ducking")
|
card, body = _card("Ducking")
|
||||||
ducking_enabled = self._read_bool("sound/ducking_enabled", True)
|
ducking_enabled = True
|
||||||
ducking_value = self._read_int("sound/ducking_volume", 35)
|
ducking_value = self._read_int(
|
||||||
|
"sound/ducking_volume",
|
||||||
row_toggle, toggle_btn = _toggle_row("Ducking", checked=ducking_enabled)
|
build_info.DEFAULT_DUCKING_VOLUME,
|
||||||
toggle_btn.toggled.connect(
|
|
||||||
lambda checked: self._settings.setValue(
|
|
||||||
"sound/ducking_enabled",
|
|
||||||
checked,
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
row_toggle, toggle_btn = _toggle_row("Ducking", checked=ducking_enabled)
|
||||||
row_slider, slider, value_label = _slider_row(
|
row_slider, slider, value_label = _slider_row(
|
||||||
"Громкость при Ducking",
|
"Громкость при Ducking",
|
||||||
0,
|
0,
|
||||||
@ -311,11 +300,3 @@ def _read_int_setting(settings: QSettings, key: str, default: int) -> int:
|
|||||||
except (TypeError, ValueError):
|
except (TypeError, ValueError):
|
||||||
return default
|
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