Update docs and screenshots
CI / backend (pull_request) Canceled after 0s
CI / shell (pull_request) Canceled after 0s
CI / frontend (pull_request) Canceled after 0s
CI / arm64-smoke (pull_request) Canceled after 0s
CI / backend (push) Canceled after 0s
CI / shell (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / arm64-smoke (push) Canceled after 0s

This commit is contained in:
2026-07-25 10:26:29 +02:00
parent d6cda77aaf
commit 1f110866f5
170 changed files with 24657 additions and 3 deletions
+62
View File
@@ -0,0 +1,62 @@
from app.auth.service import AuthService
from app.backup.service import BackupService
from app.bpm.service import BpmService
from app.core.config import get_settings
from app.dmx.backends import OlaDmxBackend, SimulatorDmxBackend
from app.dmx.engine import DmxEngine
from app.dmx.output_service import DmxOutputService
from app.effects.service import EffectService
from app.fixtures.service import FixtureService
from app.homeassistant.service import HomeAssistantService
from app.live.service import LiveDeskService
from app.midi.service import MidiService
from app.mixitup.service import TriggerService
from app.patch.service import PatchService
from app.scenes.service import SceneService
from app.system.service import SystemControlService
from app.telemetry.service import TelemetryService
class ApplicationState:
def __init__(self) -> None:
settings = get_settings()
self.telemetry = TelemetryService()
backend = (
SimulatorDmxBackend(universe=settings.ola_universe)
if settings.simulator_enabled
else OlaDmxBackend(
universe=settings.ola_universe,
output_port=settings.ola_output_port,
send_timeout_s=settings.ola_send_timeout_ms / 1000,
)
)
self.engine = DmxEngine(self.telemetry, backend=backend)
self.auth = AuthService()
self.fixtures = FixtureService()
self.patch = PatchService()
self.scenes = SceneService(self.engine)
self.bpm = BpmService()
self.effects = EffectService(self.engine, self.bpm)
self.dmx = DmxOutputService(self.engine)
self.home_assistant = HomeAssistantService(self.engine)
self.live = LiveDeskService(self.engine, home_assistant=self.home_assistant)
self.triggers = TriggerService(self.engine, self.effects, self.scenes)
self.midi = MidiService(self.engine, self.scenes, self.effects)
self.backups = BackupService(settings.data_dir, settings.backup_dir)
self.system = SystemControlService()
async def startup(self) -> None:
await self.dmx.startup()
await self.home_assistant.startup()
await self.midi.startup()
await self.bpm.startup()
await self.engine.start()
async def shutdown(self) -> None:
await self.effects.shutdown()
await self.home_assistant.shutdown()
await self.bpm.shutdown()
await self.engine.stop()
app_state = ApplicationState()