From 129f7d5f3381cb7e02061f5b4b44f1da81a2f9b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastjan=20Arti=C4=8D?= Date: Sat, 2 May 2026 07:02:05 +0000 Subject: [PATCH] =?UTF-8?q?Marker=20assignment:=20split=20po=20sredini=20c?= =?UTF-8?q?lipa=20(ne=20po=20bli=C5=BEini=20handle-a)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User feedback: 'če kliknemo na konec se premika IN, in ne OUT. Če je bližje OUT ko kliknemo, se mora premikati OUT trikotnik — tudi če nismo prej izbrali IN. Če je IN ok potem tega ne delamo.' Pred (bug): distToLeft = |t - trimStart| distToRight = |t - trimEnd| Če enaka razdalja → IN (default '<=') Ko si že popravil IN, distance lahko enaka → klik blizu OUT pomotoma premakne IN Po: center = (trimStart + trimEnd) / 2 if t < center → IN else → OUT Logika: leva polovica clipa = IN domain, desna = OUT domain. Klik kjerkoli blizu desnega handle (= konec) bo VEDNO premaknil OUT. Klik kjerkoli blizu levega handle (= začetek) bo VEDNO premaknil IN. Tudi če si že popravil IN, popravljanje OUT ne bo motilo IN markerja. --- templates/index.html | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/templates/index.html b/templates/index.html index 8289747..1d9e265 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1453,17 +1453,19 @@ const playPauseHandler = (e) => { const isPlayKey = e.code === "Enter" || e.code === "Space"; if (!isPlayKey) return; - // Ne moti če uporabnik tipka v inputu/textarea if (e.target.tagName === "INPUT" || e.target.tagName === "TEXTAREA") return; e.preventDefault(); if (video) { if (video.paused) { // Pred play-em: postavi trikotnik na trenutno pozicijo - // Loči levi/desni glede na bližino handle-jev + // Logika: razdeli prostor po SREDINI clipa + // t < center → IN trikotnik (zelen) + // t > center → OUT trikotnik (rdeč) + // Razlog: če je IN že nastavljen pravilno (60s) in zdaj iščeš + // OUT (klikaš pri 80s blizu desnega handle), naj se premakne OUT. const t = video.currentTime; - const distToLeft = Math.abs(t - trimStart); - const distToRight = Math.abs(t - trimEnd); - if (distToLeft <= distToRight) { + const center = (trimStart + trimEnd) / 2; + if (t < center) { markerInTime = t; } else { markerOutTime = t;