Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

619 lines
22 KiB

/****************************************************************************
*
* 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 */