You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking: HRTF sets (.maudhrtf) are version 3, made of tagged fields that a later version can extend. maudLoadHrtf reads only version 3 and refuses an earlier file, a later version or an unknown field with maud_errorVersion (it was maud_errorUnsupported). Convert a SOFA source again with tools/sofa_to_maudhrtf.py. The shipped SADIE II set holds the same values, so every render is unchanged (#87).
Breaking: bakes (.maudbake) are version 3 tagged fields too. maudLoadProbeSet reads only version 3 and refuses an earlier file, a later version or an unknown field with maud_errorVersion (it was maud_errorUnsupported); bake the scene again. A bake's layers now follow from the fields it carries, and maudSaveProbeSet answers maud_errorCapacity for a set too large for the format rather than write a file no reader takes. Baking's results are unchanged (#88).
Fixed
After an input or loopback stream moves or reconnects, its first block on the new device no longer starts with up to one period of the old device's sound, on every backend that reconnects (PipeWire, PulseAudio, Core Audio, WASAPI, AAudio, iOS and the web). That block's position skips the frames dropped (#75, #92).
PipeWire: when the session manager restarts and replaces its default metadata, the context binds the new one, so streams on the default keep following it and maudGetDefaultDevice stays current (#83).
PipeWire: an input or loopback stream reads each captured buffer's offset and size within the buffer, as PipeWire's own clients do (#97).
HRTF sets lay out their resampled responses through the checked layout, like every other part (#99).