Added some fixes mixer functions
Fixed MCI string comparison (thanks to Lionel ULMER)
No longer using 16 bit USER functions (use their 32 bit counter part)
Reindenting.
Added function sndPlaySound32W
#if defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__)
comes out false. I moved the conditionals around so that
the file would at least compile. Not sure if it does the
right thing on non-linux/FreeBSD/NetBSD systems.
- include/winuser.h - interface relevant to user32.spec
- include/wine/winuser16.h - the old 16 bit interface (internal use)
- include/winbase.h - some minor updates to keep things coherent.
- Lot of other files made to include wine/winuser16.h, which is no
longer included from windows.h
(run autoconf after this). Note that the check has been altered to break
out of the AC_CHECK_HEADERS after the first match - this is so
<sys/soundcard.h>, if found on NetBSD (a `real' OSS), will not conflict
with the emulated ossaudio.
- check for <soundcard.h> along with the other two in a mutually-exclusive
manner in the various *.c files that need it; change include of
"mmsystem.h" to "multimedia.h" so this logic is all in one place
- change mcicda.c to allow for CD audio manipulation on NetBSD. This
includes:
* changing ioctl() calls to be NON-SPLIT with exactly 3 args; on NetBSD
ossaudio, ioctl() is #defined to be _oss_ioctl by <soundcard.h>, and
neither splitting with #-directives nor a two-arg ioctl work;
* changing the #if logic to allow both FreeBSD and NetBSD to share the
appropriate code blocks
- block out MIDI code for NetBSD (init.c) and/or missing SNDCTL_MIDI_INFO
(midi.c, mcimidi.c). NetBSD's OSS emulation does not (yet) support MIDI.
Thanks go to mycroft@netbsd.org for the 99% bulk of this work.
A few more parameter validation checks.
Return DS_OK rather than 0 in a number of functions.
Fixed primary buffer ref count bug in CreateSoundBuffer().
Handle 1-3 byte sound fragments that would cause buffer overruns.
Clear primary buffer with a neutral value instead of always 0
(because 128 is neutral for 8-bit sound).
Fix bug with mixing 8-bit sound into the primary buffer.
Broke out the main block in DSOUND_thread() to another function for
readability.
Handle "no audio" and "audio busy" cases properly when initializing
dsound. Rename DllCanUnloadNow() to DSOUND_DllCanUnloadNow().
Fixed off-by-one checks for buffer wrap.
Increment ref count for primary buffer in CreateSoundBuffer().
Added DSBPN_OFFSETSTOP support to position notification code.
Lots of minor parameter validation checks.
Stubs for: IDirectSound_initialize(), IDirectSound_Compact(),
and IDirectSound_GetSpeakerConfig().
Fixed freq shifting with 16-bit data problem, fixed 8bit<->16bit
conversion.
Lots of thread locking for DirectSound buffers.
Dealloc primary buffer when dsound is deallocated.
Fixed support for RMID files in MIDI_mciOpen.
Fixed bug for playing MIDI files with tempo changes. Sound output is
now correct, but length of tracks (and therefore of whole file) is not
correct.
Changed error values (INTERNAL => INVALID_FILE) when file cannot be read.
handling in mmsystem.c.
Added Win95 command to handle cd-rom with both data and audio ; fixed
bug in MCI_INFO command ; shadowing MCI status for devices that can't
get current status ; fixed status not being updated on cd change.