1 added + 1 removed + 8 modified, total 10 files
reactos/include
diff -N mmsystem.h
--- mmsystem.h 15 Dec 2003 20:21:57 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,2224 +0,0 @@
-/*
- * MMSYSTEM - Multimedia Wine Extension ... :-)
- *
- * Copyright (C) the Wine project
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __WINE_MMSYSTEM_H
-#define __WINE_MMSYSTEM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef LPSTR HPSTR; /* a huge version of LPSTR */
-typedef LPCSTR HPCSTR; /* a huge version of LPCSTR */
-#ifndef __REACTOS__
-typedef UINT* LPUINT;
-#endif
-
-DECLARE_HANDLE(HDRVR);
-DECLARE_HANDLE(HWAVE);
-DECLARE_HANDLE(HWAVEIN);
-DECLARE_HANDLE(HWAVEOUT);
-DECLARE_HANDLE(HMIDI);
-DECLARE_HANDLE(HMIDIIN);
-DECLARE_HANDLE(HMIDIOUT);
-DECLARE_HANDLE(HMIDISTRM);
-DECLARE_HANDLE(HMIXER);
-DECLARE_HANDLE(HMIXEROBJ);
-DECLARE_HANDLE(HMMIO);
-
-typedef HMIDI *LPHMIDI;
-typedef HMIDIIN *LPHMIDIIN;
-typedef HMIDIOUT *LPHMIDIOUT;
-typedef HMIDISTRM *LPHMIDISTRM;
-typedef HMIXER *LPHMIXER;
-typedef HMIXEROBJ *LPHMIXEROBJ;
-typedef HWAVEIN *LPHWAVEIN;
-typedef HWAVEOUT *LPHWAVEOUT;
-
-#include <pshpack1.h>
-
-typedef LRESULT (CALLBACK *DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
-
-#define MAXWAVEDRIVERS 10
-#define MAXMIDIDRIVERS 10
-#define MAXAUXDRIVERS 10
-#define MAXMCIDRIVERS 32
-#define MAXMIXERDRIVERS 10
-
-#define MAXPNAMELEN 32 /* max product name length (including NULL) */
-#define MAXERRORLENGTH 128 /* max error text length (including NULL) */
-#define MAX_JOYSTICKOEMVXDNAME 260
-
-#ifndef _MCIERROR_
-#define _MCIERROR_
-typedef DWORD MCIERROR;
-#endif
-typedef UINT MMVERSION;
-#ifndef _MCIDEVICEID_
-#define _MCIDEVICEID_
-typedef UINT MCIDEVICEID;
-#endif
-typedef UINT MMRESULT;
-
-typedef struct {
- UINT wType;
- union {
- DWORD ms;
- DWORD sample;
- DWORD cb;
- DWORD ticks;
- struct {
- BYTE hour;
- BYTE min;
- BYTE sec;
- BYTE frame;
- BYTE fps;
- BYTE dummy;
- BYTE pad[2];
- } smpte;
- struct {
- DWORD songptrpos;
- } midi;
- } u;
-} MMTIME, *LPMMTIME;
-
-#define TIME_MS 0x0001 /* time in milliseconds */
-#define TIME_SAMPLES 0x0002 /* number of wave samples */
-#define TIME_BYTES 0x0004 /* current byte offset */
-#define TIME_SMPTE 0x0008 /* SMPTE time */
-#define TIME_MIDI 0x0010 /* MIDI time */
-#define TIME_TICKS 0x0020 /* MIDI ticks */
-
-#define MM_JOY1MOVE 0x3A0 /* joystick */
-#define MM_JOY2MOVE 0x3A1
-#define MM_JOY1ZMOVE 0x3A2
-#define MM_JOY2ZMOVE 0x3A3
-#define MM_JOY1BUTTONDOWN 0x3B5
-#define MM_JOY2BUTTONDOWN 0x3B6
-#define MM_JOY1BUTTONUP 0x3B7
-#define MM_JOY2BUTTONUP 0x3B8
-
-#define MM_MCINOTIFY 0x3B9 /* MCI */
-
-#define MM_WOM_OPEN 0x3BB /* waveform output */
-#define MM_WOM_CLOSE 0x3BC
-#define MM_WOM_DONE 0x3BD
-
-#define MM_WIM_OPEN 0x3BE /* waveform input */
-#define MM_WIM_CLOSE 0x3BF
-#define MM_WIM_DATA 0x3C0
-
-#define MM_MIM_OPEN 0x3C1 /* MIDI input */
-#define MM_MIM_CLOSE 0x3C2
-#define MM_MIM_DATA 0x3C3
-#define MM_MIM_LONGDATA 0x3C4
-#define MM_MIM_ERROR 0x3C5
-#define MM_MIM_LONGERROR 0x3C6
-
-#define MM_MOM_OPEN 0x3C7 /* MIDI output */
-#define MM_MOM_CLOSE 0x3C8
-#define MM_MOM_DONE 0x3C9
-#define MM_MOM_POSITIONCB 0x3CA
-
-#define MM_MIM_MOREDATA 0x3CC
-
-#define MM_MIXM_LINE_CHANGE 0x3D0
-#define MM_MIXM_CONTROL_CHANGE 0x3D1
-
-#define MMSYSERR_BASE 0
-#define WAVERR_BASE 32
-#define MIDIERR_BASE 64
-#define TIMERR_BASE 96
-#define JOYERR_BASE 160
-#define MCIERR_BASE 256
-
-#define MCI_STRING_OFFSET 512
-#define MCI_VD_OFFSET 1024
-#define MCI_CD_OFFSET 1088
-#define MCI_WAVE_OFFSET 1152
-#define MCI_SEQ_OFFSET 1216
-
-#define MMSYSERR_NOERROR 0 /* no error */
-#define MMSYSERR_ERROR (MMSYSERR_BASE + 1) /* unspecified error */
-#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE + 2) /* device ID out of range */
-#define MMSYSERR_NOTENABLED (MMSYSERR_BASE + 3) /* driver failed enable */
-#define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4) /* device already allocated */
-#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE + 5) /* device handle is invalid */
-#define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6) /* no device driver present */
-#define MMSYSERR_NOMEM (MMSYSERR_BASE + 7) /* memory allocation error */
-#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE + 8) /* function isn't supported */
-#define MMSYSERR_BADERRNUM (MMSYSERR_BASE + 9) /* error value out of range */
-#define MMSYSERR_INVALFLAG (MMSYSERR_BASE + 10) /* invalid flag passed */
-#define MMSYSERR_INVALPARAM (MMSYSERR_BASE + 11) /* invalid parameter passed */
-#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 11) /* last error in range */
-
-#define CALLBACK_TYPEMASK 0x00070000l /* callback type mask */
-#define CALLBACK_NULL 0x00000000l /* no callback */
-#define CALLBACK_WINDOW 0x00010000l /* dwCallback is a HWND */
-#define CALLBACK_TASK 0x00020000l /* dwCallback is a HTASK */
-#define CALLBACK_THREAD (CALLBACK_TASK) /* dwCallback is a thread ID */
-#define CALLBACK_FUNCTION 0x00030000l /* dwCallback is a FARPROC */
-#define CALLBACK_EVENT 0x00050000l /* dwCallback is an EVENT Handler */
-
-#define DRV_LOAD 0x0001
-#define DRV_ENABLE 0x0002
-#define DRV_OPEN 0x0003
-#define DRV_CLOSE 0x0004
-#define DRV_DISABLE 0x0005
-#define DRV_FREE 0x0006
-#define DRV_CONFIGURE 0x0007
-#define DRV_QUERYCONFIGURE 0x0008
-#define DRV_INSTALL 0x0009
-#define DRV_REMOVE 0x000A
-#define DRV_EXITSESSION 0x000B
-#define DRV_EXITAPPLICATION 0x000C
-#define DRV_POWER 0x000F
-
-#define DRV_RESERVED 0x0800
-#define DRV_USER 0x4000
-
-#define DRVCNF_CANCEL 0x0000
-#define DRVCNF_OK 0x0001
-#define DRVCNF_RESTART 0x0002
-
-#define DRVEA_NORMALEXIT 0x0001
-#define DRVEA_ABNORMALEXIT 0x0002
-
-#define DRV_SUCCESS 0x0001
-#define DRV_FAILURE 0x0000
-
-#define GND_FIRSTINSTANCEONLY 0x00000001
-
-#define GND_FORWARD 0x00000000
-#define GND_REVERSE 0x00000002
-
-typedef struct {
- DWORD dwDCISize;
- LPCWSTR lpszDCISectionName;
- LPCWSTR lpszDCIAliasName;
-} DRVCONFIGINFO, *LPDRVCONFIGINFO;
-
-
-LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr,
- UINT Msg, LPARAM lParam1, LPARAM lParam2);
-/* this sounds odd, but it's the way it is. OpenDriverA even disapeared
- * from latest SDK
- */
-HDRVR WINAPI OpenDriverA(LPCSTR szDriverName, LPCSTR szSectionName,
- LPARAM lParam2);
-HDRVR WINAPI OpenDriver(LPCWSTR szDriverName, LPCWSTR szSectionName,
- LPARAM lParam2);
-LRESULT WINAPI CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2);
-LRESULT WINAPI SendDriverMessage(HDRVR hDriver, UINT message,
- LPARAM lParam1, LPARAM lParam2);
-HMODULE WINAPI GetDriverModuleHandle(HDRVR hDriver);
-
-DWORD WINAPI GetDriverFlags(HDRVR hDriver);
-
-typedef void (CALLBACK *LPDRVCALLBACK) (HDRVR h, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
-
-#define MM_MICROSOFT 1 /* Microsoft Corp. */
-
-#define MM_MIDI_MAPPER 1 /* MIDI Mapper */
-#define MM_WAVE_MAPPER 2 /* Wave Mapper */
-
-#define MM_SNDBLST_MIDIOUT 3 /* Sound Blaster MIDI output port */
-#define MM_SNDBLST_MIDIIN 4 /* Sound Blaster MIDI input port */
-#define MM_SNDBLST_SYNTH 5 /* Sound Blaster internal synthesizer */
-#define MM_SNDBLST_WAVEOUT 6 /* Sound Blaster waveform output */
-#define MM_SNDBLST_WAVEIN 7 /* Sound Blaster waveform input */
-
-#define MM_ADLIB 9 /* Ad Lib-compatible synthesizer */
-
-#define MM_MPU401_MIDIOUT 10 /* MPU401-compatible MIDI output port */
-#define MM_MPU401_MIDIIN 11 /* MPU401-compatible MIDI input port */
-
-#define MM_PC_JOYSTICK 12 /* Joystick adapter */
-
-
-UINT WINAPI mmsystemGetVersion(void);
-BOOL WINAPI sndPlaySoundA(LPCSTR lpszSound, UINT fuSound);
-BOOL WINAPI sndPlaySoundW(LPCWSTR lpszSound, UINT fuSound);
-#define sndPlaySound WINELIB_NAME_AW(sndPlaySound)
-BOOL WINAPI PlaySoundA(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);
-BOOL WINAPI PlaySoundW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound);
-#define PlaySound WINELIB_NAME_AW(PlaySound)
-
-#define SND_SYNC 0x0000 /* play synchronously (default) */
-#define SND_ASYNC 0x0001 /* play asynchronously */
-#define SND_NODEFAULT 0x0002 /* don't use default sound */
-#define SND_MEMORY 0x0004 /* lpszSoundName points to a memory file */
-#define SND_LOOP 0x0008 /* loop the sound until next sndPlaySound */
-#define SND_NOSTOP 0x0010 /* don't stop any currently playing sound */
-
-#define SND_NOWAIT 0x00002000L /* don't wait if the driver is busy */
-#define SND_ALIAS 0x00010000L /* name is a registry alias */
-#define SND_ALIAS_ID 0x00110000L /* alias is a predefined ID */
-#define SND_FILENAME 0x00020000L /* name is file name */
-#define SND_RESOURCE 0x00040004L /* name is resource name or atom */
-#define SND_PURGE 0x00000040L /* purge all sounds */
-#define SND_APPLICATION 0x00000080L /* look for application specific association */
-
-/* waveform audio error return values */
-#define WAVERR_BADFORMAT (WAVERR_BASE + 0) /* unsupported wave format */
-#define WAVERR_STILLPLAYING (WAVERR_BASE + 1) /* still something playing */
-#define WAVERR_UNPREPARED (WAVERR_BASE + 2) /* header not prepared */
-#define WAVERR_SYNC (WAVERR_BASE + 3) /* device is synchronous */
-#define WAVERR_LASTERROR (WAVERR_BASE + 3) /* last error in range */
-
-typedef LPDRVCALLBACK LPWAVECALLBACK;
-
-#define WOM_OPEN MM_WOM_OPEN
-#define WOM_CLOSE MM_WOM_CLOSE
-#define WOM_DONE MM_WOM_DONE
-#define WIM_OPEN MM_WIM_OPEN
-#define WIM_CLOSE MM_WIM_CLOSE
-#define WIM_DATA MM_WIM_DATA
-
-#define WAVE_MAPPER (-1)
-
-#define WAVE_FORMAT_QUERY 0x0001
-#define WAVE_ALLOWSYNC 0x0002
-#define WAVE_MAPPED 0x0004
-#define WAVE_FORMAT_DIRECT 0x0008
-#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT)
-
-typedef struct wavehdr_tag {
- LPSTR lpData; /* pointer to locked data buffer */
- DWORD dwBufferLength; /* length of data buffer */
- DWORD dwBytesRecorded;/* used for input only */
- DWORD dwUser; /* for client's use */
- DWORD dwFlags; /* assorted flags (see defines) */
- DWORD dwLoops; /* loop control counter */
-
- struct wavehdr_tag *lpNext; /* reserved for driver */
- DWORD reserved; /* reserved for driver */
-} WAVEHDR, *PWAVEHDR, *NPWAVEHDR, *LPWAVEHDR;
-
-#define WHDR_DONE 0x00000001 /* done bit */
-#define WHDR_PREPARED 0x00000002 /* set if this header has been prepared */
-#define WHDR_BEGINLOOP 0x00000004 /* loop start block */
-#define WHDR_ENDLOOP 0x00000008 /* loop end block */
-#define WHDR_INQUEUE 0x00000010 /* reserved for driver */
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
- DWORD dwFormats; /* formats supported */
- WORD wChannels; /* number of sources supported */
- WORD wReserved1; /* padding */
- DWORD dwSupport; /* functionality supported by driver */
-} WAVEOUTCAPSA, *LPWAVEOUTCAPSA;
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- WCHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
- DWORD dwFormats; /* formats supported */
- WORD wChannels; /* number of sources supported */
- WORD wReserved1; /* padding */
- DWORD dwSupport; /* functionality supported by driver */
-} WAVEOUTCAPSW, *LPWAVEOUTCAPSW;
-//////DECL_WINELIB_TYPE_AW(WAVEOUTCAPS)
-////DECL_WINELIB_TYPE_AW(LPWAVEOUTCAPS)
-
-#define WAVECAPS_PITCH 0x0001 /* supports pitch control */
-#define WAVECAPS_PLAYBACKRATE 0x0002 /* supports playback rate control */
-#define WAVECAPS_VOLUME 0x0004 /* supports volume control */
-#define WAVECAPS_LRVOLUME 0x0008 /* separate left-right volume control */
-#define WAVECAPS_SYNC 0x0010 /* driver is synchrounous and playing is blocking */
-#define WAVECAPS_SAMPLEACCURATE 0x0020 /* position is sample accurate */
-#define WAVECAPS_DIRECTSOUND 0x0040 /* ? */
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
- DWORD dwFormats; /* formats supported */
- WORD wChannels; /* number of channels supported */
- WORD wReserved1;
-} WAVEINCAPSA, *LPWAVEINCAPSA;
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- WCHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
- DWORD dwFormats; /* formats supported */
- WORD wChannels; /* number of channels supported */
- WORD wReserved1;
-} WAVEINCAPSW, *LPWAVEINCAPSW;
-//DECL_WINELIB_TYPE_AW(WAVEINCAPS)
-//DECL_WINELIB_TYPE_AW(LPWAVEINCAPS)
-
-#define WAVE_INVALIDFORMAT 0x00000000 /* invalid format */
-#define WAVE_FORMAT_1M08 0x00000001 /* 11.025 kHz, Mono, 8-bit */
-#define WAVE_FORMAT_1S08 0x00000002 /* 11.025 kHz, Stereo, 8-bit */
-#define WAVE_FORMAT_1M16 0x00000004 /* 11.025 kHz, Mono, 16-bit */
-#define WAVE_FORMAT_1S16 0x00000008 /* 11.025 kHz, Stereo, 16-bit */
-#define WAVE_FORMAT_2M08 0x00000010 /* 22.05 kHz, Mono, 8-bit */
-#define WAVE_FORMAT_2S08 0x00000020 /* 22.05 kHz, Stereo, 8-bit */
-#define WAVE_FORMAT_2M16 0x00000040 /* 22.05 kHz, Mono, 16-bit */
-#define WAVE_FORMAT_2S16 0x00000080 /* 22.05 kHz, Stereo, 16-bit */
-#define WAVE_FORMAT_4M08 0x00000100 /* 44.1 kHz, Mono, 8-bit */
-#define WAVE_FORMAT_4S08 0x00000200 /* 44.1 kHz, Stereo, 8-bit */
-#define WAVE_FORMAT_4M16 0x00000400 /* 44.1 kHz, Mono, 16-bit */
-#define WAVE_FORMAT_4S16 0x00000800 /* 44.1 kHz, Stereo, 16-bit */
-#define WAVE_FORMAT_48M08 0x00001000 /* 48 kHz, Mono, 8-bit */
-#define WAVE_FORMAT_48S08 0x00002000 /* 48 kHz, Stereo, 8-bit */
-#define WAVE_FORMAT_48M16 0x00004000 /* 48 kHz, Mono, 16-bit */
-#define WAVE_FORMAT_48S16 0x00008000 /* 48 kHz, Stereo, 16-bit */
-#define WAVE_FORMAT_96M08 0x00010000 /* 96 kHz, Mono, 8-bit */
-#define WAVE_FORMAT_96S08 0x00020000 /* 96 kHz, Stereo, 8-bit */
-#define WAVE_FORMAT_96M16 0x00040000 /* 96 kHz, Mono, 16-bit */
-#define WAVE_FORMAT_96S16 0x00080000 /* 96 kHz, Stereo, 16-bit */
-
-/* General format structure common to all formats, same for Win16 and Win32 */
-typedef struct {
- WORD wFormatTag; /* format type */
- WORD nChannels; /* number of channels */
- DWORD nSamplesPerSec; /* sample rate */
- DWORD nAvgBytesPerSec;/* for buffer estimation */
- WORD nBlockAlign; /* block size of data */
-} WAVEFORMAT, *LPWAVEFORMAT;
-
-#define WAVE_FORMAT_PCM 1
-
-typedef struct {
- WAVEFORMAT wf;
- WORD wBitsPerSample;
-} PCMWAVEFORMAT, *LPPCMWAVEFORMAT;
-
-#ifndef _WAVEFORMATEX_
-#define _WAVEFORMATEX_
-/* dito same for Win16 / Win32 */
-typedef struct {
- WORD wFormatTag; /* format type */
- WORD nChannels; /* number of channels (i.e. mono, stereo...) */
- DWORD nSamplesPerSec; /* sample rate */
- DWORD nAvgBytesPerSec;/* for buffer estimation */
- WORD nBlockAlign; /* block size of data */
- WORD wBitsPerSample; /* number of bits per sample of mono data */
- WORD cbSize; /* the count in bytes of the size of */
- /* extra information (after cbSize) */
-} WAVEFORMATEX, *LPWAVEFORMATEX, *NPWAVEFORMATEX, *PWAVEFORMATEX;
-#endif
-
-UINT WINAPI waveOutGetNumDevs(void);
-UINT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
-UINT WINAPI waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
-#define waveOutGetDevCaps WINELIB_NAME_AW(waveOutGetDevCaps)
-UINT WINAPI waveOutGetVolume(HWAVEOUT,DWORD*);
-UINT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
-UINT WINAPI waveOutGetErrorTextA(UINT,LPSTR,UINT);
-UINT WINAPI waveOutGetErrorTextW(UINT,LPWSTR,UINT);
-#define waveOutGetErrorText WINELIB_NAME_AW(waveOutGetErrorText)
-UINT WINAPI waveOutOpen(HWAVEOUT*,UINT,const LPWAVEFORMATEX,DWORD,DWORD,DWORD);
-UINT WINAPI waveOutClose(HWAVEOUT);
-UINT WINAPI waveOutPrepareHeader(HWAVEOUT,WAVEHDR*,UINT);
-UINT WINAPI waveOutUnprepareHeader(HWAVEOUT,WAVEHDR*,UINT);
-UINT WINAPI waveOutWrite(HWAVEOUT,WAVEHDR*,UINT);
-UINT WINAPI waveOutPause(HWAVEOUT);
-UINT WINAPI waveOutRestart(HWAVEOUT);
-UINT WINAPI waveOutReset(HWAVEOUT);
-UINT WINAPI waveOutBreakLoop(HWAVEOUT);
-UINT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
-UINT WINAPI waveOutGetPitch(HWAVEOUT,DWORD*);
-UINT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
-UINT WINAPI waveOutGetPlaybackRate(HWAVEOUT,DWORD*);
-UINT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
-UINT WINAPI waveOutGetID(HWAVEOUT,UINT*);
-UINT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
-UINT WINAPI waveInGetNumDevs(void);
-UINT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
-UINT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
-#define waveInGetDevCaps WINELIB_NAME_AW(waveInGetDevCaps)
-UINT WINAPI waveInGetErrorTextA(UINT,LPSTR,UINT);
-UINT WINAPI waveInGetErrorTextW(UINT,LPWSTR,UINT);
-#define waveInGetErrorText WINELIB_NAME_AW(waveInGetErrorText)
-UINT WINAPI waveInOpen(HWAVEIN*,UINT,const LPWAVEFORMATEX,DWORD,DWORD,DWORD);
-UINT WINAPI waveInClose(HWAVEIN);
-UINT WINAPI waveInPrepareHeader(HWAVEIN,WAVEHDR*,UINT);
-UINT WINAPI waveInUnprepareHeader(HWAVEIN,WAVEHDR*,UINT);
-UINT WINAPI waveInAddBuffer(HWAVEIN,WAVEHDR*,UINT);
-UINT WINAPI waveInStart(HWAVEIN);
-UINT WINAPI waveInStop(HWAVEIN);
-UINT WINAPI waveInReset(HWAVEIN);
-UINT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
-UINT WINAPI waveInGetID(HWAVEIN,UINT*);
-UINT WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
-
-#define MIDIERR_UNPREPARED (MIDIERR_BASE + 0) /* header not prepared */
-#define MIDIERR_STILLPLAYING (MIDIERR_BASE + 1) /* still something playing */
-#define MIDIERR_NOMAP (MIDIERR_BASE + 2) /* no current map */
-#define MIDIERR_NOTREADY (MIDIERR_BASE + 3) /* hardware is still busy */
-#define MIDIERR_NODEVICE (MIDIERR_BASE + 4) /* port no longer connected */
-#define MIDIERR_INVALIDSETUP (MIDIERR_BASE + 5) /* invalid setup */
-#define MIDIERR_LASTERROR (MIDIERR_BASE + 5) /* last error in range */
-
-typedef LPDRVCALLBACK LPMIDICALLBACK;
-#define MIDIPATCHSIZE 128
-typedef WORD PATCHARRAY[MIDIPATCHSIZE];
-typedef WORD *LPPATCHARRAY;
-typedef WORD KEYARRAY[MIDIPATCHSIZE];
-typedef WORD *LPKEYARRAY;
-
-#define MIM_OPEN MM_MIM_OPEN
-#define MIM_CLOSE MM_MIM_CLOSE
-#define MIM_DATA MM_MIM_DATA
-#define MIM_LONGDATA MM_MIM_LONGDATA
-#define MIM_ERROR MM_MIM_ERROR
-#define MIM_LONGERROR MM_MIM_LONGERROR
-#define MIM_MOREDATA MM_MIM_MOREDATA
-
-#define MOM_OPEN MM_MOM_OPEN
-#define MOM_CLOSE MM_MOM_CLOSE
-#define MOM_DONE MM_MOM_DONE
-#define MOM_POSITIONCB MM_MOM_POSITIONCB
-
-/* device ID for MIDI mapper */
-
-#define MIDIMAPPER (-1)
-#define MIDI_MAPPER (-1)
-
-/* Only on Win95 and up */
-#define MIDI_IO_STATUS 0x00000020L
-
-/* flags for wFlags parm of
- midiOutCachePatches(),
- midiOutCacheDrumPatches() */
-#define MIDI_CACHE_ALL 1
-#define MIDI_CACHE_BESTFIT 2
-#define MIDI_CACHE_QUERY 3
-#define MIDI_UNCACHE 4
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
- WORD wTechnology; /* type of device */
- WORD wVoices; /* # of voices (internal synth only) */
- WORD wNotes; /* max # of notes (internal synth only) */
- WORD wChannelMask; /* channels used (internal synth only) */
- DWORD dwSupport; /* functionality supported by driver */
-} MIDIOUTCAPSA, *LPMIDIOUTCAPSA;
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- WCHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
- WORD wTechnology; /* type of device */
- WORD wVoices; /* # of voices (internal synth only) */
- WORD wNotes; /* max # of notes (internal synth only) */
- WORD wChannelMask; /* channels used (internal synth only) */
- DWORD dwSupport; /* functionality supported by driver */
-} MIDIOUTCAPSW, *LPMIDIOUTCAPSW;
-
-//DECL_WINELIB_TYPE_AW(MIDIOUTCAPS)
-//DECL_WINELIB_TYPE_AW(LPMIDIOUTCAPS)
-
-#define MOD_MIDIPORT 1 /* output port */
-#define MOD_SYNTH 2 /* generic internal synth */
-#define MOD_SQSYNTH 3 /* square wave internal synth */
-#define MOD_FMSYNTH 4 /* FM internal synth */
-#define MOD_MAPPER 5 /* MIDI mapper */
-
-#define MIDICAPS_VOLUME 0x0001 /* supports volume control */
-#define MIDICAPS_LRVOLUME 0x0002 /* separate left-right volume control */
-#define MIDICAPS_CACHE 0x0004
-#define MIDICAPS_STREAM 0x0008 /* capable of supporting stream buffer */
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
- DWORD dwSupport; /* included in win95 and higher */
-} MIDIINCAPSA, *LPMIDIINCAPSA;
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- WCHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
- DWORD dwSupport; /* included in win95 and higher */
-} MIDIINCAPSW, *LPMIDIINCAPSW;
-
-//DECL_WINELIB_TYPE_AW(MIDIINCAPS)
-//DECL_WINELIB_TYPE_AW(LPMIDIINCAPS)
-
-/* It seems that Win32 has a slightly different structure than Win 16.
- * sigh....
- */
-typedef struct midihdr_tag {
- LPSTR lpData; /* pointer to locked data block */
- DWORD dwBufferLength; /* length of data in data block */
- DWORD dwBytesRecorded;/* used for input only */
- DWORD_PTR dwUser; /* for client's use */
- DWORD dwFlags; /* assorted flags (see defines) */
- struct midihdr_tag *lpNext; /* reserved for driver */
- DWORD reserved; /* reserved for driver */
- DWORD dwOffset; /* offset of playback in case of
- * MIDISTRM buffer */
- DWORD_PTR dwReserved[8]; /* reserved for driver */
-} MIDIHDR, *LPMIDIHDR;
-
-#define MHDR_DONE 0x00000001 /* done bit */
-#define MHDR_PREPARED 0x00000002 /* set if header prepared */
-#define MHDR_INQUEUE 0x00000004 /* reserved for driver */
-#define MHDR_ISSTRM 0x00000008 /* data is sent by Stream functions */
-
-typedef struct {
- DWORD cbStruct;
- DWORD dwTempo;
-} MIDIPROPTEMPO, *LPMIDIPROPTEMPO;
-
-typedef struct {
- DWORD cbStruct;
- DWORD dwTimeDiv;
-} MIDIPROPTIMEDIV, *LPMIDIPROPTIMEDIV;
-
-#define MIDIPROP_GET 0x40000000
-#define MIDIPROP_SET 0x80000000
-#define MIDIPROP_TEMPO 0x00000002
-#define MIDIPROP_TIMEDIV 0x00000001
-
-typedef struct {
- DWORD dwDeltaTime; /* Time, in MIDI ticks, between the previous
- * event and the current event. */
- DWORD dwStreamID; /* Reserved; must be zero. */
- DWORD dwEvent; /* event => see MEVT_XXX macros */
- DWORD dwParms[1]; /* extra pmts to dwEvent if F_LONG is set */
-} MIDIEVENT, *LPMIDIEVENT;
-
-#define MEVT_EVENTTYPE(x) ((BYTE) (((x)>>24)&0xFF))
-#define MEVT_EVENTPARM(x) ((DWORD) ((x)&0x00FFFFFFL))
-
-#define MEVT_F_CALLBACK 0x40000000l
-#define MEVT_F_LONG 0x80000000l
-#define MEVT_F_SHORT 0x00000000l
-#define MEVT_COMMENT ((BYTE)0x82)
-#define MEVT_LONGMSG ((BYTE)0x80)
-#define MEVT_NOP ((BYTE)0x02)
-#define MEVT_SHORTMSG ((BYTE)0x00)
-#define MEVT_TEMPO ((BYTE)0x01)
-#define MEVT_VERSION ((BYTE)0x84)
-
-UINT WINAPI midiOutGetNumDevs(void);
-UINT WINAPI midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
-UINT WINAPI midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
-#define midiOutGetDevCaps WINELIB_NAME_AW(midiOutGetDevCaps)
-UINT WINAPI midiOutGetVolume(HMIDIOUT,DWORD*);
-UINT WINAPI midiOutSetVolume(HMIDIOUT,DWORD);
-UINT WINAPI midiOutGetErrorTextA(UINT,LPSTR,UINT);
-UINT WINAPI midiOutGetErrorTextW(UINT,LPWSTR,UINT);
-#define midiOutGetErrorText WINELIB_NAME_AW(midiOutGetErrorText)
-UINT WINAPI midiOutOpen(HMIDIOUT*,UINT,DWORD,DWORD,DWORD);
-UINT WINAPI midiOutClose(HMIDIOUT);
-UINT WINAPI midiOutPrepareHeader(HMIDIOUT,MIDIHDR*,UINT);
-UINT WINAPI midiOutUnprepareHeader(HMIDIOUT,MIDIHDR*,UINT);
-UINT WINAPI midiOutShortMsg(HMIDIOUT,DWORD);
-UINT WINAPI midiOutLongMsg(HMIDIOUT,MIDIHDR*,UINT);
-UINT WINAPI midiOutReset(HMIDIOUT);
-UINT WINAPI midiOutCachePatches(HMIDIOUT,UINT,WORD*,UINT);
-UINT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,WORD*,UINT);
-UINT WINAPI midiOutGetID(HMIDIOUT,UINT*);
-UINT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
-
-UINT WINAPI midiInGetNumDevs(void);
-UINT WINAPI midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
-UINT WINAPI midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
-#define midiInGetDevCaps WINELIB_NAME_AW(midiInGetDevCaps)
-UINT WINAPI midiInGetErrorTextA(UINT,LPSTR,UINT);
-UINT WINAPI midiInGetErrorTextW(UINT,LPWSTR,UINT);
-#define midiInGetErrorText WINELIB_NAME_AW(midiInGetErrorText)
-UINT WINAPI midiInOpen(HMIDIIN*,UINT,DWORD,DWORD,DWORD);
-UINT WINAPI midiInClose(HMIDIIN);
-UINT WINAPI midiInPrepareHeader(HMIDIIN,MIDIHDR*,UINT);
-UINT WINAPI midiInUnprepareHeader(HMIDIIN,MIDIHDR*,UINT);
-UINT WINAPI midiInAddBuffer(HMIDIIN,MIDIHDR*,UINT);
-UINT WINAPI midiInStart(HMIDIIN);
-UINT WINAPI midiInStop(HMIDIIN);
-UINT WINAPI midiInReset(HMIDIIN);
-UINT WINAPI midiInGetID(HMIDIIN,UINT*);
-UINT WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
-MMRESULT WINAPI midiStreamClose(HMIDISTRM hms);
-MMRESULT WINAPI midiStreamOpen(HMIDISTRM* phms, LPUINT uDeviceID, DWORD cMidi,
- DWORD dwCallback, DWORD dwInstance, DWORD fdwOpen);
-MMRESULT WINAPI midiStreamOut(HMIDISTRM hms, LPMIDIHDR lpMidiHdr, UINT cbMidiHdr);
-MMRESULT WINAPI midiStreamPause(HMIDISTRM hms);
-MMRESULT WINAPI midiStreamPosition(HMIDISTRM hms, LPMMTIME lpmmt, UINT cbmmt);
-MMRESULT WINAPI midiStreamProperty(HMIDISTRM hms, LPBYTE lpPropData, DWORD dwProperty);
-MMRESULT WINAPI midiStreamRestart(HMIDISTRM hms);
-MMRESULT WINAPI midiStreamStop(HMIDISTRM hms);
-
-#define AUX_MAPPER (-1)
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- CHAR szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */
- WORD wTechnology; /* type of device */
- WORD wReserved1; /* padding */
- DWORD dwSupport; /* functionality supported by driver */
-} AUXCAPSA, *LPAUXCAPSA;
-
-typedef struct {
- WORD wMid; /* manufacturer ID */
- WORD wPid; /* product ID */
- MMVERSION vDriverVersion; /* version of the driver */
- WCHAR szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */
- WORD wTechnology; /* type of device */
- WORD wReserved1; /* padding */
- DWORD dwSupport; /* functionality supported by driver */
-} AUXCAPSW, *LPAUXCAPSW;
-
-//DECL_WINELIB_TYPE_AW(AUXCAPS)
-//DECL_WINELIB_TYPE_AW(LPAUXCAPS)
-
-#define AUXCAPS_CDAUDIO 1 /* audio from internal CD-ROM drive */
-#define AUXCAPS_AUXIN 2 /* audio from auxiliary input jacks */
-
-#define AUXCAPS_VOLUME 0x0001 /* supports volume control */
-#define AUXCAPS_LRVOLUME 0x0002 /* separate left-right volume control */
-
-UINT WINAPI auxGetNumDevs(void);
-UINT WINAPI auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
-UINT WINAPI auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
-#define auxGetDevCaps WINELIB_NAME_AW(auxGetDevCaps)
-UINT WINAPI auxSetVolume(UINT,DWORD);
-UINT WINAPI auxGetVolume(UINT,LPDWORD);
-UINT WINAPI auxOutMessage(UINT,UINT,DWORD,DWORD);
-
-#define TIMERR_NOERROR (0) /* no error */
-#define TIMERR_NOCANDO (TIMERR_BASE+1) /* request not completed */
-#define TIMERR_STRUCT (TIMERR_BASE+33) /* time struct size */
-
-typedef void (CALLBACK *LPTIMECALLBACK)(UINT uTimerID, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
-
-#define TIME_ONESHOT 0x0000 /* program timer for single event */
-#define TIME_PERIODIC 0x0001 /* program for continuous periodic event */
-#define TIME_CALLBACK_FUNCTION 0x0000 /* callback is function */
-#define TIME_CALLBACK_EVENT_SET 0x0010 /* callback is event - use SetEvent */
-#define TIME_CALLBACK_EVENT_PULSE 0x0020 /* callback is event - use PulseEvent */
-#define TIME_KILL_SYNCHRONOUS 0x0100
-
-typedef struct {
- UINT wPeriodMin;
- UINT wPeriodMax;
-} TIMECAPS, *LPTIMECAPS;
-
-
-MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT);
-DWORD WINAPI timeGetTime(void); /* same for win32/win16 */
-MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
-MMRESULT WINAPI timeKillEvent(UINT);
-MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT);
-MMRESULT WINAPI timeBeginPeriod(UINT);
-MMRESULT WINAPI timeEndPeriod(UINT);
-
-#define JOYERR_NOERROR (0) /* no error */
-#define JOYERR_PARMS (JOYERR_BASE+5) /* bad parameters */
-#define JOYERR_NOCANDO (JOYERR_BASE+6) /* request not completed */
-#define JOYERR_UNPLUGGED (JOYERR_BASE+7) /* joystick is unplugged */
-
-/* JOYINFO, JOYINFOEX, MM_JOY* */
-#define JOY_BUTTON1 0x0001
-#define JOY_BUTTON2 0x0002
-#define JOY_BUTTON3 0x0004
-#define JOY_BUTTON4 0x0008
-#define JOY_BUTTON1CHG 0x0100
-#define JOY_BUTTON2CHG 0x0200
-#define JOY_BUTTON3CHG 0x0400
-#define JOY_BUTTON4CHG 0x0800
-
-#define JOYSTICKID1 0
-#define JOYSTICKID2 1
-
-/* JOYCAPS.wCaps */
-#define JOYCAPS_HASZ 0x0001
-#define JOYCAPS_HASR 0x0002
-#define JOYCAPS_HASU 0x0004
-#define JOYCAPS_HASV 0x0008
-#define JOYCAPS_HASPOV 0x0010
-#define JOYCAPS_POV4DIR 0x0020
-#define JOYCAPS_POVCTS 0x0040
-
-/* JOYINFOEX stuff */
-#define JOY_POVCENTERED (WORD) -1
-#define JOY_POVFORWARD 0
-#define JOY_POVRIGHT 9000
-#define JOY_POVBACKWARD 18000
-#define JOY_POVLEFT 27000
-
-#define JOY_RETURNX 0x00000001
-#define JOY_RETURNY 0x00000002
-#define JOY_RETURNZ 0x00000004
-#define JOY_RETURNR 0x00000008
-#define JOY_RETURNU 0x00000010
-#define JOY_RETURNV 0x00000020
-#define JOY_RETURNPOV 0x00000040
-#define JOY_RETURNBUTTONS 0x00000080
-#define JOY_RETURNRAWDATA 0x00000100
-#define JOY_RETURNPOVCTS 0x00000200
-#define JOY_RETURNCENTERED 0x00000400
-#define JOY_USEDEADZONE 0x00000800
-#define JOY_RETURNALL (JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | \
- JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | \
- JOY_RETURNPOV | JOY_RETURNBUTTONS)
-#define JOY_CAL_READALWAYS 0x00010000
-#define JOY_CAL_READXYONLY 0x00020000
-#define JOY_CAL_READ3 0x00040000
-#define JOY_CAL_READ4 0x00080000
-#define JOY_CAL_READXONLY 0x00100000
-#define JOY_CAL_READYONLY 0x00200000
-#define JOY_CAL_READ5 0x00400000
-#define JOY_CAL_READ6 0x00800000
-#define JOY_CAL_READZONLY 0x01000000
-#define JOY_CAL_READRONLY 0x02000000
-#define JOY_CAL_READUONLY 0x04000000
-#define JOY_CAL_READVONLY 0x08000000
-
-typedef struct {
- WORD wMid;
- WORD wPid;
- CHAR szPname[MAXPNAMELEN];
- UINT wXmin;
- UINT wXmax;
- UINT wYmin;
- UINT wYmax;
- UINT wZmin;
- UINT wZmax;
- UINT wNumButtons;
- UINT wPeriodMin;
- UINT wPeriodMax;
- UINT wRmin;
- UINT wRmax;
- UINT wUmin;
- UINT wUmax;
- UINT wVmin;
- UINT wVmax;
- UINT wCaps;
- UINT wMaxAxes;
- UINT wNumAxes;
- UINT wMaxButtons;
- CHAR szRegKey[MAXPNAMELEN];
- CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSA, *LPJOYCAPSA;
-
-typedef struct {
- WORD wMid;
- WORD wPid;
- WCHAR szPname[MAXPNAMELEN];
- UINT wXmin;
- UINT wXmax;
- UINT wYmin;
- UINT wYmax;
- UINT wZmin;
- UINT wZmax;
- UINT wNumButtons;
- UINT wPeriodMin;
- UINT wPeriodMax;
- UINT wRmin;
- UINT wRmax;
- UINT wUmin;
- UINT wUmax;
- UINT wVmin;
- UINT wVmax;
- UINT wCaps;
- UINT wMaxAxes;
- UINT wNumAxes;
- UINT wMaxButtons;
- WCHAR szRegKey[MAXPNAMELEN];
- WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSW, *LPJOYCAPSW;
-//DECL_WINELIB_TYPE_AW(JOYCAPS)
-//DECL_WINELIB_TYPE_AW(LPJOYCAPS)
-
-typedef struct {
- UINT wXpos;
- UINT wYpos;
- UINT wZpos;
- UINT wButtons;
-} JOYINFO, *LPJOYINFO;
-
-typedef struct {
- DWORD dwSize; /* size of structure */
- DWORD dwFlags; /* flags to indicate what to return */
- DWORD dwXpos; /* x position */
- DWORD dwYpos; /* y position */
- DWORD dwZpos; /* z position */
- DWORD dwRpos; /* rudder/4th axis position */
- DWORD dwUpos; /* 5th axis position */
- DWORD dwVpos; /* 6th axis position */
- DWORD dwButtons; /* button states */
- DWORD dwButtonNumber; /* current button number pressed */
- DWORD dwPOV; /* point of view state */
- DWORD dwReserved1; /* reserved for communication between winmm & driver */
- DWORD dwReserved2; /* reserved for future expansion */
-} JOYINFOEX,*LPJOYINFOEX;
-
-
-MMRESULT WINAPI joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
-MMRESULT WINAPI joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
-#define joyGetDevCaps WINELIB_NAME_AW(joyGetDevCaps)
-UINT WINAPI joyGetNumDevs(void);
-MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
-MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
-MMRESULT WINAPI joyGetThreshold(UINT,UINT*);
-MMRESULT WINAPI joyReleaseCapture(UINT);
-MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
-MMRESULT WINAPI joySetThreshold(UINT,UINT);
-
-#define MIXERR_BASE 1024
-#define MIXERR_INVALLINE (MIXERR_BASE + 0)
-#define MIXERR_INVALCONTROL (MIXERR_BASE + 1)
-#define MIXERR_INVALVALUE (MIXERR_BASE + 2)
-#define MIXERR_LASTERROR (MIXERR_BASE + 2)
-
-typedef struct {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- DWORD fdwSupport;
- DWORD cDestinations;
-} MIXERCAPSA,*LPMIXERCAPSA;
-
-typedef struct {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- DWORD fdwSupport;
- DWORD cDestinations;
-} MIXERCAPSW,*LPMIXERCAPSW;
-
-//DECL_WINELIB_TYPE_AW(MIXERCAPS)
-//DECL_WINELIB_TYPE_AW(LPMIXERCAPS)
-
-#define MIXER_SHORT_NAME_CHARS 16
-#define MIXER_LONG_NAME_CHARS 64
-
-/* MIXERLINE.fdwLine */
-#define MIXERLINE_LINEF_ACTIVE 0x00000001
-#define MIXERLINE_LINEF_DISCONNECTED 0x00008000
-#define MIXERLINE_LINEF_SOURCE 0x80000000
-
-/* Mixer flags */
-#define MIXER_OBJECTF_HANDLE 0x80000000L
-#define MIXER_OBJECTF_MIXER 0x00000000L
-#define MIXER_OBJECTF_HMIXER (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)
-#define MIXER_OBJECTF_WAVEOUT 0x10000000L
-#define MIXER_OBJECTF_HWAVEOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)
-#define MIXER_OBJECTF_WAVEIN 0x20000000L
-#define MIXER_OBJECTF_HWAVEIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)
-#define MIXER_OBJECTF_MIDIOUT 0x30000000L
-#define MIXER_OBJECTF_HMIDIOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)
-#define MIXER_OBJECTF_MIDIIN 0x40000000L
-#define MIXER_OBJECTF_HMIDIIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)
-#define MIXER_OBJECTF_AUX 0x50000000L
-
-/* MIXERLINE.dwComponentType */
-/* component types for destinations and sources */
-#define MIXERLINE_COMPONENTTYPE_DST_FIRST 0x00000000L
-#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED (MIXERLINE_COMPONENTTYPE_DST_FIRST + 0)
-#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL (MIXERLINE_COMPONENTTYPE_DST_FIRST + 1)
-#define MIXERLINE_COMPONENTTYPE_DST_LINE (MIXERLINE_COMPONENTTYPE_DST_FIRST + 2)
-#define MIXERLINE_COMPONENTTYPE_DST_MONITOR (MIXERLINE_COMPONENTTYPE_DST_FIRST + 3)
-#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (MIXERLINE_COMPONENTTYPE_DST_FIRST + 4)
-#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST + 5)
-#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE (MIXERLINE_COMPONENTTYPE_DST_FIRST + 6)
-#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)
-#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
-#define MIXERLINE_COMPONENTTYPE_DST_LAST (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
-
-#define MIXERLINE_COMPONENTTYPE_SRC_FIRST 0x00001000L
-#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0)
-#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1)
-#define MIXERLINE_COMPONENTTYPE_SRC_LINE (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
-#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
-#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4)
-#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5)
-#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6)
-#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7)
-#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8)
-#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9)
-#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
-#define MIXERLINE_COMPONENTTYPE_SRC_LAST (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
-
-/* MIXERLINE.Target.dwType */
-#define MIXERLINE_TARGETTYPE_UNDEFINED 0
-#define MIXERLINE_TARGETTYPE_WAVEOUT 1
-#define MIXERLINE_TARGETTYPE_WAVEIN 2
-#define MIXERLINE_TARGETTYPE_MIDIOUT 3
-#define MIXERLINE_TARGETTYPE_MIDIIN 4
-#define MIXERLINE_TARGETTYPE_AUX 5
-
-typedef struct {
- DWORD cbStruct;
- DWORD dwDestination;
- DWORD dwSource;
- DWORD dwLineID;
- DWORD fdwLine;
- DWORD dwUser;
- DWORD dwComponentType;
- DWORD cChannels;
- DWORD cConnections;
- DWORD cControls;
- CHAR szShortName[MIXER_SHORT_NAME_CHARS];
- CHAR szName[MIXER_LONG_NAME_CHARS];
- struct {
- DWORD dwType;
- DWORD dwDeviceID;
[truncated at 1000 lines; 1228 more skipped]
reactos/include/wine
diff -N mmsystem.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ mmsystem.h 7 Dec 2004 21:41:02 -0000 1.1
@@ -0,0 +1,46 @@
+/*
+ * MMSYSTEM - Multimedia Wine Extension ... :-)
+ *
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_MMSYSTEM_H
+#define __WINE_MMSYSTEM_H
+
+#include_next <mmsystem.h>
+
+#define DRV_SUCCESS 0x0001
+#define DRV_FAILURE 0x0000
+
+#define MCI_OPEN_DRIVER 0x0801
+#define MCI_CLOSE_DRIVER 0x0802
+#define MCI_SOUND 0x0812
+
+#define MCI_SOUND_NAME 0x00000100L
+
+typedef LPCSTR HPCSTR; /* a huge version of LPCSTR */
+
+typedef struct tagMCI_SOUND_PARMS {
+ DWORD_PTR dwCallback;
+ LPCSTR lpstrSoundName;
+} MCI_SOUND_PARMS, *LPMCI_SOUND_PARMS;
+
+typedef struct midievent_tag *LPMIDIEVENT;
+
+DWORD WINAPI GetDriverFlags(HDRVR hDriver);
+
+#endif /* __WINE_WINNT_H */
reactos/w32api/include
diff -u -r1.1 -r1.2
--- mmsystem.h 21 Feb 2004 09:20:34 -0000 1.1
+++ mmsystem.h 7 Dec 2004 21:41:02 -0000 1.2
@@ -1565,7 +1565,7 @@
MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
+MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD);
MMRESULT WINAPI waveOutClose(HWAVEOUT);
MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
@@ -1586,7 +1586,7 @@
MMRESULT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
+MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD);
MMRESULT WINAPI waveInClose(HWAVEIN);
MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
@@ -1651,7 +1651,7 @@
MMRESULT WINAPI mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
MMRESULT WINAPI mixerClose(HMIXER);
-DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD,DWORD);
+DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD_PTR,DWORD_PTR);
MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
reactos/lib/winmm
diff -u -r1.7 -r1.8
--- lolvldrv.c 19 Sep 2004 11:07:39 -0000 1.7
+++ lolvldrv.c 7 Dec 2004 21:41:02 -0000 1.8
@@ -85,7 +85,7 @@
llTypes[drv].Map16To32A = mp1632;
llTypes[drv].UnMap16To32A = um1632;
llTypes[drv].Map32ATo16 = mp3216;
- llTypes[drv].UnMap32ATo16 = um1632;
+ llTypes[drv].UnMap32ATo16 = um3216;
llTypes[drv].Callback = cb;
}
@@ -561,6 +561,9 @@
}
TRACE("Got %u dev for (%s:%s)\n", count, lpDrv->drvname, llTypes[type].typestr);
+
+ if (HIWORD(count))
+ return FALSE;
/* got some drivers */
if (lpDrv->bIsMapper) {
reactos/lib/winmm
diff -u -r1.5 -r1.6
--- mci.c 19 Sep 2004 11:07:39 -0000 1.5
+++ mci.c 7 Dec 2004 21:41:02 -0000 1.6
@@ -248,8 +248,8 @@
do {
str = lmem;
lmem += strlen(lmem) + 1;
- flg = *(LPDWORD)lmem;
- eid = *(LPWORD)(lmem + sizeof(DWORD));
+ flg = *(const DWORD*)lmem;
+ eid = *(const WORD*)(lmem + sizeof(DWORD));
lmem += sizeof(DWORD) + sizeof(WORD);
idx ++;
/* EPP TRACE("cmd='%s' %08lx %04x\n", str, flg, eid); */
@@ -291,8 +291,8 @@
do {
str = lmem;
lmem += strlen(lmem) + 1;
- flg = *(LPDWORD)lmem;
- eid = *(LPWORD)(lmem + sizeof(DWORD));
+ flg = *(const DWORD*)lmem;
+ eid = *(const WORD*)(lmem + sizeof(DWORD));
TRACE("cmd='%s' %08lx %04x\n", str, flg, eid);
lmem += sizeof(DWORD) + sizeof(WORD);
} while (eid != MCI_END_COMMAND && eid != MCI_END_COMMAND_LIST);
@@ -379,7 +379,7 @@
count = 0;
do {
lmem += strlen(lmem) + 1;
- eid = *(LPWORD)(lmem + sizeof(DWORD));
+ eid = *(const WORD*)(lmem + sizeof(DWORD));
lmem += sizeof(DWORD) + sizeof(WORD);
if (eid == MCI_COMMAND_HEAD)
count++;
@@ -393,7 +393,7 @@
do {
str = lmem;
lmem += strlen(lmem) + 1;
- eid = *(LPWORD)(lmem + sizeof(DWORD));
+ eid = *(const WORD*)(lmem + sizeof(DWORD));
lmem += sizeof(DWORD) + sizeof(WORD);
if (eid == MCI_COMMAND_HEAD)
S_MciCmdTable[uTbl].aVerbs[count++] = str;
@@ -619,8 +619,8 @@
static DWORD MCI_GetReturnType(LPCSTR lpCmd)
{
lpCmd += strlen(lpCmd) + 1 + sizeof(DWORD) + sizeof(WORD);
- if (*lpCmd == '\0' && *(LPWORD)(lpCmd + 1 + sizeof(DWORD)) == MCI_RETURN) {
- return *(LPDWORD)(lpCmd + 1);
+ if (*lpCmd == '\0' && *(const WORD*)(lpCmd + 1 + sizeof(DWORD)) == MCI_RETURN) {
+ return *(const DWORD*)(lpCmd + 1);
}
return 0L;
}
@@ -630,7 +630,7 @@
*/
static WORD MCI_GetMessage(LPCSTR lpCmd)
{
- return (WORD)*(LPDWORD)(lpCmd + strlen(lpCmd) + 1);
+ return (WORD)*(const DWORD*)(lpCmd + strlen(lpCmd) + 1);
}
/**************************************************************************
@@ -712,8 +712,8 @@
do { /* loop on options for command table for the requested verb */
str = lmem;
lmem += (len = strlen(lmem)) + 1;
- flg = *(LPDWORD)lmem;
- eid = *(LPWORD)(lmem + sizeof(DWORD));
+ flg = *(const DWORD*)lmem;
+ eid = *(const WORD*)(lmem + sizeof(DWORD));
lmem += sizeof(DWORD) + sizeof(WORD);
/* EPP TRACE("\tcmd='%s' inCst=%c eid=%04x\n", str, inCst ? 'Y' : 'N', eid); */
reactos/lib/winmm
diff -u -r1.3 -r1.4
--- mmsystem.c 20 Oct 2004 17:42:11 -0000 1.3
+++ mmsystem.c 7 Dec 2004 21:41:02 -0000 1.4
@@ -1893,7 +1893,7 @@
return (WINE_MMTHREAD*)MapSL( MAKESEGPTR(h, 0) );
}
-void WINAPI WINE_mmThreadEntryPoint(DWORD);
+DWORD WINAPI WINE_mmThreadEntryPoint(LPVOID);
/**************************************************************************
* mmThreadCreate [MMSYSTEM.1120]
@@ -1951,8 +1951,8 @@
/* lpMMThd->hVxD = OpenVxDHandle(lpMMThd->hEvent); */
}
- lpMMThd->hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)WINE_mmThreadEntryPoint,
- (LPVOID)(DWORD)hndl, CREATE_SUSPENDED, &lpMMThd->dwThreadID);
+ lpMMThd->hThread = CreateThread(0, 0, WINE_mmThreadEntryPoint,
+ (LPVOID)(DWORD_PTR)hndl, CREATE_SUSPENDED, &lpMMThd->dwThreadID);
if (lpMMThd->hThread == 0) {
WARN("Couldn't create thread\n");
/* clean-up(VxDhandle...); devicedirectio... */
@@ -2143,9 +2143,9 @@
/**************************************************************************
* __wine_mmThreadEntryPoint (MMSYSTEM.2047)
*/
-void WINAPI WINE_mmThreadEntryPoint(DWORD _pmt)
+DWORD WINAPI WINE_mmThreadEntryPoint(LPVOID p)
{
- HANDLE16 hndl = (HANDLE16)_pmt;
+ HANDLE16 hndl = (HANDLE16)(DWORD_PTR)p;
WINE_MMTHREAD* lpMMThd = WINMM_GetmmThread(hndl);
TRACE("(%04x %p)\n", hndl, lpMMThd);
@@ -2173,6 +2173,8 @@
CloseHandle(lpMMThd->hEvent);
GlobalFree16(hndl);
TRACE("done\n");
+
+ return 0;
}
typedef BOOL16 (WINAPI *MMCPLCALLBACK)(HWND, LPCSTR, LPCSTR, LPCSTR);
reactos/lib/winmm
diff -u -r1.4 -r1.5
--- playsound.c 16 Jun 2004 18:48:46 -0000 1.4
+++ playsound.c 7 Dec 2004 21:41:02 -0000 1.5
@@ -72,7 +72,7 @@
static const WCHAR wszNull[] = {0};
TRACE("searching in SystemSound list for %s\n", debugstr_w(lpszName));
- GetProfileStringW(wszSounds, (LPWSTR)lpszName, wszNull, str, sizeof(str)/sizeof(str[0]));
+ GetProfileStringW(wszSounds, lpszName, wszNull, str, sizeof(str)/sizeof(str[0]));
if (lstrlenW(str) == 0)
{
if (uFlags & SND_NODEFAULT) goto next;
@@ -420,7 +420,7 @@
return bRet;
}
-BOOL MULTIMEDIA_PlaySound(const void* pszSound, HMODULE hmod, DWORD fdwSound, BOOL bUnicode)
+static BOOL MULTIMEDIA_PlaySound(const void* pszSound, HMODULE hmod, DWORD fdwSound, BOOL bUnicode)
{
WINE_PLAYSOUND* wps = NULL;
reactos/lib/winmm
diff -u -r1.5 -r1.6
--- time.c 20 Oct 2004 17:42:11 -0000 1.5
+++ time.c 7 Dec 2004 21:41:02 -0000 1.6
@@ -242,18 +242,7 @@
sleep_time = TIME_MMSysTimeCallback(iData);
if (sleep_time == 0)
- {
- /* This Sleep is controversial; it was added to make
- Wine able to replicate a high speed (e.g. 1 ms)
- timer event where the called event routine chews
- a lot of CPU. This is required because of the
- bias some Linux kernel versions have against threads that
- chew a lot of the CPU; this Sleep(0) yields enough
- in that spin case doesn't trigger the bias.
- Further, it should do no harm, but an fyi. */
- Sleep(0);
continue;
- }
rc = WaitForSingleObject(TIME_hWakeEvent, sleep_time);
if (rc != WAIT_TIMEOUT && rc != WAIT_OBJECT_0)
reactos/lib/winmm
diff -u -r1.9 -r1.10
--- winehq2ros.patch 20 Oct 2004 17:42:11 -0000 1.9
+++ winehq2ros.patch 7 Dec 2004 21:41:02 -0000 1.10
@@ -1,11 +1,16 @@
+? Makefile
+? Makefile.ros
+? Makefile.ros-template
+? winehq2ros.patch
+? winmm.spec.def
Index: lolvldrv.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/lolvldrv.c,v
-retrieving revision 1.61
-diff -u -r1.61 lolvldrv.c
---- lolvldrv.c 22 Sep 2004 04:00:14 -0000 1.61
-+++ lolvldrv.c 20 Oct 2004 17:54:30 -0000
-@@ -758,11 +758,18 @@
+retrieving revision 1.62
+diff -u -r1.62 lolvldrv.c
+--- lolvldrv.c 1 Dec 2004 15:32:19 -0000 1.62
++++ lolvldrv.c 7 Dec 2004 21:01:01 -0000
+@@ -761,11 +761,18 @@
{
TRACE("()\n");
/* first load hardware drivers */
@@ -29,10 +34,10 @@
Index: winmm.c
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winmm.c,v
-retrieving revision 1.45
-diff -u -r1.45 winmm.c
---- winmm.c 19 Oct 2004 23:55:15 -0000 1.45
-+++ winmm.c 20 Oct 2004 17:54:32 -0000
+retrieving revision 1.46
+diff -u -r1.46 winmm.c
+--- winmm.c 21 Nov 2004 15:37:04 -0000 1.46
++++ winmm.c 7 Dec 2004 21:01:02 -0000
@@ -94,7 +94,9 @@
return FALSE;
WINMM_IData->hWinMM32Instance = hInstDLL;
@@ -56,13 +61,44 @@
loaded = 1;
}
}
+@@ -669,7 +673,7 @@
+ /**************************************************************************
+ * mixerMessage [WINMM.@]
+ */
+-UINT WINAPI mixerMessage(HMIXER hmix, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
++DWORD WINAPI mixerMessage(HMIXER hmix, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
+ {
+ LPWINE_MLD wmld;
+
+@@ -2669,8 +2673,8 @@
+ * waveOutOpen [WINMM.@]
+ * All the args/structs have the same layout as the win16 equivalents
+ */
+-UINT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
+- const LPWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
++MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
++ LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
+ DWORD_PTR dwInstance, DWORD dwFlags)
+ {
+ return WAVE_Open((HANDLE*)lphWaveOut, uDeviceID, MMDRV_WAVEOUT, lpFormat,
+@@ -3054,8 +3058,8 @@
+ /**************************************************************************
+ * waveInOpen [WINMM.@]
+ */
+-UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
+- const LPWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
++MMRESULT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
++ LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
+ DWORD_PTR dwInstance, DWORD dwFlags)
+ {
+ return WAVE_Open((HANDLE*)lphWaveIn, uDeviceID, MMDRV_WAVEIN, lpFormat,
Index: winmm_res.rc
===================================================================
RCS file: /home/wine/wine/dlls/winmm/winmm_res.rc,v
retrieving revision 1.17
diff -u -r1.17 winmm_res.rc
--- winmm_res.rc 16 Aug 2004 20:02:09 -0000 1.17
-+++ winmm_res.rc 20 Oct 2004 17:54:32 -0000
++++ winmm_res.rc 7 Dec 2004 21:01:03 -0000
@@ -34,7 +34,7 @@
#include "winmm_Es.rc"
#include "winmm_Fr.rc"
reactos/lib/winmm
diff -u -r1.14 -r1.15
--- winmm.c 20 Oct 2004 17:42:11 -0000 1.14
+++ winmm.c 7 Dec 2004 21:41:02 -0000 1.15
@@ -171,6 +171,15 @@
ERR_TO_STR(MMSYSERR_BADERRNUM);
ERR_TO_STR(MMSYSERR_INVALFLAG);
ERR_TO_STR(MMSYSERR_INVALPARAM);
+ ERR_TO_STR(MMSYSERR_HANDLEBUSY);
+ ERR_TO_STR(MMSYSERR_INVALIDALIAS);
+ ERR_TO_STR(MMSYSERR_BADDB);
+ ERR_TO_STR(MMSYSERR_KEYNOTFOUND);
+ ERR_TO_STR(MMSYSERR_READERROR);
+ ERR_TO_STR(MMSYSERR_WRITEERROR);
+ ERR_TO_STR(MMSYSERR_DELETEERROR);
+ ERR_TO_STR(MMSYSERR_VALNOTFOUND);
+ ERR_TO_STR(MMSYSERR_NODRIVERCB);
ERR_TO_STR(WAVERR_BADFORMAT);
ERR_TO_STR(WAVERR_STILLPLAYING);
ERR_TO_STR(WAVERR_UNPREPARED);
@@ -664,7 +673,7 @@
/**************************************************************************
* mixerMessage [WINMM.@]
*/
-UINT WINAPI mixerMessage(HMIXER hmix, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
+DWORD WINAPI mixerMessage(HMIXER hmix, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
{
LPWINE_MLD wmld;
@@ -2664,8 +2673,8 @@
* waveOutOpen [WINMM.@]
* All the args/structs have the same layout as the win16 equivalents
*/
-UINT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
- const LPWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
+MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
+ LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
DWORD_PTR dwInstance, DWORD dwFlags)
{
return WAVE_Open((HANDLE*)lphWaveOut, uDeviceID, MMDRV_WAVEOUT, lpFormat,
@@ -3049,8 +3058,8 @@
/**************************************************************************
* waveInOpen [WINMM.@]
*/
-UINT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
- const LPWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
+MMRESULT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
+ LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback,
DWORD_PTR dwInstance, DWORD dwFlags)
{
return WAVE_Open((HANDLE*)lphWaveIn, uDeviceID, MMDRV_WAVEIN, lpFormat,
CVSspam 0.2.8