Songtext aus Datei-Tags, Warteschlangen-Aktionen, Kategorie-Cover im

Sperrbildschirm und ReplayGain

- DB-Schema 6: lyrics + gain_db
- Songtext bevorzugt lokalen Tag, Server nur als Rueckfall; Song-ID-Bug
  beim Lyrics-Aufruf behoben
- "Als Naechstes spielen" / "Zur Warteschlange hinzufuegen" ohne Eingriff
  in Favoriten oder Wiedergabelisten
- songToMediaItem nimmt eine Cover-Vorgabe: Sperrbildschirm zeigt das
  Kategorie-Cover
- ReplayGain: Tags werden gelesen, laute Titel abgesenkt, abschaltbar

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
This commit is contained in:
2026-08-20 18:41:36 +02:00
co-authored by Claude Opus 5
parent 1325badf90
commit 4ebd0a8dd4
17 changed files with 534 additions and 46 deletions
+31
View File
@@ -5,6 +5,37 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### 🎼 Songtext, Warteschlange, Sperrbildschirm-Cover und gleiche Lautstärke (2026-08-20)
- 📝 **Automatischer Songtext:** Beim Scan wird der Songtext aus dem Tag der
Datei mitgelesen und in der Wiedergabe sofort angezeigt — **ohne Server und
ohne Internet**. Nur wenn die Datei keinen Text enthält, wird der
Navidrome-Server gefragt.
🐛 Nebenbei gefixt: Der Songtext-Knopf hat bisher die Datei-Adresse statt der
Song-ID weitergegeben, dadurch kam vom Server nie ein Text zurück.
- **Warteschlange ohne Nebenwirkungen:** Im ⋮-Menü einer Songzeile gibt es
jetzt **"Als Nächstes spielen"** und **"Zur Warteschlange hinzufügen"** —
beides ändert **nichts** an Favoriten oder Wiedergabelisten und
unterbricht die laufende Wiedergabe nicht. Umgekehrt entfernt das
✕ in der Warteschlange den Titel weiterhin nur dort — er bleibt Favorit
und bleibt in jeder Wiedergabeliste.
- 🖼️ **Sperrbildschirm zeigt dasselbe Bild wie die App:** Läuft ein Titel,
bekommt der Sperrbildschirm jetzt das **Kategorie-Cover** (sofern die
Einstellung "Gleiche Kategorie = gleiches Coverbild" an ist) statt eines
abweichenden Bildes. Auch Wiedergabelisten zeigen jetzt dieses Cover.
- 🔉 **Gleiche Lautstärke (ReplayGain):** Neuer Schalter unter *Einstellungen →
Ton* (standardmäßig an). Melo liest den ReplayGain-Tag der Datei und
**senkt laute Titel ab**, damit alles gleich laut wirkt.
⚠️ **Ehrlich dazugesagt:** Verstärken kann ein Player nicht über 100 %
hinaus — angeglichen wird deshalb immer nach unten. Und es funktioniert
nur bei Dateien, die den Tag mitbringen (typisch FLAC/OGG und mit
ReplayGain versehene MP3s). Dateien ohne Tag bleiben unverändert.
- 🔧 **Details:**
- DB-Schema 6: neue Spalten `lyrics` und `gain_db`.
- Neu: `player/replay_gain.dart` (7 Tests), `playNextIndex` +
`addToQueue`/`playNext` im Audio-Handler (3 Tests),
Cover-Vorgabe in `songToMediaItem` (3 Tests).
-**Getestet:** 154 Tests grün, `flutter analyze` ohne Befund.
### 🎚️ Equalizer, Dolby Atmos und automatische Wiedergabe (2026-08-20)
-**Was:** Die Einstellungen haben einen neuen Bereich **Ton** mit
Equalizer, Dolby Atmos und der automatischen Wiedergabe bei Kopfhörern.