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
+20
View File
@@ -0,0 +1,20 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:melo/player/audio_handler.dart';
void main() {
group('playNextIndex', () {
test('fügt direkt hinter dem laufenden Titel ein', () {
expect(playNextIndex(currentIndex: 0, queueLength: 3), 1);
expect(playNextIndex(currentIndex: 2, queueLength: 5), 3);
});
test('hängt ans Ende, wenn der letzte Titel läuft', () {
expect(playNextIndex(currentIndex: 2, queueLength: 3), 3);
});
test('hängt ans Ende, wenn nichts läuft', () {
expect(playNextIndex(currentIndex: null, queueLength: 4), 4);
expect(playNextIndex(currentIndex: null, queueLength: 0), 0);
});
});
}