/**************************************************************************** * * mmreg.h - Registered Multimedia Information Public Header File * * Copyright (c) 1991,1992,1993 Microsoft Corporation. All Rights Reserved. * * Multimedia Registration * * Place this system include file in your INCLUDE path with the Windows SDK * include files. * * Obtain the Multimedia Developer Registration Kit from: * * Microsoft Corporation * Multimedia Systems Group * Product Marketing * One Microsoft Way * Redmond, WA 98052-6399 * * 800-227-4679 x11771 * * Last Update: 01/21/93 * ***************************************************************************/ // Define the following to skip definitions // // NOMMIDS Multimedia IDs are not defined // NONEWWAVE No new waveform types are defined except WAVEFORMATEX // NONEWRIFF No new RIFF forms are defined // NONEWIC No new Image Compressor types are defined #ifndef _INC_MMREG /* use version number to verify compatibility */ #define _INC_MMREG 130 // version * 100 + revision #ifndef RC_INVOKED #pragma pack(1) /* Assume byte packing throughout */ #endif /* RC_INVOKED */ #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ #ifndef NOMMIDS /* manufacturer IDs */ #ifndef MM_MICROSOFT #define MM_MICROSOFT 1 /* Microsoft Corporation */ #endif #define MM_CREATIVE 2 /* Creative Labs Inc. */ #define MM_MEDIAVISION 3 /* Media Vision Inc. */ #define MM_FUJITSU 4 #define MM_ARTISOFT 20 /* Artisoft Inc. */ #define MM_TURTLE_BEACH 21 #define MM_IBM 22 /* International Bussiness Machines Corp. */ #define MM_VOCALTEC 23 /* Vocaltec LTD. */ #define MM_ROLAND 24 #define MM_DIGISPEECH 25 /* Digispeech, Inc. */ #define MM_NEC 26 /* NEC */ #define MM_ATI 27 /* ATI */ #define MM_WANGLABS 28 /* Wang Laboratories, Inc. */ #define MM_TANDY 29 /* Tandy Corporation */ #define MM_VOYETRA 30 /* Voyetra */ #define MM_ANTEX 31 /* Antex */ #define MM_ICL_PS 32 #define MM_INTEL 33 #define MM_GRAVIS 34 #define MM_VAL 35 /* Video Associates Labs */ #define MM_INTERACTIVE 36 /* InterActive, Inc. */ #define MM_YAMAHA 37 /* Yamaha Corp. of America */ #define MM_EVEREX 38 /* Everex Systems, Inc. */ #define MM_ECHO 39 /* Echo Speech Corporation */ #define MM_SIERRA 40 /* Sierra Semiconductor */ #define MM_CAT 41 /* Computer Aided Technologies */ #define MM_APPS 42 /* APPS Software International */ #define MM_DSP_GROUP 43 /* DSP Group, Inc. */ #define MM_MELABS 44 /* microEngineering Labs */ #define MM_COMPUTER_FRIENDS 45 /* Computer Friends, Inc */ /* MM_MICROSOFT product IDs */ #ifndef MM_MIDI_MAPPER #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 */ #endif #define MM_PCSPEAKER_WAVEOUT 13 /* PC Speaker waveform output */ #define MM_MSFT_WSS_WAVEIN 14 /* MS Audio Board waveform input */ #define MM_MSFT_WSS_WAVEOUT 15 /* MS Audio Board waveform output */ #define MM_MSFT_WSS_FMSYNTH_STEREO 16 /* MS Audio Board Stereo FM synthesizer */ #define MM_MSFT_WSS_OEM_WAVEIN 18 /* MS OEM Audio Board waveform input */ #define MM_MSFT_WSS_OEM_WAVEOUT 19 /* MS OEM Audio Board waveform Output */ #define MM_MSFT_WSS_OEM_FMSYNTH_STEREO 20 /* MS OEM Audio Board Stereo FM synthesizer */ #define MM_MSFT_WSS_AUX 21 /* MS Audio Board Auxiliary Port */ #define MM_MSFT_WSS_OEM_AUX 22 /* MS OEM Audio Auxiliary Port */ #define MM_MSFT_GENERIC_WAVEIN 23 /* MS vanilla driver waveform input */ #define MM_MSFT_GENERIC_WAVEOUT 24 /* MS vanilla driver waveform output */ #define MM_MSFT_GENERIC_MIDIIN 25 /* MS vanilla driver MIDI input */ #define MM_MSFT_GENERIC_MIDIOUT 26 /* MS vanilla driver external MIDI output */ #define MM_MSFT_GENERIC_MIDISYNTH 27 /* MS vanilla driver MIDI synthesizer */ #define MM_MSFT_GENERIC_AUX_LINE 28 /* MS vanilla driver aux (line in) */ #define MM_MSFT_GENERIC_AUX_MIC 29 /* MS vanilla driver aux (mic) */ #define MM_MSFT_GENERIC_AUX_CD 30 /* MS vanilla driver aux (CD) */ /* MM_CREATIVE product IDs */ #define MM_CREATIVE_SB15_WAVEIN 1 /* SB (r) 1.5 waveform input */ #define MM_CREATIVE_SB20_WAVEIN 2 /* SB (r) 2.0 waveform input */ #define MM_CREATIVE_SBPRO_WAVEIN 3 /* SB Pro (r) waveform input */ #define MM_CREATIVE_SBP16_WAVEIN 4 /* SBP16 (r) waveform input */ #define MM_CREATIVE_SB15_WAVEOUT 101 /* SB (r) 1.5 waveform output */ #define MM_CREATIVE_SB20_WAVEOUT 102 /* SB (r) 2.0 waveform output */ #define MM_CREATIVE_SBPRO_WAVEOUT 103 /* SB Pro (r) waveform output */ #define MM_CREATIVE_SBP16_WAVEOUT 104 /* SBP16 (r) waveform output */ #define MM_CREATIVE_MIDIOUT 201 /* SB (r) MIDI output port */ #define MM_CREATIVE_MIDIIN 202 /* SB (r) MIDI input port */ #define MM_CREATIVE_FMSYNTH_MONO 301 /* SB (r) FM synthesizer */ #define MM_CREATIVE_FMSYNTH_STEREO 302 /* SB Pro (r) stereo FM synthesizer */ #define MM_CREATIVE_AUX_CD 401 /* SB Pro (r) aux (CD) */ #define MM_CREATIVE_AUX_LINE 402 /* SB Pro (r) aux (line in) */ #define MM_CREATIVE_AUX_MIC 403 /* SB Pro (r) aux (mic) */ /* MM_ARTISOFT product IDs */ #define MM_ARTISOFT_SBWAVEIN 1 /* Artisoft Sounding Board waveform input */ #define MM_ARTISOFT_SBWAVEOUT 2 /* Artisoft Sounding Board waveform output */ /* MM_IBM Product IDs */ #define MM_MMOTION_WAVEAUX 1 /* IBM M-Motion Auxiliary Device */ #define MM_MMOTION_WAVEOUT 2 /* IBM M-Motion Waveform Output */ #define MM_MMOTION_WAVEIN 3 /* IBM M-Motion Waveform Input */ /* MM_MEDIAVISION Product IDs */ #define MM_MEDIAVISION_PROAUDIO 0x10 #define MM_PROAUD_MIDIOUT MM_MEDIAVISION_PROAUDIO+1 #define MM_PROAUD_MIDIIN MM_MEDIAVISION_PROAUDIO+2 #define MM_PROAUD_SYNTH MM_MEDIAVISION_PROAUDIO+3 #define MM_PROAUD_WAVEOUT MM_MEDIAVISION_PROAUDIO+4 #define MM_PROAUD_WAVEIN MM_MEDIAVISION_PROAUDIO+5 #define MM_PROAUD_MIXER MM_MEDIAVISION_PROAUDIO+6 #define MM_PROAUD_AUX MM_MEDIAVISION_PROAUDIO+7 #define MM_MEDIAVISION_THUNDER 0x20 #define MM_THUNDER_WAVEOUT MM_MEDIAVISION_THUNDER+1 #define MM_THUNDER_WAVEIN MM_MEDIAVISION_THUNDER+2 #define MM_THUNDER_SYNTH MM_MEDIAVISION_THUNDER+3 #define MM_MEDIAVISION_TPORT 0x40 #define MM_TPORT_WAVEOUT MM_MEDIAVISION_TPORT+1 #define MM_TPORT_WAVEIN MM_MEDIAVISION_TPORT+2 #define MM_TPORT_SYNTH MM_MEDIAVISION_TPORT+3 // THIS CARD IS THE OEM VERSION OF THE NEXT PAS #define MM_MEDIAVISION_PROAUDIO_PLUS 0x50 #define MM_PROAUD_PLUS_MIDIOUT MM_MEDIAVISION_PROAUDIO_PLUS+1 #define MM_PROAUD_PLUS_MIDIIN MM_MEDIAVISION_PROAUDIO_PLUS+2 #define MM_PROAUD_PLUS_SYNTH MM_MEDIAVISION_PROAUDIO_PLUS+3 #define MM_PROAUD_PLUS_WAVEOUT MM_MEDIAVISION_PROAUDIO_PLUS+4 #define MM_PROAUD_PLUS_WAVEIN MM_MEDIAVISION_PROAUDIO_PLUS+5 #define MM_PROAUD_PLUS_MIXER MM_MEDIAVISION_PROAUDIO_PLUS+6 #define MM_PROAUD_PLUS_AUX MM_MEDIAVISION_PROAUDIO_PLUS+7 // THIS CARD IS THE NEW MEDIA VISION 16-bit card #define MM_MEDIAVISION_PROAUDIO_16 0x60 #define MM_PROAUD_16_MIDIOUT MM_MEDIAVISION_PROAUDIO_16+1 #define MM_PROAUD_16_MIDIIN MM_MEDIAVISION_PROAUDIO_16+2 #define MM_PROAUD_16_SYNTH MM_MEDIAVISION_PROAUDIO_16+3 #define MM_PROAUD_16_WAVEOUT MM_MEDIAVISION_PROAUDIO_16+4 #define MM_PROAUD_16_WAVEIN MM_MEDIAVISION_PROAUDIO_16+5 #define MM_PROAUD_16_MIXER MM_MEDIAVISION_PROAUDIO_16+6 #define MM_PROAUD_16_AUX MM_MEDIAVISION_PROAUDIO_16+7 // THIS CARD IS THE NEW MEDIA VISION CDPC card #define MM_MEDIAVISION_CDPC 0x70 #define MM_CDPC_MIDIOUT MM_MEDIAVISION_CDPC+1 #define MM_CDPC_MIDIIN MM_MEDIAVISION_CDPC+2 #define MM_CDPC_SYNTH MM_MEDIAVISION_CDPC+3 #define MM_CDPC_WAVEOUT MM_MEDIAVISION_CDPC+4 #define MM_CDPC_WAVEIN MM_MEDIAVISION_CDPC+5 #define MM_CDPC_MIXER MM_MEDIAVISION_CDPC+6 #define MM_CDPC_AUX MM_MEDIAVISION_CDPC+7 // // Opus MV1208 Chipset // #define MM_MEDIAVISION_OPUS1208 0x80 #define MM_OPUS401_MIDIOUT MM_MEDIAVISION_OPUS1208+1 #define MM_OPUS401_MIDIIN MM_MEDIAVISION_OPUS1208+2 #define MM_OPUS1208_SYNTH MM_MEDIAVISION_OPUS1208+3 #define MM_OPUS1208_WAVEOUT MM_MEDIAVISION_OPUS1208+4 #define MM_OPUS1208_WAVEIN MM_MEDIAVISION_OPUS1208+5 #define MM_OPUS1208_MIXER MM_MEDIAVISION_OPUS1208+6 #define MM_OPUS1208_AUX MM_MEDIAVISION_OPUS1208+7 // // Opus MV1216 Chipset // #define MM_MEDIAVISION_OPUS1216 0x90 #define MM_OPUS1216_MIDIOUT MM_MEDIAVISION_OPUS1216+1 #define MM_OPUS1216_MIDIIN MM_MEDIAVISION_OPUS1216+2 #define MM_OPUS1216_SYNTH MM_MEDIAVISION_OPUS1216+3 #define MM_OPUS1216_WAVEOUT MM_MEDIAVISION_OPUS1216+4 #define MM_OPUS1216_WAVEIN MM_MEDIAVISION_OPUS1216+5 #define MM_OPUS1216_MIXER MM_MEDIAVISION_OPUS1216+6 #define MM_OPUS1216_AUX MM_MEDIAVISION_OPUS1216+7 // // Mixer // #define MIXERR_BASE 512 /* MM_VOCALTEC Product IDs */ #define MM_VOCALTEC_WAVEOUT 1 /* Vocaltec Waveform output port */ #define MM_VOCALTEC_WAVEIN 2 /* Vocaltec Waveform input port */ /* MM_ROLAND Product IDs */ #define MM_ROLAND_MPU401_MIDIOUT 15 #define MM_ROLAND_MPU401_MIDIIN 16 #define MM_ROLAND_SMPU_MIDIOUTA 17 #define MM_ROLAND_SMPU_MIDIOUTB 18 #define MM_ROLAND_SMPU_MIDIINA 19 #define MM_ROLAND_SMPU_MIDIINB 20 #define MM_ROLAND_SC7_MIDIOUT 21 #define MM_ROLAND_SC7_MIDIIN 22 /* MM_DIGISPEECH Product IDs */ #define MM_DIGISP_WAVEOUT 1 /* Digispeech Waveform output port */ #define MM_DIGISP_WAVEIN 2 /* Digispeech Waveform input port */ /* MM_NEC Product IDs */ /* MM_ATI Product IDs */ /* MM_WANGLABS Product IDs */ #define MM_WANGLABS_WAVEIN1 1 /* Input audio wave device present on the CPU board of the following Wang models: Exec 4010, 4030 and 3450; PC 251/25C, PC 461/25S and PC 461/33C */ #define MM_WANGLABS_WAVEOUT1 2 /* Output audio wave device present on the CPU board of the Wang models listed above. */ /* MM_TANDY Product IDs */ /* MM_VOYETRA Product IDs */ /* MM_ANTEX Product IDs */ /* MM_ICL_PS Product IDs */ /* MM_INTEL Product IDs */ #define MM_INTELOPD_WAVEIN 1 // HID2 WaveAudio Input driver #define MM_INTELOPD_WAVEOUT 101 // HID2 WaveAudio Output driver #define MM_INTELOPD_AUX 401 // HID2 Auxiliary driver (required for mixing functions) /* MM_GRAVIS Product IDs */ /* MM_VAL Product IDs */ // values not defined by Manufacturer // #define MM_VAL_MICROKEY_AP_WAVEIN ??? // Microkey/AudioPort Waveform Input // #define MM_VAL_MICROKEY_AP_WAVEOUT ??? // Microkey/AudioPort Waveform Output /* MM_INTERACTIVE Product IDs */ #define MM_INTERACTIVE_WAVEIN 0x45 // no comment provided by Manufacturer #define MM_INTERACTIVE_WAVEOUT 0x45 // no comment provided by Manufacturer /* MM_YAMAHA Product IDs */ #define MM_YAMAHA_GSS_SYNTH 0x01 // Yamaha Gold Sound Standard FM sythesis driver #define MM_YAMAHA_GSS_WAVEOUT 0x02 // Yamaha Gold Sound Standard wave output driver #define MM_YAMAHA_GSS_WAVEIN 0x03 // Yamaha Gold Sound Standard wave input driver #define MM_YAMAHA_GSS_MIDIOUT 0x04 // Yamaha Gold Sound Standard midi output driver #define MM_YAMAHA_GSS_MIDIIN 0x05 // Yamaha Gold Sound Standard midi input driver #define MM_YAMAHA_GSS_AUX 0x06 // Yamaha Gold Sound Standard auxillary driver for mixer functions /* MM_EVEREX Product IDs */ #define MM_EVEREX_CARRIER 0x01 // Everex Carrier SL/25 Notebook /* MM_ECHO Product IDs */ #define MM_ECHO_SYNTH 0x01 // Echo EuSythesis driver #define MM_ECHO_WAVEOUT 0x02 // Wave output driver #define MM_ECHO_WAVEIN 0x03 // Wave input driver #define MM_ECHO_MIDIOUT 0x04 // MIDI output driver #define MM_ECHO_MIDIIN 0x05 // MIDI input driver #define MM_ECHO_AUX 0x06 // auxillary driver for mixer functions /* MM_SIERRA Product IDs */ #define MM_SIERRA_ARIA_MIDIOUT 0x14 // Sierra Aria MIDI output #define MM_SIERRA_ARIA_MIDIIN 0x15 // Sierra Aria MIDI input #define MM_SIERRA_ARIA_SYNTH 0x16 // Sierra Aria Synthesizer #define MM_SIERRA_ARIA_WAVEOUT 0x17 // Sierra Aria Waveform output #define MM_SIERRA_ARIA_WAVEIN 0x18 // Sierra Aria Waveform input #define MM_SIERRA_ARIA_AUX 0x19 // Siarra Aria Auxiliary device /* MM_CAT Product IDs */ /* MM_APPS Product IDs */ /* MM_DSP_GROUP Product IDs */ #define MM_DSP_GROUP_TRUESPEECH 0x01 // High quality 9.54:1 Speech Compression Vocoder /* MM_MELABS Product IDs */ #define MM_MELABS_MIDI2GO 0x01 // parellel port MIDI interface #endif /*////////////////////////////////////////////////////////////////////////// */ #ifndef NONEWWAVE /* WAVE form wFormatTag IDs */ #define WAVE_FORMAT_UNKNOWN (0x0000) #define WAVE_FORMAT_ADPCM (0x0002) #define WAVE_FORMAT_IBM_CVSD (0x0005) #define WAVE_FORMAT_ALAW (0x0006) #define WAVE_FORMAT_MULAW (0x0007) #define WAVE_FORMAT_OKI_ADPCM (0x0010) #define WAVE_FORMAT_DVI_ADPCM (0x0011) #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) #define WAVE_FORMAT_DIGISTD (0x0015) #define WAVE_FORMAT_DIGIFIX (0x0016) #define WAVE_FORMAT_YAMAHA_ADPCM (0x0020) #define WAVE_FORMAT_SONARC (0x0021) #define WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022) #define WAVE_FORMAT_ECHOSC1 (0x0023) #define WAVE_FORMAT_CREATIVE_ADPCM (0x0200) #endif /* NONEWWAVE */ #ifndef WAVE_FORMAT_PCM /* general waveform format structure (information common to all formats) */ typedef struct waveformat_tag { 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 */ } WAVEFORMAT; typedef WAVEFORMAT *PWAVEFORMAT; typedef WAVEFORMAT NEAR *NPWAVEFORMAT; typedef WAVEFORMAT FAR *LPWAVEFORMAT; /* flags for wFormatTag field of WAVEFORMAT */ #define WAVE_FORMAT_PCM 1 /* specific waveform format structure for PCM data */ typedef struct pcmwaveformat_tag { WAVEFORMAT wf; WORD wBitsPerSample; } PCMWAVEFORMAT; typedef PCMWAVEFORMAT *PPCMWAVEFORMAT; typedef PCMWAVEFORMAT NEAR *NPPCMWAVEFORMAT; typedef PCMWAVEFORMAT FAR *LPPCMWAVEFORMAT; #endif /* WAVE_FORMAT_PCM */ /* general extended waveform format structure Use this for all NON PCM formats (information common to all formats) */ typedef struct waveformat_extended_tag { 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; typedef WAVEFORMATEX *PWAVEFORMATEX; typedef WAVEFORMATEX NEAR *NPWAVEFORMATEX; typedef WAVEFORMATEX FAR *LPWAVEFORMATEX; #ifndef NONEWWAVE /* Define data for MS ADPCM */ typedef struct adpcmcoef_tag { short iCoef1; short iCoef2; } ADPCMCOEFSET; typedef ADPCMCOEFSET *PADPCMCOEFSET; typedef ADPCMCOEFSET NEAR *NPADPCMCOEFSET; typedef ADPCMCOEFSET FAR *LPADPCMCOEFSET; typedef struct adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wSamplesPerBlock; WORD wNumCoef; ADPCMCOEFSET aCoef[]; } ADPCMWAVEFORMAT; typedef ADPCMWAVEFORMAT *PADPCMWAVEFORMAT; typedef ADPCMWAVEFORMAT NEAR *NPADPCMWAVEFORMAT; typedef ADPCMWAVEFORMAT FAR *LPADPCMWAVEFORMAT; // // Intel's DVI ADPCM structure definitions // // for WAVE_FORMAT_DVI_ADPCM (0x0011) // // typedef struct dvi_adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wSamplesPerBlock; } DVIADPCMWAVEFORMAT; typedef DVIADPCMWAVEFORMAT *PDVIADPCMWAVEFORMAT; typedef DVIADPCMWAVEFORMAT NEAR *NPDVIADPCMWAVEFORMAT; typedef DVIADPCMWAVEFORMAT FAR *LPDVIADPCMWAVEFORMAT; // // IMA endorsed ADPCM structure definitions--note that this is exactly // the same format as Intel's DVI ADPCM. // // for WAVE_FORMAT_IMA_ADPCM (0x0011) // // typedef struct ima_adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wSamplesPerBlock; } IMAADPCMWAVEFORMAT; typedef IMAADPCMWAVEFORMAT *PIMAADPCMWAVEFORMAT; typedef IMAADPCMWAVEFORMAT NEAR *NPIMAADPCMWAVEFORMAT; typedef IMAADPCMWAVEFORMAT FAR *LPIMAADPCMWAVEFORMAT; // // Speech Compression's Sonarc structure definitions // // for WAVE_FORMAT_SONARC (0x0021) // // typedef struct sonarcwaveformat_tag { WAVEFORMATEX wfx; WORD wCompType; } SONARCWAVEFORMAT; typedef SONARCWAVEFORMAT *PSONARCWAVEFORMAT; typedef SONARCWAVEFORMAT NEAR *NPSONARCWAVEFORMAT; typedef SONARCWAVEFORMAT FAR *LPSONARCWAVEFORMAT; // // DSP Groups's TRUESPEECH structure definitions // // for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022) // // typedef struct truespeechwaveformat_tag { WAVEFORMATEX wfx; WORD nSamplesPerBlock; } TRUESPEECHWAVEFORMAT; typedef TRUESPEECHWAVEFORMAT *PTRUESPEECHWAVEFORMAT; typedef TRUESPEECHWAVEFORMAT NEAR *NPTRUESPEECHWAVEFORMAT; typedef TRUESPEECHWAVEFORMAT FAR *LPTRUESPEECHWAVEFORMAT; // // Creative's ADPCM structure definitions // // for WAVE_FORMAT_CREATIVE_ADPCM (0x0200) // // typedef struct creative_adpcmwaveformat_tag { WAVEFORMATEX wfx; WORD wRevision; } CREATIVEADPCMWAVEFORMAT; typedef CREATIVEADPCMWAVEFORMAT *PCREATIVEADPCMWAVEFORMAT; typedef CREATIVEADPCMWAVEFORMAT NEAR *NPCREATIVEADPCMWAVEFORMAT; typedef CREATIVEADPCMWAVEFORMAT FAR *LPCREATIVEADPCMWAVEFORMAT; /*////////////////////////////////////////////////////////////////////////// // // New RIFF WAVE Chunks // */ #define RIFFWAVE_inst mmioFOURCC('i','n','s','t') struct tag_s_RIFFWAVE_inst { BYTE bUnshiftedNote; char chFineTune; char chGain; BYTE bLowNote; BYTE bHighNote; BYTE bLowVelocity; BYTE bHighVelocity; }; typedef struct tag_s_RIFFWAVE_INST s_RIFFWAVE_inst; #endif /*////////////////////////////////////////////////////////////////////////// // // New RIFF Forms // */ #ifndef NONEWRIFF /* RIFF AVI */ // // AVI file format is specified in a seperate file (AVIFMT.H), // which is available from the sources listed in MSFTMM // /* RIFF CPPO */ #define RIFFCPPO mmioFOURCC('C','P','P','O') #define RIFFCPPO_objr mmioFOURCC('o','b','j','r') #define RIFFCPPO_obji mmioFOURCC('o','b','j','i') #define RIFFCPPO_clsr mmioFOURCC('c','l','s','r') #define RIFFCPPO_clsi mmioFOURCC('c','l','s','i') #define RIFFCPPO_mbr mmioFOURCC('m','b','r',' ') #define RIFFCPPO_char mmioFOURCC('c','h','a','r') #define RIFFCPPO_byte mmioFOURCC('b','y','t','e') #define RIFFCPPO_int mmioFOURCC('i','n','t',' ') #define RIFFCPPO_word mmioFOURCC('w','o','r','d') #define RIFFCPPO_long mmioFOURCC('l','o','n','g') #define RIFFCPPO_dwrd mmioFOURCC('d','w','r','d') #define RIFFCPPO_flt mmioFOURCC('f','l','t',' ') #define RIFFCPPO_dbl mmioFOURCC('d','b','l',' ') #define RIFFCPPO_str mmioFOURCC('s','t','r',' ') #endif /*////////////////////////////////////////////////////////////////////////// // // DIB Compression Defines // */ #ifndef BI_BITFIELDS #define BI_BITFIELDS 3 #endif #ifndef QUERYDIBSUPPORT #define QUERYDIBSUPPORT 3073 #define QDI_SETDIBITS 0x0001 #define QDI_GETDIBITS 0x0002 #define QDI_DIBTOSCREEN 0x0004 #define QDI_STRETCHDIB 0x0008 #endif /*////////////////////////////////////////////////////////////////////////// // // Defined IC types */ #ifndef NONEWIC #ifndef ICTYPE_VIDEO #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c') #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c') #endif #endif #ifndef RC_INVOKED #pragma pack() /* Revert to default packing */ #endif /* RC_INVOKED */ #ifdef __cplusplus } /* End of extern "C" { */ #endif /* __cplusplus */ #endif /* _INC_MMREG */