1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
var curframe=-1;
var mode=0;
var base_url="/";
function show(foo) {
document.getElementById(foo).style.display = "block";
}
function hide(foo) {
document.getElementById(foo).style.display = "none";
}
function updateText (elemid, val) {
var tn = document.createTextNode(val);
document.getElementById(elemid).replaceChild(tn, document.getElementById(elemid).firstChild);
}
function PadDigits(n, totalDigits) {
n = n.toString();
var pd = '';
if (totalDigits > n.length) {
for (i=0; i < (totalDigits-n.length); i++) { pd += '0'; }
}
return pd + n.toString();
}
function settc(f) {
var fpsi = Math.ceil(fps);
var hour,min,sec,frame, s;
if (Math.floor(fps * 100) == 2997) {
var D = Math.floor(f / 17982);
var M = f % 17982;
var n = f + 18 * D + 2 * Math.floor((M - 2) / 1798);
s = Math.floor(n/30);
frame = Math.floor(n%30);
} else {
s = Math.floor(f/fpsi);
frame = f%fpsi;
}
hour = Math.floor(s/3600);
min = Math.floor(s/60)%60;
sec = Math.floor(s%60);
updateText('frame', PadDigits(frame, 2));
updateText('sec', PadDigits(sec, 2));
updateText('min', PadDigits(min, 2));
updateText('hour', PadDigits(hour, 2));
}
function seek(i, f) {
if (curframe == f) return;
curframe = f;
document.getElementById('sframe').src=base_url+'?file='+i+'&frame='+f+'&w=-1&h=300&format=jpeg60';
}
function setslider(frame) {
var val = 1 + Math.round(500.0 * frame / lastframe);
if (val < 1 || val > 501) return;
document.getElementById('knob').style.width = val+'px';
}
function movestep(e) {
var mouse_x = e.clientX;
var xoff = document.getElementById('slider').offsetLeft;
var spos = mouse_x - xoff;
if (mode == 1) {
spos = Math.floor(spos/5) * 5;
}
if (spos < 0 ) spos = 0;
if (spos > 500 ) spos = 500;
var frame = Math.round(spos * lastframe / 500.0);
if (frame == curframe) return;
setslider(frame);
settc(frame);
seek(fileid, frame);
}
function smode(m) {
if (m == 1) {
hide('stepper_setup');
show('stepper_active');
mode = 1;
document.getElementById('slider').onmousemove = movestep;
} else {
show('stepper_setup');
hide('stepper_active');
mode = 0;
document.getElementById('slider').onmousemove = null;
}
}
|