diff --git a/beweise/ui-einstellungen-neu.png b/beweise/ui-einstellungen-neu.png new file mode 100644 index 0000000..a8e55ec Binary files /dev/null and b/beweise/ui-einstellungen-neu.png differ diff --git a/rippy-windows/package.json b/rippy-windows/package.json index d82f3b8..fd92739 100644 --- a/rippy-windows/package.json +++ b/rippy-windows/package.json @@ -1,7 +1,7 @@ { "name": "rippy", "productName": "Rippy", - "version": "5.0.0-w0", + "version": "5.1.0", "description": "Rippy v5 — Disc-Ripping als eigenständiges Windows-Programm (KONZEPT-WINDOWS.md)", "main": "out/haupt/index.js", "author": "KrBrZ", diff --git a/rippy-windows/src/fenster/App.tsx b/rippy-windows/src/fenster/App.tsx index b27bafa..7fcea57 100644 --- a/rippy-windows/src/fenster/App.tsx +++ b/rippy-windows/src/fenster/App.tsx @@ -609,6 +609,59 @@ function Kicker({ text }: { text: string }) { return
{intro}
+0 ? 'text-gruen' : pflicht ? 'text-rot' : 'text-warn'}`}> + {name}: {pfad === null ? 'wird gesucht …' : pfad.length > 0 ? pfad : fehlt} +
+So legt Rippy ab:
+├─ Filme\Akira (1988)\ — Film, Poster und Infodatei beieinander
+├─ Musik\ — Audio-CDs als FLAC, benannt nach MusicBrainz
+├─ ISO\ — unerkannte Discs als 1:1-Abbild
+└─ roh\ — Arbeitsstand während des Rips, räumt sich selbst auf
+- Selbst-Update: {haupt.update.text} - {haupt.update.letzteErfolgreichePruefung.length > 0 && - ` · letzte erfolgreiche Prüfung: ${haupt.update.letzteErfolgreichePruefung.slice(0, 16).replace('T', ' ')}`} -
- )} -0 ? 'text-gruen' : 'text-rot'}> - makemkvcon: {verbindung.werkzeuge === null ? 'wird gesucht …' : verbindung.werkzeuge.makemkvcon || 'NICHT GEFUNDEN — MakeMKV installieren'} -
-0 ? 'text-gruen' : 'text-warn'}> - HandBrakeCLI: {verbindung.werkzeuge === null ? 'wird gesucht …' : verbindung.werkzeuge.handbrake || 'nicht gefunden — Rippen geht, Kompression nicht'} -
-0 ? 'text-gruen' : 'text-warn'}> - flac: {verbindung.werkzeuge === null ? 'wird gesucht …' : verbindung.werkzeuge.flac || 'nicht gefunden — nur für Audio-CDs nötig'} -
- {verbindung.werkzeuge !== null && verbindung.werkzeuge.backends.length > 0 && ( -Encoder: {verbindung.werkzeuge.backends.join(', ')}
+⚠ HandBrakeCLI fehlt — Rippen geht, Komprimieren nicht (siehe Werkzeuge).
)} -+ „automatisch" nimmt die Empfehlung aus der gemessenen Liste deines HandBrake — auf dieser Maschine + die Grafikkarte, wo es sie gibt. Eine eigene Wahl schlägt die Empfehlung immer. +
+
+ www.themoviedb.org → Einstellungen → API
+
+ www.omdbapi.com/apikey.aspx
+
+ Ohne Schlüssel rippt Rippy trotzdem — die Filme heißen dann wie das Disc-Label, und „Ändern …" + an der Laufwerks-Kachel bleibt ohne Suche. +
++ + + {s.angenommen === true ? 'SCHLÜSSEL ANGENOMMEN' : s.weiterBetrieb ? 'BETA-MODUS — RIPS LAUFEN' : 'AUSFALL'} + + {s.version.length > 0 && MakeMKV {s.version}} +
+{s.text}
++ zuletzt geprüft: {s.geholtAm.slice(0, 16).replace('T', ' ')} + {s.gueltigBis.length > 0 && ` · Key gültig bis ${s.gueltigBis}`} +
++ {b.text} +
+ )} ++ Bei Plex benennt Rippy nur nach dessen Regeln — angestoßen wird dort nichts. Die Ordnerstruktur + aus „Ablage" passt für alle vier. +
+Selbst-Update: {haupt.update.text}
+ {haupt.update.letzteErfolgreichePruefung.length > 0 && ( +letzte erfolgreiche Prüfung: {haupt.update.letzteErfolgreichePruefung.slice(0, 16).replace('T', ' ')}
+ )} ++ Rippy v{haupt.version} + {verbindung.kern !== null && ` · Kern: Node ${verbindung.kern.nodeVersion} (PID ${verbindung.kern.pid})`} +
+Updates warten, solange ein Rip läuft — nie mitten im Vorgang.
++ HandBrake gemessen: {verbindung.werkzeuge.presets.length} Presets · Encoder:{' '} + {backends.length > 0 ? backends.join(', ') : '—'} +
+ )} +