Always check for open and close events.
Send WM_APP message to thread to terminate it rather than TerminateThread.
Fix CreateThread/waveOutOpen race by waiting for background thread to
run before waveOutOpen is called.
Add more non-hardware supported formats. There is a bug in wave
mapper GetPosition when multiple headers are used and this helps
trigger it.
Added 8000 Hz test as a typically supported format.
Added 12000 Hz test as a typically unsupported format.
Test error reporting better by testing unsupported formats.
Test using PCMWAVEFORMAT in place of WAVEFORMATEX.
Moved format structure array to header file and restored
NB_WIN_FORMATS macro to calculate array size.
Added more error results and used macro as suggested by Andreas Mohr.
Cleaned up error result printing to be more consistent.