Is there a 3D sound mixer?

Hello all. I’ve been lurking for a while and I’ve really enjoyed it!
I’ve been working in the game industry for about four years, but I’ll be
starting into some .mp3 work soon, and I’d like to keep in touch with
the game community.

I’ve been wanting to contribute some time to the SDL effort, and I was
wondering whether anyone is working on a (GPL’d) SDL-compatible 3D sound
mixer? I was thinking along the lines of stereo panning and attenuation
that is typically found in DirectSound or the Miles Sound System.

Also, would it be bad style to do this in an object-oriented way using
C++? It would be a layer sitting on top of the basic sound buffer
access in SDL and would make more sense at the game level, where
object-orientation has real advantages for code reuse, maintainability,
and reliability.

I’ve been doing mainly graphics engine work, so sound would be
interesting and fun for me.

Thanks for any guidance.–

Gary Scillian @Gary_Scillian
"There’s a seeker born every minute." - Firesign Theatre

Hello all. I’ve been lurking for a while and I’ve really enjoyed it!
I’ve been working in the game industry for about four years, but I’ll be
starting into some .mp3 work soon, and I’d like to keep in touch with
the game community.

I’ve been wanting to contribute some time to the SDL effort, and I was
wondering whether anyone is working on a (GPL’d) SDL-compatible 3D sound
mixer? I was thinking along the lines of stereo panning and attenuation
that is typically found in DirectSound or the Miles Sound System.

Also, would it be bad style to do this in an object-oriented way using
C++? It would be a layer sitting on top of the basic sound buffer
access in SDL and would make more sense at the game level, where
object-orientation has real advantages for code reuse, maintainability,
and reliability.

That sounds like a great idea! It would be something that would go into
the example archive, like the mixer library, at least until 3D audio is
supported on more platforms.

Thanks for any guidance.

Go for it! :slight_smile:

-Sam Lantinga				(slouken at devolution.com)

Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec

How about write a “functionality” layer in C, then provide C++ wrapper classes
to give it a nice object oriented package?

Warren

______________________________ Reply Separator _________________________________Subject: Re: [SDL] Is there a 3D sound mixer?
Author: at internet-mail
Date: 8/18/99 1:59 PM

The only problem I think there is with C++ is that almost everybody’s work
is already in C as that is what language SDL uses, so the add on would be
useless to some of us (unless we re-write all our code, which I for one
wouldn’t do when I could just as easily re-write all your code)

Gary Scillian wrote:

Hello all. I’ve been lurking for a while and I’ve really enjoyed it!
I’ve been working in the game industry for about four years, but I’ll be
starting into some .mp3 work soon, and I’d like to keep in touch with
the game community.

I’ve been wanting to contribute some time to the SDL effort, and I was
wondering whether anyone is working on a (GPL’d) SDL-compatible 3D sound
mixer? I was thinking along the lines of stereo panning and attenuation
that is typically found in DirectSound or the Miles Sound System.

Also, would it be bad style to do this in an object-oriented way using
C++? It would be a layer sitting on top of the basic sound buffer
access in SDL and would make more sense at the game level, where
object-orientation has real advantages for code reuse, maintainability,
and reliability.

I’ve been doing mainly graphics engine work, so sound would be
interesting and fun for me.

Thanks for any guidance.

Gary Scillian scillian at home.com
“There’s a seeker born every minute.” - Firesign Theatre

The only problem I think there is with C++ is that almost everybody’s work
is already in C as that is what language SDL uses, so the add on would be
useless to some of us (unless we re-write all our code, which I for one
wouldn’t do when I could just as easily re-write all your code)

Gary Scillian wrote:> Hello all. I’ve been lurking for a while and I’ve really enjoyed it!

I’ve been working in the game industry for about four years, but I’ll be
starting into some .mp3 work soon, and I’d like to keep in touch with
the game community.

I’ve been wanting to contribute some time to the SDL effort, and I was
wondering whether anyone is working on a (GPL’d) SDL-compatible 3D sound
mixer? I was thinking along the lines of stereo panning and attenuation
that is typically found in DirectSound or the Miles Sound System.

Also, would it be bad style to do this in an object-oriented way using
C++? It would be a layer sitting on top of the basic sound buffer
access in SDL and would make more sense at the game level, where
object-orientation has real advantages for code reuse, maintainability,
and reliability.

I’ve been doing mainly graphics engine work, so sound would be
interesting and fun for me.

Thanks for any guidance.

Gary Scillian scillian at home.com
“There’s a seeker born every minute.” - Firesign Theatre

That would work, it would give C++ users their benefits and still make the lib
useful to people with existing C sources.
Actually my PowerPak PowerSound module is going to implement something like this in
the future, with the program able to tell the sound which speaker is more prominent
and by how much and the volume will be lower higher depending on the “distance” .
There is no telling how far off a PowerSound module is though (it least not at that
level) as I have been almost too busy recently to even work on my existing code.
Maybe if your add-on becomes part of SDL I’ll use that :slight_smile:

Warren Downs wrote:> How about write a “functionality” layer in C, then provide C++ wrapper classes

to give it a nice object oriented package?

Warren

______________________________ Reply Separator _________________________________
Subject: Re: [SDL] Is there a 3D sound mixer?
Author: at internet-mail
Date: 8/18/99 1:59 PM

The only problem I think there is with C++ is that almost everybody’s work
is already in C as that is what language SDL uses, so the add on would be
useless to some of us (unless we re-write all our code, which I for one
wouldn’t do when I could just as easily re-write all your code)

Gary Scillian wrote:

Hello all. I’ve been lurking for a while and I’ve really enjoyed it!
I’ve been working in the game industry for about four years, but I’ll be
starting into some .mp3 work soon, and I’d like to keep in touch with
the game community.

I’ve been wanting to contribute some time to the SDL effort, and I was
wondering whether anyone is working on a (GPL’d) SDL-compatible 3D sound
mixer? I was thinking along the lines of stereo panning and attenuation
that is typically found in DirectSound or the Miles Sound System.

Also, would it be bad style to do this in an object-oriented way using
C++? It would be a layer sitting on top of the basic sound buffer
access in SDL and would make more sense at the game level, where
object-orientation has real advantages for code reuse, maintainability,
and reliability.

I’ve been doing mainly graphics engine work, so sound would be
interesting and fun for me.

Thanks for any guidance.

Gary Scillian scillian at home.com
“There’s a seeker born every minute.” - Firesign Theatre

How about write a “functionality” layer in C, then provide C++ wrapper classes
to give it a nice object oriented package?

Personally, I’ll wait until X3J16 has finally decided on what’s included
in the C++ standard! But at any rate I think this is a good idea. IMHO,
C++ is becoming such a bloated language such that it’s so hard to program
in it (the modern example of a Brooks-style second-system effect). The
spirit of C has gone out of it it seems. But I’ll have to admit that it
does provide a very useful layer of abstraction, but somewhere along the
way something went wrong. But I think some people can live with it, so
it will be useful to someone. This way, we get the best of both worlds.On Tue, 17 Aug 1999, Warren Downs wrote: