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

Surround Sound #60

Open
SirNate0 opened this issue Dec 21, 2023 · 0 comments
Open

Surround Sound #60

SirNate0 opened this issue Dec 21, 2023 · 0 comments
Labels
new-feature New feature or request

Comments

@SirNate0
Copy link
Collaborator

Presently we only support mono and stereo audio. SDL seems to support up to 7.1 surround sound, and I don't think it would be that much work to add support for it.

  • Opening the sound device would become a little more complicated, as we presently open stereo and fall back to mono if that fails. I think we would just replace this with decreasing the number of channels by 1 until we get to mono or succeed in opening the device with whatever the user requested.
  • Mixing would need to be rewritten. Presently we have separate functions for each combination of (from mono|stereo)(to mono|stereo)(interpolated or not). I think we could probably rewrite these into only a couple functions with template parameters specifying these (from channels, to channels, interpolated).
  • Panning would need an additional dimension for Front/Back. And while we are at it, we might want to just make it a Vector3 to support full spatial audio in the future. Presently it is only possible to pan a mono source sound, and I think it should remain this way, and stereo/surround sound audio should be handled as is (the user can always separate multi channel audio into mono tracks if they really need the per-channel panning control).
@SirNate0 SirNate0 added the new-feature New feature or request label Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant