Vorspann und Abspann — erkannt, abgelegt, überspringbar

Beides mit derselben Rechnung, nur in einem anderen Fenster: vorn die
ersten fünfzehn Minuten, hinten die letzten zehn. Was `Tonabgleich`
findet, hängt allein daran, welchen Ausschnitt man ihm gibt — eine
zweite Erkennung für den Abspann wäre dieselbe Suche ein zweites Mal.

Je Staffel verglichen, nicht je Serie: Serien wechseln ihren Vorspann
zwischen Staffeln, und über alle hinweg fände man nichts oder das
Falsche. Gefundenes über fünf Minuten wird verworfen — zwei Folgen, die
dieselbe Datei tragen, teilen vierzig, und darüber stünde sonst ein
Überspringen-Knopf.

Der Lauf geht auf Zuruf, nicht bei jedem Scan: er liest von jeder Folge
ein Stück Ton und dauert Minuten. Der Knopf dafür steht auf der
Serienseite, bei den Verwalterknöpfen.

Die Marken gehen im Folgenvertrag mit — als „intro" und „credits", die
Wörter, die die Apps von Jellyfin her ohnehin kennen. In der App zeichnet
sie der vorhandene Überspringen-Knopf, der bisher nie etwas zu tun
hatte; im Web ist er neu, rechtsbündig über der Zeitleiste.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-12 21:28:36 +02:00
co-authored by Claude Opus 5
parent acba683c94
commit 8cf2118723
17 changed files with 2009 additions and 10 deletions
+18 -1
View File
@@ -2,7 +2,7 @@ import { ApiFehler,
film as filmLaden, serie as serieLaden, folgen,
vorschlaege, zuordnen, bildAdresse, istAdmin, gesehen, favorit, weglegen, serienstimmen,
type Film, type Serie, type Folge, type Datei, type Stand,
type Mitwirkender, type Spur, aehnliche, metadatenAuffrischen, scanstand,
type Mitwirkender, type Spur, aehnliche, metadatenAuffrischen, scanstand, markenSuchen,
} from '../api';
import {
esc, dauer, groesse, knopf, feld, fehlerzeile, leer, anteil, meldung, hinweisZeigen,
@@ -476,6 +476,23 @@ export function detailseite(art: Art, id: string, zurueck: () => void): HTMLElem
}));
}
// **Vorspann und Abspann suchen.**
//
// Nur bei einer Serie: erkannt wird ein Vorspann dadurch, dass er sich
// über die Folgen einer Staffel wiederholt. Ein Film hat nichts, womit
// er sich vergleichen liesse.
//
// Auf Zuruf und nicht von selbst: der Lauf liest von jeder Folge ein
// Stück Ton, und das dauert Minuten. Ihn bei jedem Scan mitlaufen zu
// lassen hiesse, jeden Scan um ein Vielfaches zu verlängern.
if (melden && istAdmin() && art === 'serien') {
reihe.appendChild(rundKnopf('uhr', false, 'Vorspann und Abspann suchen',
async () => {
await markenSuchen(eintrag.id);
hinweisZeigen('Vorspann und Abspann werden gesucht. Das dauert ein paar Minuten.');
}));
}
// **Bearbeiten — und damit die Bilder — von hier aus erreichbar.**
//
// Den Dialog gab es längst, aber nur am Dreipunktmenü einer Kachel und