Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renderer setters don't work until after initialize promise resolves #102

Open
brianchirls opened this issue Apr 18, 2019 · 1 comment
Open

Comments

@brianchirls
Copy link

All of the setter methods on the renderers (e.g. setChannelMap, setRotationMatrix3) do nothing if they are called before the initialize promise resolves. There is no warning or error, and this behavior is not documented.

There isn't really any reason why these methods can't operate immediately, since they depend on objects created in _buildAudioGraph, which is run in the constructor, not in initialize. (Initialization only loads the HRIRs.)

This issue manifests, for example, as a bug in Resonance Audio Web SDK where the rotation matrix should be set immediately by an option to the constructor, but it does not take effect because the setRotationMatrix3 call on the Omnitone renderer does nothing.

@capnmidnight
Copy link

I had noticed that as well.

Between this issue, another bug in Omnitone that was swapping audio channels when using the higher-order ambisonic renderer, and the fact that this repo and Resonance haven't been updated in several years, I forked the two projects and fixed the issues here: https://github.com/capnmidnight/resonance-audio-web-sdk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants