Repository navigation
Palinopsia v1.2.9 : clean sound, sharp projector
Palinopsia v1.2.9 : clean sound, sharp projector.
A release for long installations. Sonify no longer clicks : not the Chord, not the
Collage's films starting, stopping and changing, not a change made to the room while
it plays. The projector can enlarge a picture rendered below its size through a
sharper filter, so a lighter render scale keeps its edges and grain crisp on the wall,
and an empty layer no longer costs anything.
Highlights
- Sharp enlargement (Output → Render scale) : below render scale 1 the projector
shows the picture enlarged, and the plain enlargement softened every edge and grain
speck. Turned on, the projector window enlarges it through a sharper filter : edges,
grain and dust stay crisp, without halos at hard edges. Only the projector's
enlargement changes, never the picture itself or a recording, and it costs next to
nothing. Off by default. - A ¾ render scale preset.
- Empty layers cost nothing : a layer with no source and no effect no longer draws
anything, and the picture stays the same to the last bit. An installation with two
empty layers runs about 4 % faster at render scale ¾.
Fixed
- Sonify no longer clicks. The Chord's notes now move smoothly when its picture
changes, when its number of voices changes or is modulated, and when it is switched
on and off. The Collage voice's films fade in and out whenever they start, stop,
change film, are hidden or come back, and no longer click under a busy, churning wall.
A voice whose mixer filter is engaged no longer clicks when it is switched off. - Nothing clicks when you change the room either. Moving, switching or bypassing an
output EQ band, turning Space or the headphones preview on and off, changing the
output device and switching Sonify off all fade cleanly. Voices moving on a speaker
dome glide from speaker to speaker instead of buzzing. - The Collage voice is smoother and lighter : a modulated film speed, pieces that
appear or disappear and films that switch no longer click, and silent films no longer
cost a decoder. - The Collage voice no longer stumbles : v1.2.8 could refuse a film's fade a few
times an hour (a "setTargetAtTime overlaps setValueCurveAtTime" error in the log),
which skipped that moment's update of the voice. - A recalled scene keeps your output EQ and glue, like a preset does.
- Tempo sync is lighter, and turning it off brings back the rate you had set.
- The Collage voice glides with the key sequencer even when the scale changes size.
- The key sequencer's Picture mode no longer narrows onto a picture nobody is
looking at. - An imported speaker setup with a wide gap no longer silences a voice that falls in it.
- The output EQ editor is light and steady : it no longer slows the picture while
open, a click on a point no longer nudges it, the wheel changes Q only over a point,
the app's one-key shortcuts wait while it is open, and it is no longer see-through
while the sound is off. - Sonify's sliders : a Shift-drag no longer undoes what the key sequencer, a Meta
knob or MIDI changed meanwhile, and arrow keys move every slider. - Space : clicking a voice on the room map no longer moves it, the number boxes
behave under Shift, and a mistyped renderer address keeps the one before and tells you. - The Collage wall : pieces added all at once show a film right away instead of
black while their own films load. - The warp feather only softens the projector's edges when the warp is on.
- Performance has a Frame capture row (recording, NDI, Spout, the projector).
- Everything measured at a steady 60 fps with a full Collage wall, every Sonify voice
and Space on a dome.
Opening an older session
Everything opens as before. Sharp enlargement starts off, and a session with empty
layers draws the same picture to the last bit.
Install
| Platform | File |
|---|---|
| Windows | Palinopsia-1.2.9-win-x64.exe (installer) or Palinopsia-1.2.9-portable.exe |
| macOS (Apple Silicon) | Palinopsia-1.2.9-mac-arm64.dmg |
| Linux | Palinopsia-1.2.9-linux-x86_64.AppImage or Palinopsia-1.2.9-linux-amd64.deb |
Builds are unsigned :
- Windows : SmartScreen may warn, click More info → Run anyway.
- macOS (Apple Silicon) : not notarized. Drag Palinopsia into Applications first
(run from the disk image or Downloads, macOS runs a hidden temporary copy), then run
xattr -cr /Applications/Palinopsia.apponce in Terminal, or open it and click Open
Anyway in System Settings → Privacy & Security. The first launch asks for the local
network, and for the camera and the microphone when you use them : accept, or OSC, NDI
and light output stay silent. Screen capture is the one permission macOS never prompts
for : switch Palinopsia on under Privacy & Security → Screen & System Audio Recording,
then start it again. - Linux :
chmod +xthe AppImage, then run it.
Intel Macs (x64) : this release ships Apple Silicon only. On an Intel Mac, build from
source (npm install, then npm run build:mac).
For developers
-
Frame-pacing measurements :
OPSIA_UNTHROTTLED=1 bash tools/test-build.shbuilds
a test copy Chromium never slows down when its window is covered (otherwise a covered
window draws one frame a second and every measurement is meaningless). -
A Sonify drawing loop checks
sonifyCovered()(sonifyUi.tsx) and rests while
another page covers the page; theme colors for a canvas come fromthemeVar(), read
once per theme. -
Fading an AudioParam : schedule it a little ahead and use
setTargetAtTime.
param.valueread on the main thread lags the audio thread (a curve started from it
jumps), and alinearRampToValueAtTimeon a param with no automation event yet ramps
from time 0 (an instant jump).collageVoice.tsfade()does it right. -
A media element's "ready" is not "sounding" : its sound reaches the graph tens of
milliseconds afterplay();CollageVoice.sounding()waits until its position has
moved on. -
Never nudge
playbackRatefor sync : every change restarts the element's
pitch-keeping time-stretch, a click; re-sync with a crossfaded splice instead.