Skip to content

v0.6.0

Latest

Choose a tag to compare

@rawframe-release rawframe-release released this 30 Oct 11:33
b35d75e

0.6.0 (2026-10-30)

0.6.0 makes four more calls leave zeros or silence behind when they fail, never data from an earlier call, as the Maul family's rule for outputs asks. A call refused as busy because the object's own callback made it is the exception: it writes none of its outputs, since the call it interrupted may still be filling them. No backend changes what it does, so the device checklist on real hardware, which runs before a release that changes a backend, is not run for it. The golden renders and the office bake are unchanged.

Changed

  • Breaking: maudStream_Render writes silence over frameCount frames of the stream's channels on any failure but a call back in, where it used to leave the frames as they were. A program that missed one status, on a stopped stream or a call of the wrong kind, played the previous block again; it now hears silence. A call back in is a maud_errorBusy refusal of a render made from the stream's own callback or from the context's allocator. A render refused because another thread holds the stream is silenced, even when it comes from inside another stream's callback. A NULL context or a stale stream leaves the frames as they were, since no stream gives their size. maudStream_RenderObjects silences the bed the same way. On any failure but a call back in, NULL and stale included, it clears each object record and the frames its samples points to, keeping the pointer (#216).
  • Breaking: maudContext_NextNotification leaves its record as it was when it is refused as busy from one of the context's own callbacks (a stream's callback or the allocator), where it used to zero it. The interrupted code may still be reading that record. Every other failure still zeroes it (#215).
  • Breaking: maudContext_GetDevices writes the null id over all of idsOut's capacity before it answers, so the ids past the devices listed, and every id after a failure, are null instead of an earlier call's. maudDevice_GetName and maudDevice_GetKey write zeros over all of bytesOut's capacity first. A stale device leaves zeros instead of an earlier device's name or key, and a text longer than the room (maud_errorCapacity) leaves zeros, with the length it needs in lengthOut (#207).
  • Breaking: maudProbeSet_GetInfo writes count zero points over pointsOut on any failure, where it used to leave them as they were. A caller that reads a set's points into a buffer it reuses, and misses one refused call, no longer takes the previous read's points for this set's (#204).