STROGI marker boundaries: zelen samo levo od center, rdeč samo desno
User: 'še vedno mi skače zeleni trikotnik na konec! Naredi da ne gre čez polovico ne en ne drug' Bug analiza: prej Math.min(t, center - 0.1) NI bilo, samo direktna assignment. Če bi user nekje napačno klikal, ali če je drag handle-a spremenil center, marker je pristal na napačni strani. Strogo zdaj: - markerInTime = Math.min(t, center - 0.1) → zelen NIKOLI čez center - markerOutTime = Math.max(t, center + 0.1) → rdeč NIKOLI čez center Plus: po drag-u handle-ja se markerji preverijo: - Če je markerIn na desni strani novega centra → reset na trimStart - Če je markerOut na levi strani novega centra → reset na trimEnd Plus console.log za debug — vidiš v Dev Tools kateri vrednosti uporabljam.
This commit is contained in:
parent
bdc1d14498
commit
40151f8f57
@ -1395,7 +1395,12 @@
|
|||||||
trimEnd = t;
|
trimEnd = t;
|
||||||
if (video) video.currentTime = t;
|
if (video) video.currentTime = t;
|
||||||
}
|
}
|
||||||
|
// Sync markerji da ne ostanejo na napačni strani (čez center)
|
||||||
|
const center = (trimStart + trimEnd) / 2;
|
||||||
|
if (markerInTime > center - 0.1) markerInTime = trimStart;
|
||||||
|
if (markerOutTime < center + 0.1) markerOutTime = trimEnd;
|
||||||
renderTrim();
|
renderTrim();
|
||||||
|
renderMarkers();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPointerUp() {
|
function onPointerUp() {
|
||||||
@ -1478,19 +1483,20 @@
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (video) {
|
if (video) {
|
||||||
if (video.paused) {
|
if (video.paused) {
|
||||||
// Pred play-em: postavi trikotnik na trenutno pozicijo
|
// STROGO: zelen IN samo v LEVI polovici, rdeč OUT samo v DESNI polovici
|
||||||
// Logika: razdeli prostor po SREDINI clipa
|
// Klik LEVO od center + Enter → IN (zelen)
|
||||||
// t < center → IN trikotnik (zelen)
|
// Klik DESNO od center + Enter → OUT (rdeč)
|
||||||
// t > center → OUT trikotnik (rdeč)
|
// Klik točno NA centru → OUT (default)
|
||||||
// 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 t = video.currentTime;
|
||||||
const center = (trimStart + trimEnd) / 2;
|
const center = (trimStart + trimEnd) / 2;
|
||||||
if (t < center) {
|
if (t < center) {
|
||||||
markerInTime = t;
|
// Postavi IN, ampak strogo omeji: ne sme čez center
|
||||||
|
markerInTime = Math.min(t, center - 0.1);
|
||||||
} else {
|
} else {
|
||||||
markerOutTime = t;
|
// Postavi OUT, ampak strogo omeji: ne sme čez center
|
||||||
|
markerOutTime = Math.max(t, center + 0.1);
|
||||||
}
|
}
|
||||||
|
console.log("[Marker]", { t, center, trimStart, trimEnd, markerInTime, markerOutTime });
|
||||||
renderMarkers();
|
renderMarkers();
|
||||||
video.play().catch(() => {});
|
video.play().catch(() => {});
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user