Positions-Timer ueberlebt stop(); K4 im Review-Bericht richtiggestellt

stop() brach _positionRecordTimer ab. Der Timer entsteht nur einmal im
Konstruktor, war also fuer den Rest der Sitzung weg. Da auch das System
stop() aufruft (Benachrichtigung wegwischen), merkte sich die App danach
keine Hoerposition mehr und scrobbelte nicht — bis zum Neustart und ohne
Hinweis. Der Timer steigt ohnehin selbst aus, solange nichts laeuft;
abgebrochen wird er jetzt nur noch in dispose().

Dazu eine Korrektur am eigenen Review: K4 behauptete, die Alben-Achse sei
verlorengegangen. Sie wurde bewusst durch "Kategorie" ersetzt — der
Album-Name ist in Melo die erste Kategorie eines Titels
(category_list.dart:12, kategorienAusTags). Was wirklich fehlt, ist die
Album-Detailansicht und die Tracknummer, die gar nicht eingelesen wird.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013xAHJTJM6UUqmjUgk1PUEd
This commit is contained in:
Hermes (Server)
2026-08-23 18:51:18 +02:00
co-authored by Claude Opus 5
parent e6d5f1c9ee
commit d15867d962
3 changed files with 64 additions and 16 deletions
@@ -18,8 +18,8 @@ Erklär-Kommentare an genau den Stellen, wo früher Bugs saßen. Das ist deutlic
der Durchschnitt eines Hobby-Projekts.
Als **vollwertige Musik-App im Sinne von Apple Music ist sie es aber noch nicht.** Es fehlen
nicht Details, sondern drei tragende Säulen: **Alben als Browse-Achse**, **echtes Offline-
Management** und **Cover-Art für Server-Titel**. Dazu kommen zwei stille Fehler, die man
nicht Details, sondern drei tragende Säulen: **die Album-Detailansicht** (siehe die Korrektur
unter K4), **echtes Offline-Management** und **Cover-Art für Server-Titel**. Dazu kommen zwei stille Fehler, die man
der App nicht ansieht: der Offline-Schalter tut nichts, und ohne `POST_NOTIFICATIONS`
erscheint auf Android 13+ keine Wiedergabe-Benachrichtigung.
@@ -89,23 +89,41 @@ bleibt.
---
### K4 — Alben fehlen als Browse-Achse
**Ort:** `lib/library/song_grouping.dart` · `lib/library/my_music_screen.dart:88`
### K4 — ~~Alben fehlen als Browse-Achse~~ → **korrigiert: Album-Detailansicht fehlt**
**Ort:** `lib/library/category_list.dart:12` · `lib/library/categories.dart:26`
**Kategorie:** Funktionsumfang
`Songs.album` ist eine Textspalte, aber es gibt weder eine Alben-Liste noch einen
Album-Detail-Screen. `song_grouping.dart` kann nur `groupByArtist`. Die Unterreiter
heißen **Lieder / Kategorie / Künstler** — im Referenz-Screenshot
(`ui-referenz/bugs/img_2d5761551808.jpg`, das ist Melo selbst) stand dort noch
**Songs / Künstler / Alben**. Die Achse ist also verlorengegangen.
> **Korrektur vom 2026-08-23 (nach der P0-Runde).** Die ursprüngliche Fassung
> dieses Punktes war falsch. Sie behauptete, die Alben-Achse sei
> „verlorengegangen". Sie wurde **bewusst ersetzt**: `category_list.dart`
> dokumentiert das im Klassenkommentar, und `kategorienAusTags` setzt den
> Album-Namen beim Scan als **erste Kategorie** jedes Titels. Der Reiter
> „Kategorie" *ist* der Alben-Reiter — nur allgemeiner, weil ein Titel
> mehreren Kategorien angehören darf. Der Fehler entstand, weil nur
> `song_grouping.dart` und `my_music_screen.dart` gelesen wurden.
**Wirkung:** Album ist neben Playlist die wichtigste Einheit, in der Menschen Musik
denken. Ohne sie ist "Bibliothek" eine flache Titelliste — brauchbar bei 200 Titeln,
unbrauchbar bei 5.000.
**Was wirklich fehlt**, ist nicht die Achse, sondern die **Ansicht eines
Albums als Album**:
1. **Kein Album-Kopf.** `_KategorieLiederScreen` ist eine `AppBar` über einer
Titelliste. Es fehlen großes Cover, Künstler, Jahr, Titelzahl,
Gesamtdauer und ein „Abspielen / Zufällig"-Paar. Bei Apple Music trägt
genau dieser Kopf die Identität eines Albums.
2. **Falsche Reihenfolge.** Innerhalb einer Kategorie wird nach Titel
sortiert. Ein Album gehört in **Tracknummer-Reihenfolge** — sonst beginnt
jedes Konzeptalbum mit dem Lied, das alphabetisch vorn steht.
3. **Die Tracknummer wird gar nicht gelesen.** Verifiziert: weder `Songs` noch
der Scan kennen `trackNumber`. Punkt 2 braucht also zuerst eine
Schema-Erweiterung plus Auslesen des Tags.
4. **Kein Weg vom Künstler zu seinen Alben.** `_ArtistSongsScreen` zeigt alle
Titel flach.
**Empfehlung (ersetzt die alte):** Keinen vierten Reiter bauen — der würde
denselben Bestand doppelt zeigen. Stattdessen `_KategorieLiederScreen` zu
einem richtigen Detail-Screen ausbauen und die Tracknummer nachrüsten. Der
Aufwand liegt damit **nicht** bei „ein Reiter wie der Künstler-Reiter",
sondern bei Schema-Migration + Scan + Screen.
**Empfehlung:** `groupByAlbum` (analog zu `groupByArtist`, existierende `_groupBy`-
Hilfsfunktion nutzt man mit), vierter Unterreiter, Album-Screen mit großem Cover,
Künstler, Jahr, Titelzahl, Gesamtdauer und "Abspielen / Zufällig".
---