Add the button that runs the picture check
Separate from filming on purpose: a re-film decision wants the audio and picture verdicts together, and an existing film can be checked without paying to shoot it again.
This commit is contained in:
parent
5eb4aac2cc
commit
ac4ece69a5
1 changed files with 729 additions and 1 deletions
730
trailer.html
730
trailer.html
|
|
@ -211,7 +211,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function tick() {
|
function tick() {
|
||||||
var busy = DRAFTS.some(busyDraft) || busyRun() || busyShots() || busyReel();
|
var es = String(PKG.eyes_state || "");
|
||||||
|
var busyEyes = es && es !== "ready" && !/^failed/.test(es)
|
||||||
|
&& (Date.now() - (Date.parse(PKG.eyes_started || "") || 0)) < 20 * 60 * 1000;
|
||||||
|
var busy = DRAFTS.some(busyDraft) || busyRun() || busyShots() || busyReel()
|
||||||
|
|| busyEyes;
|
||||||
if (busy && !timer) timer = setInterval(refresh, 5000);
|
if (busy && !timer) timer = setInterval(refresh, 5000);
|
||||||
if (!busy && timer) { clearInterval(timer); timer = null; }
|
if (!busy && timer) { clearInterval(timer); timer = null; }
|
||||||
}
|
}
|
||||||
|
|
@ -407,6 +411,730 @@
|
||||||
: 'Revise the whole script') + '</button>');
|
: 'Revise the whole script') + '</button>');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (filmed) {
|
||||||
|
var es = String(PKG.eyes_state || "");
|
||||||
|
var looking = es && es !== "ready" && !/^failed/.test(es)
|
||||||
|
&& (Date.now() - (Date.parse(PKG.eyes_started || "") || 0)) < 20 * 60 * 1000;
|
||||||
|
if (looking)
|
||||||
|
out.push('<button type="button" class="btn" disabled>Looking at the '
|
||||||
|
+ 'footage… ' + esc(es) + '</button>');
|
||||||
|
else
|
||||||
|
out.push('<button type="button" class="btn" data-eyes="' + esc(meta.id)
|
||||||
|
+ '" title="Samples frames from every clip and asks what is wrong '
|
||||||
|
+ 'with the picture, then whether it matches the script.">'
|
||||||
|
+ (es === "ready" ? "Check the picture again" : "Check the picture")
|
||||||
|
+ ' ·
|
||||||
|
out.push('<button type="button" class="btn primary" data-film="' + esc(meta.id)
|
||||||
|
+ '">Film ' + (filmed ? 'the ' + unfilmed + ' remaining shots' : 'all ' + shots.length + ' shots')
|
||||||
|
+ ' · $' + (unfilmed * 0.75).toFixed(2) + '</button>');
|
||||||
|
if (filmed)
|
||||||
|
out.push('<button type="button" class="btn primary" data-assemble="' + esc(meta.id)
|
||||||
|
+ '">Make the trailer · ' + filmed + ' of ' + shots.length + ' shots</button>');
|
||||||
|
}
|
||||||
|
return out.join("");
|
||||||
|
}
|
||||||
|
|
||||||
|
// A cut may move shots as well as drop them, which makes it a different
|
||||||
|
// film rather than a shorter one. Worth saying out loud.
|
||||||
|
function reordered(ids) {
|
||||||
|
var a = (ids || []).map(String);
|
||||||
|
var b = a.slice().sort();
|
||||||
|
return a.join(" | ||||||