Film a screenplay you already have

This commit is contained in:
gator 2026-09-20 15:17:49 +00:00
parent cf1b120bcf
commit 10073bb26f

View file

@ -106,6 +106,20 @@
</div>
</section>
<section>
<div class="card">
<h2 class="sec">Or film a screenplay you already have</h2>
<div class="field">
<span class="hint">Paste a screenplay for a chapter or a scene, in the usual layout: scene headings that start INT. or EXT., a character&rsquo;s name in capitals on its own line, and what they say underneath. It is broken into camera shots with <strong>every spoken word kept exactly as written</strong> &mdash; the page will tell you if even one word differs. Pick the book above first. About $2 to break down a chapter; pictures and filming are priced afterwards.</span>
<textarea id="screenplay" rows="10" style="width:100%;font-family:ui-monospace,Consolas,monospace;font-size:13px" placeholder="INT. KAREN&rsquo;S KITCHEN - NIGHT&#10;&#10;Karen stands with the phone to her ear.&#10;&#10;KAREN&#10;Hi, Daddy. It&rsquo;s Karen. How are you doing?"></textarea>
</div>
<div class="field">
<label class="tiny"><input type="checkbox" id="reusecast" checked> Use the faces and voices already made for this book, so the same people look and sound the same</label><br>
<button type="button" class="btn primary" id="goscreenplay" style="margin-top:8px">Turn it into shots</button>
</div>
</div>
</section>
</div>
<script src="/assets/app.js"></script>
@ -401,6 +415,18 @@ function readFileB64(file) {
location.href = "/trailer.html?run=" + encodeURIComponent(r.run.id);
});
document.getElementById("goscreenplay").addEventListener("click", async function () {
var btn = this, text = document.getElementById("screenplay").value;
if (!PICKED) { showMsg("msg", "Pick a manuscript first."); window.scrollTo(0, 0); return; }
if (text.trim().length < 200) { showMsg("msg", "Paste the screenplay first."); window.scrollTo(0, 0); return; }
btn.disabled = true; btn.textContent = "Starting…";
var r = await api("import_screenplay", { book_id: PICKED, screenplay: text,
reuse_cast: document.getElementById("reusecast").checked });
if (!r.ok) { btn.disabled = false; btn.textContent = "Turn it into shots";
showMsg("msg", r.error || "That did not start."); window.scrollTo(0, 0); return; }
location.href = "/trailer.html?run=" + encodeURIComponent(r.run.id);
});
loadBooks();
loadRuns();
})();