mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 01:22:13 -06:00
bbox: video seek / loop url params
This commit is contained in:
parent
48564ba52a
commit
7a35ab1d1e
|
@ -39,6 +39,7 @@ window.baguetteBox = (function () {
|
||||||
vnext = sread('vmode') == 'C',
|
vnext = sread('vmode') == 'C',
|
||||||
loopA = null,
|
loopA = null,
|
||||||
loopB = null,
|
loopB = null,
|
||||||
|
url_ts = null,
|
||||||
resume_mp = false;
|
resume_mp = false;
|
||||||
|
|
||||||
var onFSC = function (e) {
|
var onFSC = function (e) {
|
||||||
|
@ -555,9 +556,10 @@ window.baguetteBox = (function () {
|
||||||
options.afterShow();
|
options.afterShow();
|
||||||
}, 50);
|
}, 50);
|
||||||
|
|
||||||
if (options.onChange)
|
if (options.onChange && !url_ts)
|
||||||
options.onChange(currentIndex, imagesElements.length);
|
options.onChange(currentIndex, imagesElements.length);
|
||||||
|
|
||||||
|
url_ts = null;
|
||||||
documentLastFocus = document.activeElement;
|
documentLastFocus = document.activeElement;
|
||||||
btnClose.focus();
|
btnClose.focus();
|
||||||
isOverlayVisible = true;
|
isOverlayVisible = true;
|
||||||
|
@ -852,10 +854,13 @@ window.baguetteBox = (function () {
|
||||||
var t = v.currentTime;
|
var t = v.currentTime;
|
||||||
if (side == 1) loopA = t;
|
if (side == 1) loopA = t;
|
||||||
if (side == 2) loopB = t;
|
if (side == 2) loopB = t;
|
||||||
toast.inf(5, 'Loop' + (side == 1 ? 'A' : 'B') + ': ' + f2f(t, 2));
|
if (side)
|
||||||
|
toast.inf(5, 'Loop' + (side == 1 ? 'A' : 'B') + ': ' + f2f(t, 2));
|
||||||
|
|
||||||
if (loopB !== null)
|
if (loopB !== null) {
|
||||||
timer.add(loopchk);
|
timer.add(loopchk);
|
||||||
|
sethash(window.location.hash.slice(1).split('&')[0] + '&t=' + (loopA || 0) + '-' + loopB);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function loopchk() {
|
function loopchk() {
|
||||||
|
@ -869,6 +874,10 @@ window.baguetteBox = (function () {
|
||||||
v.currentTime = loopA || 0;
|
v.currentTime = loopA || 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function urltime(txt) {
|
||||||
|
url_ts = txt;
|
||||||
|
}
|
||||||
|
|
||||||
function mp_ctl() {
|
function mp_ctl() {
|
||||||
var v = vid();
|
var v = vid();
|
||||||
if (!vmute && v && mp.au && !mp.au.paused) {
|
if (!vmute && v && mp.au && !mp.au.paused) {
|
||||||
|
@ -911,6 +920,15 @@ window.baguetteBox = (function () {
|
||||||
playvid(true);
|
playvid(true);
|
||||||
v.muted = vmute;
|
v.muted = vmute;
|
||||||
v.loop = vloop;
|
v.loop = vloop;
|
||||||
|
if (url_ts) {
|
||||||
|
var seek = ('' + url_ts).split('-');
|
||||||
|
v.currentTime = seek[0];
|
||||||
|
if (seek.length > 1) {
|
||||||
|
loopA = parseFloat(seek[0]);
|
||||||
|
loopB = parseFloat(seek[1]);
|
||||||
|
setloop();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
selbg();
|
selbg();
|
||||||
mp_ctl();
|
mp_ctl();
|
||||||
|
@ -986,6 +1004,7 @@ window.baguetteBox = (function () {
|
||||||
showNext: showNextImage,
|
showNext: showNextImage,
|
||||||
showPrevious: showPreviousImage,
|
showPrevious: showPreviousImage,
|
||||||
relseek: relseek,
|
relseek: relseek,
|
||||||
|
urltime: urltime,
|
||||||
playpause: playpause,
|
playpause: playpause,
|
||||||
hide: hideOverlay,
|
hide: hideOverlay,
|
||||||
destroy: destroyPlugin
|
destroy: destroyPlugin
|
||||||
|
|
|
@ -2323,9 +2323,13 @@ function scan_hash(v) {
|
||||||
ts = null;
|
ts = null;
|
||||||
|
|
||||||
if (m.length > 3) {
|
if (m.length > 3) {
|
||||||
m = /^&[Tt=0]*([0-9]+[Mm:])?0*([0-9]+)[Ss]?$/.exec(m[3]);
|
var tm = /^&[Tt=0]*([0-9]+[Mm:])?0*([0-9]+)[Ss]?$/.exec(m[3]);
|
||||||
if (m) {
|
if (tm) {
|
||||||
ts = parseInt(m[1] || 0) * 60 + parseInt(m[2] || 0);
|
ts = parseInt(tm[1] || 0) * 60 + parseInt(tm[2] || 0);
|
||||||
|
}
|
||||||
|
tm = /^&[Tt=0]*([0-9\.]+)-([0-9\.]+)$/.exec(m[3]);
|
||||||
|
if (tm) {
|
||||||
|
ts = '' + tm[1] + '-' + tm[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2361,6 +2365,7 @@ function eval_hash() {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
clearInterval(t);
|
clearInterval(t);
|
||||||
|
baguetteBox.urltime(ts);
|
||||||
var im = QS('#ggrid a[ref="' + id + '"]');
|
var im = QS('#ggrid a[ref="' + id + '"]');
|
||||||
im.click();
|
im.click();
|
||||||
im.scrollIntoView();
|
im.scrollIntoView();
|
||||||
|
|
Loading…
Reference in a new issue