feat: complete dashboard redesign, proxy unification, and Windows compatibility fixes
This commit is contained in:
205
WINDOWS_AUDIO_SETUP.md
Normal file
205
WINDOWS_AUDIO_SETUP.md
Normal file
@@ -0,0 +1,205 @@
|
||||
# Windows Audio Setup für boWave
|
||||
|
||||
## Übersicht
|
||||
Diese Anleitung ermöglicht es, Audio vom boWave-System auf deinem Windows-PC abzuspielen, während alle virtuellen Boot-Zonen stumm bleiben.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
### 1. Snapcast Client für Windows installieren
|
||||
|
||||
```powershell
|
||||
# Download von GitHub (aktuellste Version)
|
||||
# https://github.com/badaix/snapcast/releases/latest
|
||||
|
||||
# Oder mit Scoop (falls installiert):
|
||||
scoop bucket add extras
|
||||
scoop install snapcast
|
||||
```
|
||||
|
||||
**Manuelle Installation:**
|
||||
1. Gehe zu https://github.com/badaix/snapcast/releases/latest
|
||||
2. Lade `snapclient-<version>-win64.zip` herunter
|
||||
3. Entpacke nach `C:\Program Files\Snapcast\`
|
||||
4. Füge `C:\Program Files\Snapcast\bin` zu deinem PATH hinzu
|
||||
|
||||
## Setup-Schritte
|
||||
|
||||
### Schritt 1: Projekt starten
|
||||
|
||||
```powershell
|
||||
cd D:\coding\boWave
|
||||
make dev
|
||||
```
|
||||
|
||||
Dies startet:
|
||||
- ✅ Snapserver (Multiroom Audio Server) auf Port 1704
|
||||
- ✅ SignalK (NMEA Mock-Daten)
|
||||
- ✅ Mopidy (Musik-Player mit Mock-Playlist)
|
||||
- ✅ Dashboard mit HMR auf http://localhost:8090
|
||||
- ✅ 4 virtuelle Boot-Zonen (Salon, Cockpit, Bug, Heck) - alle stumm (null output)
|
||||
|
||||
### Schritt 2: Windows Audio Client starten
|
||||
|
||||
Öffne ein **neues PowerShell-Fenster** und führe aus:
|
||||
|
||||
```powershell
|
||||
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi
|
||||
```
|
||||
|
||||
**Parameter Erklärung:**
|
||||
- `--host localhost` → verbindet sich mit dem Docker Snapserver
|
||||
- `--port 1704` → Standard Snapcast Port
|
||||
- `--hostID windows-pc` → Eindeutige Zone-ID (wird im Dashboard angezeigt)
|
||||
- `--player wasapi` → Windows Audio Session API (native Windows Audio)
|
||||
|
||||
**Alternative für ältere Windows-Versionen:**
|
||||
```powershell
|
||||
snapclient --host localhost --port 1704 --hostID windows-pc --player winmm
|
||||
```
|
||||
|
||||
### Schritt 3: Audio-Routing konfigurieren
|
||||
|
||||
Öffne das Snapcast Web-Interface: **http://localhost:1780**
|
||||
|
||||
1. Du siehst jetzt 5 Zonen:
|
||||
- zone-salon (stumm)
|
||||
- zone-cockpit (stumm)
|
||||
- zone-bug (stumm)
|
||||
- zone-heck (stumm)
|
||||
- **windows-pc** (dein PC!)
|
||||
|
||||
2. Wähle die Zone **windows-pc** aus
|
||||
3. Setze die Lautstärke auf 50-80%
|
||||
4. Stelle sicher, dass die Zone **nicht** auf mute ist
|
||||
|
||||
3. Wähle den Audio-Stream (z.B. "Mopidy" für lokale Musik)
|
||||
|
||||
### Schritt 4: Musik abspielen
|
||||
|
||||
**Option A: Mopidy Web-Interface**
|
||||
1. Öffne http://localhost:6680/iris/
|
||||
2. Spiele einen Track ab
|
||||
3. Audio sollte jetzt über deine Windows-Lautsprecher kommen!
|
||||
|
||||
**Option B: Spotify Connect (nativ auf Windows)**
|
||||
|
||||
In einem weiteren Terminal:
|
||||
|
||||
```powershell
|
||||
# Librespot für Windows installieren (falls noch nicht vorhanden)
|
||||
# Download: https://github.com/librespot-org/librespot/releases
|
||||
|
||||
librespot --name "Bordanlage-Windows" --backend rodio
|
||||
```
|
||||
|
||||
Dann öffne die Spotify-App und wähle "Bordanlage-Windows" als Ausgabegerät.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### "snapclient: Befehl nicht gefunden"
|
||||
|
||||
```powershell
|
||||
# Prüfe ob Snapcast installiert ist:
|
||||
where.exe snapclient
|
||||
|
||||
# Falls nicht gefunden, füge zum PATH hinzu (als Administrator):
|
||||
$env:Path += ";C:\Program Files\Snapcast\bin"
|
||||
```
|
||||
|
||||
### Kein Audio auf Windows
|
||||
|
||||
1. **Prüfe ob snapclient läuft:**
|
||||
```powershell
|
||||
# In einem separaten Terminal sollte snapclient-Output sichtbar sein
|
||||
```
|
||||
|
||||
2. **Prüfe Snapserver-Logs:**
|
||||
```powershell
|
||||
docker compose -f docker-compose.yml -f docker-compose.dev.yml logs snapserver
|
||||
```
|
||||
|
||||
3. **Prüfe Windows Audio Device:**
|
||||
- Rechtsklick auf Lautsprecher-Icon in Taskleiste
|
||||
- "Sound-Einstellungen öffnen"
|
||||
- Stelle sicher, dass das richtige Ausgabegerät ausgewählt ist
|
||||
|
||||
### Snapclient verbindet nicht
|
||||
|
||||
```powershell
|
||||
# Prüfe ob Port 1704 erreichbar ist:
|
||||
Test-NetConnection -ComputerName localhost -Port 1704
|
||||
|
||||
# Falls Docker Desktop verwendet wird, prüfe:
|
||||
docker ps | findstr snapserver
|
||||
```
|
||||
|
||||
### Audio stottert oder hat Aussetzer
|
||||
|
||||
```powershell
|
||||
# Erhöhe Buffer-Größe:
|
||||
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi --latency 500
|
||||
```
|
||||
|
||||
Der `--latency` Parameter ist in Millisekunden (Standard: 200ms).
|
||||
|
||||
## Permanente Konfiguration
|
||||
|
||||
### Automatischer Start mit Batch-Datei
|
||||
|
||||
Erstelle `start-windows-audio.bat`:
|
||||
|
||||
```batch
|
||||
@echo off
|
||||
echo Starting Snapcast Windows Audio Client...
|
||||
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi --latency 300
|
||||
pause
|
||||
```
|
||||
|
||||
Doppelklick auf die Datei startet den Audio-Client.
|
||||
|
||||
### Windows-Dienst (fortgeschritten)
|
||||
|
||||
Um snapclient als Windows-Dienst zu installieren (läuft automatisch im Hintergrund):
|
||||
|
||||
```powershell
|
||||
# Benötigt: NSSM (Non-Sucking Service Manager)
|
||||
scoop install nssm
|
||||
|
||||
# Dienst erstellen:
|
||||
nssm install SnapcastClient "C:\Program Files\Snapcast\bin\snapclient.exe"
|
||||
nssm set SnapcastClient AppParameters "--host localhost --port 1704 --hostID windows-pc --player wasapi"
|
||||
nssm set SnapcastClient DisplayName "Snapcast Audio Client"
|
||||
nssm set SnapcastClient Start SERVICE_AUTO_START
|
||||
|
||||
# Dienst starten:
|
||||
nssm start SnapcastClient
|
||||
```
|
||||
|
||||
## Make-Target Erweiterung (Optional)
|
||||
|
||||
Für Komfort kannst du ein neues Make-Target hinzufügen:
|
||||
|
||||
```makefile
|
||||
# Im Makefile nach Zeile 52 einfügen:
|
||||
|
||||
windows-audio:
|
||||
@echo "Starting Snapcast client → Windows speakers (zone: windows-pc)"
|
||||
@where snapclient > nul || (echo "Please install Snapcast from https://github.com/badaix/snapcast/releases" && exit 1)
|
||||
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi
|
||||
```
|
||||
|
||||
Dann kannst du einfach `make windows-audio` ausführen.
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
- ✅ **Mock-Daten aktiv**: SignalK sendet realistische NMEA 2000 Boot-Daten
|
||||
- ✅ **4 Boot-Zonen stumm**: Salon/Cockpit/Bug/Heck nutzen null-Player
|
||||
- ✅ **1 PC-Zone mit Audio**: windows-pc nutzt WASAPI für echten Sound
|
||||
- ✅ **Dashboard funktionsfähig**: http://localhost:8090 zeigt alle Zonen
|
||||
- ✅ **Alle Services laufen in Docker**: Nur snapclient läuft nativ für Audio-Output
|
||||
|
||||
**Next Steps:**
|
||||
1. `make dev` starten
|
||||
2. `snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi` in neuem Terminal
|
||||
3. Musik über Mopidy oder Spotify abspielen
|
||||
4. Genießen! 🎵
|
||||
Reference in New Issue
Block a user