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).
Introduction of MCI yield procs.
Updated (prepare|unprepare)header functions (wave, midi) to allow
correct callback mechanisms.
Made midiStreamXXX functions working.
First try at mmThreadXXX functions.
Added support for yield proc in mci struct
Added mmTaskXXX16 and mmThreadXXX16 functions
Refreshed implementation of 16 bit native & asynchronous MCI driver
command (through mmtask.tsk).
needs to define HANDLER_CONTEXT, wctype.h does not like 'wsprintf'
defined, msdos/dpmi.c needs "stackframe.h" too, and multimedia/dsound.c
needs "winuser.h".
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
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.