Marker assignment: split po sredini clipa (ne po bližini handle-a)
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.
This commit is contained in:
parent
c58875c072
commit
129f7d5f33
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user