lines
What the Old Henter says, and the recordings of her saying it.
game.audio.lines
What the Old Henter says, and the recordings of her saying it.
local Lines = require("game.audio.lines")
local l = Lines.get("open1")
-- { id, speaker, text, seconds, clip }
The narrator is the grandmother who taught the trade. She is heard, never
seen. Six lines: open1, open2 over the opening; firstbutt the first time
a hoggy knocks the lantern; firstlight when the sun clears the cairn; win
and lose on the verdict. Lines.ORDER lists them.
Every line carries both halves. text is the line; clip is a
performance of it, generated once with audio_gen.speech and cached under
game/audio/lines. Soundscape plays the clip AND emits the text on the
line event, so a line whose recording is missing is a quiet line rather than
a lost one. seconds is the measured length of the recording, so a caption
band can hold the words for as long as they are spoken without asking the
mixer.
clip resolves lazily through a literal identity, which is what pins the
reference when this world is installed somewhere else. Lines.forget() drops
the resolved refs so a recording regenerated at runtime is picked up.
Scoped to this part · feeds back into the world's score.