So during the last few days I've been working on a new custom 3D sound engine for RetroCopy and like promised here is a video showcasing it.
RetroCopy previously used Microsoft's DirectSound3D API to do some basic 3D sound output in the virtual room. However this API is buggy, slow and lacking many features.
Some of the features of this new 3D sound engine are :-
1) It's much faster. Previously if you had more than 8 "3D signals" at once, DirectSound3D would either shit itself (distortions) or peg CPU usage to 100%. The new engine can easily handle over 100 distinct 3D sources.
2) Stereo speaker support. Each machine has the ability to specify two 3D speakers allowing stereo output in the 3D world.
3) Now the viewer AND machine are taken into account when calculating the strength of the audio signal. For instance if you're behind a machine it shouldn't be as loud as if you were in front of it (the speakers are obviously facing forward). Each "cabinet" or "tv" can specify it's own unique settings such as direction of the speakers, cut off angles, initial strength (a small GameGear shouldn't be as loud as a big TV).
4) No bugs. There are MANY bugs in older versions of RetroCopy related to the use of DirectSound3D and it's screwing up of the audio. It seems DirectSound3D is the red-headed-step-child of Microsoft, poorly supported by them and the sound card makers.
So when the Linux and other builds are done they will have the same 3D support as the Windows version now.