separate files. Split primary buffer and secondary buffer interfaces
into separate implementations. Made the primary buffer state part of
the dsound object, so primary buffer objects can be created and
refcounted independently. Made the interfaces follow COM aggregation
rules more closely. Converted the dsound critical section to a R/W
lock to improve potential remixing concurrency. Fixed various bugs and
refcounting issues.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
instead. Implemented the DirectSound HEL, with the ability to
prebuffer 300ms of sound, while maintaining play latency of 40ms, and
the exact playposition (Starcraft cinematics are lip-synched). Some
initial HAL support.