luv

Workshop wiki

film.lisp

luvcraft/film.lisp

system luvcraft/core · 1 definition · on GitHub

Films of luvcraft sessions through luv's shared application capture.

A film never touches the swapchain. The shared capture transaction owns its offscreen target, readback, submission, video writer, pacing, and cleanup; the Luvcraft methods in CAPTURE.LISP own readiness and frame meaning.

Overlay animation (fireworks, gnomes, the marquee) advances by wall clock at each rendered frame, so a film loop paced against real time records the same motion a viewer would see, whether or not the session's own frame loop is running or its window is visible.

in-package#:luvcraft
defunfilm-luvcraft-session
sessionpathname&key
seconds8
frame-rate30
before-frame
include-hud-pt
include-viewmodel-pt

Film session for seconds of real time into an MP4 at pathname.

Frames are captured at frame-rate, paced against the wall clock so that overlay animation driven by real time plays at its true speed. before-frame, when given, is called with the frame index before each capture, and is the place to move the camera. include-hud-p and include-viewmodel-p choose the same compositing layers as a still capture. Returns pathname and the frame count.

luv:capture-application-filmsessionpathname:secondsseconds:frame-rateframe-rate:before-framebefore-frame:label"luvcraft film":options
list:include-hud-pinclude-hud-p:include-viewmodel-pinclude-viewmodel-p