drivers. They are all seen as drivers, loaded as DLLs and standard
module loadorder is used to know which type to use (builtin vs
native).
- first full working implementation of mmThread??? functions (to
support gracefully native MCI drivers).
- support of mmShowMMCPLPropertySheet.
- fix of some heap validate bugs (thanks to Ulrich for reporting them).
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
- 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.
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.