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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bundler & SSR support (#105, #154):build/omnitone.js and build/omnitone.min.js are now built as UMD modules (working both as a <script> global and via require('omnitone')), paired with "module" and "exports" entry points in package.json for import Omnitone from 'omnitone' and browser global guards for Node / SSR environments.
CSP compatibility without 'unsafe-eval' (#106, #147): Rewrote BufferList.load() around Promise.all and removed new Function(), so Omnitone runs under strict Content Security Policies.
Setters work before initialize() resolves (#102, #145, #153):setChannelMap(), setRotationMatrix3(), setRotationMatrix4(), setRotationMatrixFromCamera(), and setRenderingMode() (as well as constructor-supplied renderingMode: 'bypass' | 'off') now apply immediately upon renderer construction and persist across HRIR initialization.
Clean promise rejection handling (#146, #150): Load and decode failures in BufferList, FOARenderer, and HOARenderer now reject the returned promise cleanly without throwing uncaught exceptions or leaking duplicate unhandledrejection events from decodeAudioData().
Correctness fixes (#143, #144): Fixed destination indices and sign mapping in HOARotator.prototype.getRotationMatrix3(), and renamed Omnitone.splitBufferbyChannel to Omnitone.splitBufferByChannel (fixing an internal bufflerList reference error in Utils.mergeBufferListByChannel).
Modernized toolchain (#148, #149): Upgraded build, lint, and test infrastructure to Node >=20, Rollup 4, @web/test-runner (headless Chrome), ESLint 8, and GitHub Actions CI.
Updated documentation (#155): Added What's New in 2.0, bundler usage examples, and updated links in README.md.