Lijstcollecties dragen het logo van de lijst als albumhoes #64

Closed
opened 2026-08-06 11:38:36 +02:00 by roelof · 1 comment
Owner

Dezelfde kwaal als #62, één laag verder. Elke track van een collectie met de vorm flat draagt niet de hoes van zijn plaat maar het logo van de lijst — en niet bij benadering, maar letterlijk hetzelfde bestand op elke track:

collectie tracks verschillende hoezen afmeting
TOP 2000 2000 1 836×836, 206 KB
Arrow Rock 500 500 1 332×336, 34 KB

Geteld over alle 2500 bestanden, geen enkele uitzondering. Het Top 2000-plaatje is de bekende rode banner over een mozaïek van platenhoezen; dat van Arrow Rock is hun eigen logo.

Waarom de albumreparatie hier niets doet

AlbumRepairService overschrijft een bestaande hoes nooit — dat is een uitdrukkelijke regel, en een goede: een bestand dat al een sleeve draagt weet meer dan wij. Alleen is dit géén sleeve. Voor de reparatie zijn deze 2500 bestanden compleet, dus ze bereiken geen enkele stap.

Wat er nu wél kan, dankzij #62

Na de lijstreparatie staan de meeste van deze tracks op een echte albumrij met een release-group id — precies waar fanart.tv zijn hoezen op sleutelt. En omdat een albumrij de plaat ís en over collecties heen loopt, geldt bovendien: waar de Albums-collectie diezelfde plaat al heeft, kan de hoes geleend worden zonder één verzoek. Queen's A Night at the Opera staat er.

Het gereedschap ligt er dus al. Wat ontbreekt is het besef dat deze hoes weg mag.

Voorstel: een gedeelde hoes is geen hoes

Het signaal is goedkoop en eenduidig. Binnen een collectie met de vorm flat:

een afbeelding die op tracks van meer dan één albumrij voorkomt, kan de sleeve van geen van die platen zijn

Dat is met een hash per bestand te bepalen, in dezelfde pas waarin de albumreparatie de bestanden toch al opent. Zo'n plaatje telt dan als afwezig, en de bestaande keten doet de rest: lenen binnen de plaat → MusicBrainz → fanart.tv.

Waarom die regel en niet "in een flat-collectie is de hoes altijd de lijst z'n logo": omdat de tweede aanname fout wordt zodra iemand een lijstcollectie samenstelt uit bestanden die wél hun eigen sleeve dragen. De gedeelde-hash-regel meet het in plaats van het aan te nemen.

Aandachtspunten

  • Volgorde. Dit moet ná de lijstreparatie, want zolang een track op de rij Top 2000 staat is er geen plaat om een hoes voor op te halen.
  • Wat overblijft. De tracks die in #62 hun lijstnaam hielden — het antwoord was een verzamelaar — hebben geen echte albumrij en houden dus ook het logo. Dat is consistent: we weten niet van welke plaat ze zijn.
  • Niet weggooien zonder vervanging. Een bestand mag zijn logo pas kwijtraken als er iets voor in de plaats komt, anders ruilen we een verkeerde hoes in voor geen hoes.
  • MediaService.Choose hoeft niets te weten van dit alles; het blijft een front cover.
Dezelfde kwaal als #62, één laag verder. Elke track van een collectie met de vorm `flat` draagt niet de hoes van zijn plaat maar het **logo van de lijst** — en niet bij benadering, maar letterlijk hetzelfde bestand op elke track: | collectie | tracks | verschillende hoezen | afmeting | |---|---:|---:|---| | TOP 2000 | 2000 | **1** | 836×836, 206 KB | | Arrow Rock 500 | 500 | **1** | 332×336, 34 KB | Geteld over alle 2500 bestanden, geen enkele uitzondering. Het Top 2000-plaatje is de bekende rode banner over een mozaïek van platenhoezen; dat van Arrow Rock is hun eigen logo. ## Waarom de albumreparatie hier niets doet `AlbumRepairService` overschrijft een bestaande hoes nooit — dat is een uitdrukkelijke regel, en een goede: een bestand dat al een sleeve draagt weet meer dan wij. Alleen is dit géén sleeve. Voor de reparatie zijn deze 2500 bestanden compleet, dus ze bereiken geen enkele stap. ## Wat er nu wél kan, dankzij #62 Na de lijstreparatie staan de meeste van deze tracks op een **echte albumrij met een release-group id** — precies waar fanart.tv zijn hoezen op sleutelt. En omdat een albumrij de plaat ís en over collecties heen loopt, geldt bovendien: waar de Albums-collectie diezelfde plaat al heeft, kan de hoes **geleend** worden zonder één verzoek. Queen's *A Night at the Opera* staat er. Het gereedschap ligt er dus al. Wat ontbreekt is het besef dat deze hoes weg mag. ## Voorstel: een gedeelde hoes is geen hoes Het signaal is goedkoop en eenduidig. Binnen een collectie met de vorm `flat`: > een afbeelding die op tracks van **meer dan één albumrij** voorkomt, kan de sleeve van geen van die platen zijn Dat is met een hash per bestand te bepalen, in dezelfde pas waarin de albumreparatie de bestanden toch al opent. Zo'n plaatje telt dan als *afwezig*, en de bestaande keten doet de rest: lenen binnen de plaat → MusicBrainz → fanart.tv. Waarom die regel en niet "in een flat-collectie is de hoes altijd de lijst z'n logo": omdat de tweede aanname fout wordt zodra iemand een lijstcollectie samenstelt uit bestanden die wél hun eigen sleeve dragen. De gedeelde-hash-regel meet het in plaats van het aan te nemen. ## Aandachtspunten - **Volgorde.** Dit moet ná de lijstreparatie, want zolang een track op de rij `Top 2000` staat is er geen plaat om een hoes voor op te halen. - **Wat overblijft.** De tracks die in #62 hun lijstnaam hielden — het antwoord was een verzamelaar — hebben geen echte albumrij en houden dus ook het logo. Dat is consistent: we weten niet van welke plaat ze zijn. - **Niet weggooien zonder vervanging.** Een bestand mag zijn logo pas kwijtraken als er iets voor in de plaats komt, anders ruilen we een verkeerde hoes in voor geen hoes. - **`MediaService.Choose`** hoeft niets te weten van dit alles; het blijft een front cover.
Author
Owner

Opgepakt op branch lijstlogo-en-collectieplaatje — PR #74, samen met het andere van de twee. Ze moesten samen: collections/{id}/image gaf de hoes van de eerste track terug, wat voor een lijst tot nu toe het logo wás.

Sluit bij de merge.

Opgepakt op branch [`lijstlogo-en-collectieplaatje`](https://forgejo.ridderman.nl/KavalirOS/RockHeaven/src/branch/lijstlogo-en-collectieplaatje) — PR #74, samen met het andere van de twee. Ze moesten samen: `collections/{id}/image` gaf de hoes van de eerste track terug, wat voor een lijst tot nu toe het logo wás. Sluit bij de merge.
roelof added reference lijstlogo-en-collectieplaatje 2026-08-06 16:28:59 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
KavalirOS/RockHeaven#64
No description provided.