Made good progress on #zoomasm 2.0 yesterday, but it probably won't be ready for another couple of weeks as there's still quite a lot on the todo list.
Current list of changes:
- New: `multiwave.glsl` colouring preset.
- New: speculatively load next keyframe in async thread for smoother interactive playback.
- New: advanced mode allows setting arbitrary FFmpeg encoder options.
- New: two pass encoding (in advanced mode only).
- Fix: use conservative latency profile for audio.
- Fix: prefer JACK (if available) to PulseAudio.
- Fix: be more robust when changing soundtracks.
- Fix: detect death spiral and stop playback if keyframe loading can't keep up with real time.
- Fix: recycle audio buffer memory instead of freeing and allocating so often.
- Fix: disable broken MP3 support (no seeking with reverse play).
- Fix: disable broken Ogg support (no duration detection).
- Fix: use `texelFetch()` instead of `texture()` (prevents flickering boxes which might have been an amdgpu driver bug).
- Fix: loading session from command line does not reset last waypoint.
- Fix: avoid OpenGL error clearing an incomplete framebuffer object.
- Fix: enable OpenEXR multithreading.
- Fix: combined single-file build system.
- Win: build both 64bit and 32bit Windows EXEs.
Still to do for 2.0, quite a lot even though I dropped some items:
- Sample-accurate audio looping with read-ahead for the other side of the loop.
- Investigate zero-padding for FFT (might improve timestretch quality?).
- Don't close and reopen audio device if channels/samplerate didn't change.
- Preset GLSL with default implementation that emulates KF's KFP colouring, and file browser for `*.kfp` or `*.kfr`.
- 360 equirectangular projection with selectable zoom focus (up/down, forward/back, left/right).
- Display OpenGL debug log in program.
- Improve `Makefile` to support parallel builds and object reuse.
Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.