feat(v5): Titel lesen bis 15 Minuten (einstellbar), Zwischenstand im Dialog, Abbrechen beendet den Lauf
WAS: Die Grenze fürs Titel-Lesen kommt aus der Einstellung titelLesenMinuten (5–60, Vorgabe 15; Einstellungen → Allgemein). Ab der zweiten Minute meldet der Kern jede Minute, wie lange MakeMKV schon liest und wo die Grenze liegt; „Abbrechen" im Dialog beendet den Lauf auch im Kern (titel-abbruch), damit das Laufwerk frei wird. Läuft die Zeit ab, nennt die Meldung Kopierschutz und viele Playlisten als mögliche Gründe statt nur „beschädigte Disc" — mit dem Rat, die Disc im MakeMKV-Programm zu öffnen und die Zeit zu stoppen. WARUM: Durchsicht 12.09.2026, Kandidat 2 (Commander-Entscheid: 15 Minuten plus Regler) — fünf Minuten fest war für ältere DVDs mit Kopierschutz zu kurz, das GUI wartet, Rippy nicht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ae82d8c0fd
commit
6b6e5c3436
@@ -23,7 +23,7 @@ import type {
|
||||
TitelStand,
|
||||
} from '../../gemeinsam/nachrichten'
|
||||
import { DialogRahmen, IconDisc, KNOPF_GOLD, datumKurz, dauerText, gb, gbKurz, posterUrlKlein, sprachenVorbelegt } from '../bausteine'
|
||||
import { metadatenSuchen, ripStarten } from '../kernverbindung'
|
||||
import { metadatenSuchen, ripStarten, titelAbbrechen } from '../kernverbindung'
|
||||
|
||||
/** Sprach-Chips eines Titels — anklickbar, außerhalb des Auswahl-Labels
|
||||
* (ein Knopf IM Label würde die Checkbox mit umschalten). */
|
||||
@@ -181,9 +181,12 @@ export function TitelWahlDialog({
|
||||
<h3 className="font-display text-xl font-bold text-schnee">Was soll gerippt werden?</h3>
|
||||
|
||||
{stand === undefined || stand.laeuft ? (
|
||||
<p className="mt-4 font-mono text-xs text-nebel">
|
||||
Rippy liest die Titel der Disc … das dauert bis zu zwei Minuten. Solange dreht das Laufwerk.
|
||||
</p>
|
||||
<div className="mt-4">
|
||||
<p className="font-mono text-xs text-nebel">Rippy liest die Titel der Disc … meist dauert das ein bis zwei Minuten. Solange dreht das Laufwerk.</p>
|
||||
{/* 5.7.0 (Kandidat 2): Ab der zweiten Minute sagt der Kern, wie lange
|
||||
es schon läuft und wo die Grenze liegt. */}
|
||||
{stand !== undefined && stand.einordnung.length > 0 && <p className="mt-2 font-mono text-xs text-warn">{stand.einordnung}</p>}
|
||||
</div>
|
||||
) : stand.fehler.length > 0 ? (
|
||||
<p className="mt-4 font-mono text-xs text-rot">✗ {stand.fehler}</p>
|
||||
) : (
|
||||
@@ -463,7 +466,15 @@ export function TitelWahlDialog({
|
||||
)}
|
||||
|
||||
<div className="mt-5 flex justify-between gap-2">
|
||||
<button onClick={schliessen} className="rounded-lg border border-tinte/15 px-4 py-1.5 text-xs text-dunst hover:text-schnee">
|
||||
<button
|
||||
onClick={() => {
|
||||
// Läuft der Titel-Lauf noch, beendet „Abbrechen" ihn auch im Kern —
|
||||
// sonst dreht das Laufwerk weiter, obwohl der Dialog zu ist.
|
||||
if (stand !== undefined && stand.laeuft) titelAbbrechen(id)
|
||||
schliessen()
|
||||
}}
|
||||
className="rounded-lg border border-tinte/15 px-4 py-1.5 text-xs text-dunst hover:text-schnee"
|
||||
>
|
||||
Abbrechen
|
||||
</button>
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user