IDirectSound implementation.
Added proper COM behavior for QueryInterface for IDirectSound and
IDirectSound8.
Fixed a bug in the dsound.h header file for IDirectSound8
CreateSoundBuffer and DuplicateSoundBuffer.
Added new tests for proper COM behavior and enables some commented out
code for tests that work on windows. Added new tests for
IDirectSound8.
- the sound format test. Plays a 5 second reference tone to help
debug issues with the tone duration and help detect stutter issues.
Prints explanations describing the sound format interactive
test. Then plays a 1 second test tone for each supported sound
format.
- the 3D sound tests. Performs the volume, panning, moving listener
tests, etc.
3D sound now plays in 3D.
COM interfaces should be correct for buffers and 3D stuff. The COM
interface is broken on notifications but I will fix that next.
Fixed the bug when closing and opening the same or another sound
device quickly.
Fixed some locking but there is a lot of work left yet.
Dump the effective format and prepare the tone signal accordingly.
Play tones from the secondary buffers at -3dB rather than -12dB.
Always print the volume the tone is going to be played at.
Remove the gamedev URL.
basic tests such as querying its characteristics and changing its
format.
Changing the format requires that we call SetcooperativeLevel first,
which means we need an hwnd. So the test must now link with
user32.dll.