Umfeld v2.8.2 Released
v2.8.2
Capture
Captureis rebuilt on SDL3’s camera subsystem and is no longer experimental.- breaking: the old stringly
init(device, "1280x720", "30", "nv12")API andreload()are removed :: use the typed constructors /init()and the poll model instead - breaking: the previous FFmpeg/avdevice-backed implementation is renamed
CaptureFFmpeg(CaptureFFmpeg.h); behavior is unchanged, kept as an interim path for platforms without a working SDL3 camera backend ( e.g. Windows/dshow ). It additionally requiresDISABLE_VIDEO=OFF - breaking:
CaptureSDLis removed ( absorbed intoCapture) Capturerequires onlyENABLE_CAPTURE( defaultON) :: no FFmpeg dependency, works withDISABLE_VIDEO=ON- new
CameraCapabilitystruct +Capture::getCapabilities()/list()/list_capabilities()for enumerating supported formats - device opens in the constructor /
init()( permission prompt fires there );start()/stop()only gate frame delivery; every failure path ( device not found, permission denied, device removed ) leaves the object inert but safe - hardened
umfeld-examples/Advanced/capture( default device, HUD, no-camera fallback, SPACE start/stop,ccycles devices ) and newAdvanced/capture-multiple( two simultaneous instances ) - see Capture reference for the full API, permission handling ( macOS
Info.plist, Linuxvideogroup ), and backend status per platform
Libraries
- add library
multi-windowfor multiple windows in one application - add library
risofor generating files suitable for risograph printing ( ported from p5.js library at https://antiboredom.github.io/p5.riso released under ANTI-CAPITALIST LICENSE )
core
- add iOS target ( experimental! see https://codeberg.org/Umfeld/umfeld-ios-application )
- add multiply alpha blend mode
- add pixel operations:
copy(),set(),blend(),filter()andmask()