Update docs for EAN-first workflow and genre field

- README: mention EAN-first auto-rip in quickstart
- BEDIENUNGSANLEITUNG: rewrite workflow diagram and interactive example
  for EAN-first flow (auto-rip on MB hit, fallback on miss), document
  genre field in album.json, update multi-disc and tips sections

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-02-19 00:25:08 +01:00
commit 6c12510f76
2 changed files with 63 additions and 31 deletions

View file

@ -54,28 +54,30 @@ musiksammlung --help
## 3. Workflow-Überblick
```
CD einlegen
musiksammlung rip
musiksammlung rip ← CDs rippen, CDDB-Lookup, Dateien benennen
│ (optional: EAN-Abfrage → MusicBrainz)
temp/Album/
CD1/
track01.flac ← kein CDDB-Treffer
track02.flac
album.json ← automatisch erzeugt (CDDB oder MusicBrainz)
EAN/Barcode eingeben (Enter = überspringen)
├─ album.json bereits vorhanden (CDDB/MusicBrainz)?
│ ja → direkt weiter mit musiksammlung apply
├─ MusicBrainz-Treffer → Auto-Rip
│ Zeige: Artist Album (Year), N Discs, M Tracks
│ Für jede Disc: "CD 1/3 einlegen, Enter" → Rip → Rename
│ album.json automatisch aus MusicBrainz-Daten
│ → direkt weiter mit musiksammlung apply
└─ nein → album.json manuell erzeugen (eine Variante wählen):
A: musiksammlung scan --from-text trackliste.txt
B: musiksammlung scan back.jpg
C: musiksammlung scan back.jpg --vision
D: musiksammlung scan --barcode 0602557360561
→ album.json prüfen/korrigieren
→ musiksammlung apply
└─ Kein Treffer / EAN leer → Fallback
Albumname eingeben → CD-Nummer → Rip → CDDB-Confirm
album.json aus CDDB-Daten (falls bestätigt)
├─ album.json vorhanden?
│ ja → direkt weiter mit musiksammlung apply
└─ nein → album.json manuell erzeugen:
A: musiksammlung scan --from-text trackliste.txt
B: musiksammlung scan back.jpg
C: musiksammlung scan back.jpg --vision
D: musiksammlung scan --barcode 0602557360561
→ album.json prüfen/korrigieren
musiksammlung apply ← Umbenennen, Tags, Cover, Playlist
@ -97,7 +99,7 @@ musiksammlung apply ← Umbenennen, Tags, Cover, Playlist
musiksammlung rip
```
Das Programm fragt interaktiv nach Album-Name und CD-Nummer, startet `abcde` und benennt die Tracks automatisch (wenn CDDB Daten liefert).
Das Programm fragt zuerst nach dem EAN/Barcode. Bei einem MusicBrainz-Treffer startet ein automatischer Rip-Vorgang für alle Discs des Albums. Ohne EAN oder bei Fehltreffer wird der manuelle Ablauf gestartet (Album-Name, CD-Nummer, CDDB-Bestätigung).
### Wichtige Optionen
@ -119,12 +121,37 @@ musiksammlung rip -f flac -q high -j 0 -P -o ~/rip
### Interaktiver Ablauf
**Mit EAN (Auto-Rip):**
```
--- Album 1 ---
Album name (Enter = CDDB name / default 'Album1'): Beethoven Sinfonien
EAN/Barcode für MusicBrainz (Enter = überspringen): 028943753227
EAN/Barcode (Enter = überspringen): 028943753227
MusicBrainz-Suche nach Barcode 028943753227 ...
✓ Herbert von Karajan Beethoven: 9 Symphonies (1963, 50 Tracks)
✓ Herbert von Karajan Beethoven: 9 Symphonies (1963, 5 Disc(s), 50 Tracks)
CD 1/5 einlegen und Enter drücken (9 Tracks) ...
Ripping to: temp/Beethoven__9_Symphonies/CD1
--------------------------------------------------
Track 1/9 Allegro con brio
[████████████████░░░░░░░░░░░░░░] 54.3% 18.2 MB
...
Umbenennen (CDDB-Daten) ...
CD 2/5 einlegen und Enter drücken (4 Tracks) ...
...
album.json gespeichert: temp/Beethoven__9_Symphonies/album.json
Next album? (y/n): n
```
**Ohne EAN (Fallback):**
```
--- Album 1 ---
EAN/Barcode (Enter = überspringen):
Album name (Enter = CDDB name / default 'Album1'): Beethoven Sinfonien
Album: Beethoven Sinfonien
CD Drive: /dev/cdrom
@ -135,13 +162,14 @@ EAN/Barcode für MusicBrainz (Enter = überspringen): 028943753227
Track 1/4 Allegro con brio
[████████████████░░░░░░░░░░░░░░] 54.3% 18.2 MB
...
✓ Done — 4 tracks
CDDB-Treffer: 'Karajan / Beethoven Sinfonien' — 4 Tracks:
1. Allegro con brio [Karajan]
2. Andante con moto [Karajan]
Next CD for this album? (y/n): y
CD number [1]: 2
...
Treffer korrekt? (j/n) [j]: j
Umbenennen ...
Next CD for this album? (y/n): n
Next album? (y/n): n
```
@ -219,7 +247,7 @@ Die EAN lässt sich auch mit einem Barcode-Scanner oder einer Smartphone-App abl
MusicBrainz liefert bei einem Treffer: Interpret, Albumtitel, Erscheinungsjahr und vollständige Trackliste. Kein API-Schlüssel erforderlich.
Alternativ kann die EAN auch während des interaktiven Rippens eingegeben werden (Abfrage „EAN/Barcode für MusicBrainz"). Das Ergebnis wird dann direkt als `album.json` gespeichert.
Beim interaktiven Rip-Befehl (`musiksammlung rip`) wird die EAN als erstes abgefragt. Bei einem MusicBrainz-Treffer startet automatisch der Rip-Vorgang für alle Discs — kein Albumname, keine CDDB-Bestätigung nötig. Das `album.json` wird direkt aus den MusicBrainz-Daten gespeichert.
### album.json prüfen und bearbeiten
@ -242,6 +270,7 @@ In diesem Fall `album.json` manuell ergänzen, dann `apply` erneut aufrufen.
"artist": "Karajan",
"album": "Beethoven Sinfonien",
"year": 1963,
"genre": "Classical",
"discs": [
{
"disc_number": 1,
@ -254,6 +283,8 @@ In diesem Fall `album.json` manuell ergänzen, dann `apply` erneut aufrufen.
}
```
Das Feld `"genre"` ist **optional** und wird automatisch befüllt, wenn GnuDB ein DGENRE liefert.
Das Feld `"artist"` auf Track-Ebene ist **optional**. Wird es gesetzt, überschreibt es den Album-Künstler für diesen Track — sinnvoll bei Samplern oder Klassik mit verschiedenen Solisten:
```json
@ -395,8 +426,8 @@ musiksammlung process temp/Album/CD1 ~/Musik --back back.jpg
**EAN/Barcode verfügbar? → Schnellster Weg**
- EAN-13 oder UPC-12 von der CD-Hülle ablesen (ggf. Barcode-Scanner-App nutzen)
- `musiksammlung scan --barcode 0602557360561 -o album.json`
- Oder beim `rip`-Befehl die EAN-Abfrage verwenden — dann wird `album.json` direkt gespeichert
- Beim `rip`-Befehl wird die EAN als erstes abgefragt — bei MusicBrainz-Treffer startet der Auto-Rip sofort (keine weiteren Fragen)
- Alternativ: `musiksammlung scan --barcode 0602557360561 -o album.json`
- Kein Bild, kein OCR, kein lokales LLM notwendig
**CDDB-Lookup schlägt fehl?**
@ -414,7 +445,8 @@ musiksammlung process temp/Album/CD1 ~/Musik --back back.jpg
- Vision-LLM verwenden: `--vision --vision-model qwen3-vl:235b-cloud`
**Mehrere CDs eines Albums (Multi-Disc)?**
- Bei der Abfrage "Next CD for this album?" mit `y` antworten
- Bei EAN-Treffer: MusicBrainz kennt die Disc-Anzahl, der Auto-Rip fordert automatisch jede CD an
- Ohne EAN: Bei der Abfrage "Next CD for this album?" mit `y` antworten
- Jede CD erhält ein eigenes Unterverzeichnis `CD1`, `CD2`, ...
- `apply` einmal mit dem Album-Verzeichnis aufrufen (nicht pro CD)