Description | Uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables |
This unit contains Object Pascal version of MSAcm.h originally done by Armin Sander, Digital SimpleX Most of the functions in this unit are documented in Microsoft Platform SDK.
2.5.2008.07 Still here
Name | Description |
---|---|
record ACMDRIVERDETAILSA |
|
record ACMDRIVERDETAILSW |
|
record ACMDRVFORMATSUGGEST |
structure containing the information for the ACMDM_FORMAT_SUGGEST message |
record ACMDRVSTREAMHEADER |
|
record ACMDRVSTREAMINSTANCE |
– MSACMDRV.H – |
record ACMDRVSTREAMSIZE |
structure for ACMDM_STREAM_SIZE message |
record ACMFILTERCHOOSEA |
|
record ACMFILTERCHOOSEW |
|
record ACMFILTERDETAILSA |
|
record ACMFILTERDETAILSW |
|
record ACMFILTERTAGDETAILSA |
|
record ACMFILTERTAGDETAILSW |
|
record ACMFORMATCHOOSEA |
|
record ACMFORMATCHOOSEW |
|
record ACMFORMATDETAILSA |
|
record ACMFORMATDETAILSW |
|
record ACMFORMATTAGDETAILSA |
|
record ACMFORMATTAGDETAILSW |
|
record ACMSTREAMHEADER |
|
record ADPCMCOEFSET |
|
record ADPCMWAVEFORMAT |
|
record WAVEFILTER |
|
record WAVEFORMATEXTENSIBLE |
|
record WAVEFORMATEXTENSIBLE_SAMPLES |
you
New wave format development should be based on the WAVEFORMATEXTENSIBLE structure. |
function acm_getVersion: DWORD; stdcall; |
function acm_metrics(hao: HACMOBJ; uMetric: UINT; var pMetric): MMRESULT; stdcall; |
function acm_driverEnum(fnCallback: ACMDRIVERENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_driverID(hao: HACMOBJ; phadid: pHACMDRIVERID; fdwDriverID: DWORD): MMRESULT; stdcall; |
function acm_driverAddA(phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverAddW(phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverAdd (phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverRemove(hadid: HACMDRIVERID; fdwRemove: DWORD): MMRESULT; stdcall; |
function acm_driverOpen(phad: pHACMDRIVER; hadid: HACMDRIVERID; fdwOpen: DWORD): MMRESULT; stdcall; |
function acm_driverClose(had: HACMDRIVER; fdwClose: DWORD): MMRESULT; stdcall; |
function acm_driverMessage(had: HACMDRIVER; uMsg: UINT; lParam1: LPARAM; lParam2: LPARAM): LRESULT; stdcall; |
function acm_driverPriority(hadid: HACMDRIVERID; dwPriority: DWORD; fdwPriority: DWORD): MMRESULT; stdcall; |
function ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC(): FOURCC; |
function acm_driverDetailsA(hadid: hACMDRIVERID; padd: pACMDRIVERDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_driverDetailsW(hadid: hACMDRIVERID; padd: pACMDRIVERDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_driverDetails (hadid: hACMDRIVERID; padd: pACMDRIVERDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetailsA(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetailsW(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetails (had: HACMDRIVER; paftd: pACMFORMATTAGDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnumA(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSA; fnCallback: ACMFORMATTAGENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnumW(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSW; fnCallback: ACMFORMATTAGENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnum (had: HACMDRIVER; paftd: pACMFORMATTAGDETAILS; fnCallback: ACMFORMATTAGENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatDetailsA(had: HACMDRIVER; pafd: pACMFORMATDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatDetailsW(had: HACMDRIVER; pafd: pACMFORMATDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatDetails (had: HACMDRIVER; pafd: pACMFORMATDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatEnumA(had: HACMDRIVER; pafd: pACMFORMATDETAILSA; fnCallback: ACMFORMATENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatEnumW(had: HACMDRIVER; pafd: pACMFORMATDETAILSW; fnCallback: ACMFORMATENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatEnum (had: HACMDRIVER; pafd: pACMFORMATDETAILS; fnCallback: ACMFORMATENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatSuggest(had: HACMDRIVER; pwfxSrc: pWAVEFORMATEX; pwfxDst: pWAVEFORMATEX; cbwfxDst: DWORD; fdwSuggest: DWORD): MMRESULT; stdcall; |
function acm_formatChooseA(pafmtc: pACMFORMATCHOOSEA): MMRESULT; stdcall; |
function acm_formatChooseW(pafmtc: pACMFORMATCHOOSEW): MMRESULT; stdcall; |
function acm_formatChoose (pafmtc: pACMFORMATCHOOSE ): MMRESULT; stdcall; |
function acm_filterTagDetailsA(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagDetailsW(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagDetails (had: HACMDRIVER; paftd: pACMFILTERTAGDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnumA(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSA; fnCallback: ACMFILTERTAGENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnumW(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSW; fnCallback: ACMFILTERTAGENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnum (had: HACMDRIVER; paftd: pACMFILTERTAGDETAILS; fnCallback: ACMFILTERTAGENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterDetailsA(had: HACMDRIVER; pafd: pACMFILTERDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterDetailsW(had: HACMDRIVER; pafd: pACMFILTERDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterDetails (had: HACMDRIVER; pafd: pACMFILTERDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterEnumA(had: HACMDRIVER; pafd: pACMFILTERDETAILSA; fnCallback: ACMFILTERENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterEnumW(had: HACMDRIVER; pafd: pACMFILTERDETAILSW; fnCallback: ACMFILTERENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterEnum (had: HACMDRIVER; pafd: pACMFILTERDETAILS; fnCallback: ACMFILTERENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterChooseA(pafltrc: pACMFILTERCHOOSEA): MMRESULT; stdcall; |
function acm_filterChooseW(pafltrc: pACMFILTERCHOOSEW): MMRESULT; stdcall; |
function acm_filterChoose (pafltrc: pACMFILTERCHOOSE): MMRESULT; stdcall; |
function acm_streamOpen(phas: pHACMSTREAM; had: HACMDRIVER; pwfxSrc: pWAVEFORMATEX; pwfxdst: pWAVEFORMATEX; pwfltr: pWAVEFILTER; dwCallback: DWORD; dwInstance: DWORD; fdwOpen: DWORD): MMRESULT; stdcall; |
function acm_streamClose(has: HACMSTREAM; fdwClose: DWORD): MMRESULT; stdcall; |
function acm_streamSize(has: HACMSTREAM; cbInput: DWORD; var pdwOutputByte: DWORD; fdwSize: DWORD): MMRESULT; stdcall; |
function acm_streamReset(has: HACMSTREAM; fdwReset: DWORD): MMRESULT; stdcall; |
function acm_streamMessage(has: HACMSTREAM; uMsg: UINT; lParam1: LPARAM; lParam2: LPARAM): MMRESULT; stdcall; |
function acm_streamConvert(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwConvert: DWORD): MMRESULT; stdcall; |
function acm_streamPrepareHeader(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwPrepare: DWORD): MMRESULT; stdcall; |
function acm_streamUnprepareHeader(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwUnprepare: DWORD): MMRESULT; stdcall; |
function getAcmVersion(var major, minor: byte; var build: Word): bool; |
function mid2str(mid: unsigned): string; |
function waveFormat2str(const format: WAVEFORMATEX): aString; |
function str2waveFormat(const str: aString; var format: WAVEFORMATEX; var size: unsigned): bool; overload; |
function str2waveFormat(const str: aString; var format: pWAVEFORMATEX; var size: unsigned): bool; overload; |
function str2waveFormat(const str: aString; var format: pWAVEFORMATEX): bool; overload; |
function getFormatDescription(const format: WAVEFORMATEX; driver: HACMDRIVER = 0; defStr: string = ''): string; |
function allocateWaveFormat(out format: pWAVEFORMATEX; driver: HACMOBJ = 0): unsigned; overload; |
function allocateWaveFormat(const srcFormat: WAVEFORMATEX; out format: pWAVEFORMATEX): unsigned; overload; |
function deleteWaveFormat(format: pWAVEFORMATEX): bool; |
function getMaxWaveFormatSize(driver: HACMOBJ = 0): unsigned; |
function getMaxWaveFilterSize(driver: HACMOBJ = 0): unsigned; |
function acm_metrics(hao: HACMOBJ; uMetric: UINT; var pMetric): MMRESULT; stdcall; |
function acm_driverEnum(fnCallback: ACMDRIVERENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_driverID(hao: HACMOBJ; phadid: pHACMDRIVERID; fdwDriverID: DWORD): MMRESULT; stdcall; |
function acm_driverAddA(phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverAddW(phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverAdd (phadid: pHACMDRIVERID; hinstModule: HINST; lParam: LPARAM; dwPriority: DWORD; fdwAdd: DWORD): MMRESULT; stdcall; |
function acm_driverRemove(hadid: HACMDRIVERID; fdwRemove: DWORD): MMRESULT; stdcall; |
function acm_driverOpen(phad: pHACMDRIVER; hadid: HACMDRIVERID; fdwOpen: DWORD): MMRESULT; stdcall; |
function acm_driverClose(had: HACMDRIVER; fdwClose: DWORD): MMRESULT; stdcall; |
function acm_driverMessage(had: HACMDRIVER; uMsg: UINT; lParam1: LPARAM; lParam2: LPARAM): LRESULT; stdcall; |
function acm_driverPriority(hadid: HACMDRIVERID; dwPriority: DWORD; fdwPriority: DWORD): MMRESULT; stdcall; |
function ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC(): FOURCC; |
ACMDRIVERDETAILS.fccType ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC: the FOURCC used in the fccType field of the ACMDRIVERDETAILS structure to specify that this is an ACM codec designed for audio. ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC = mmioFOURCC('a', 'u', 'd', 'c'); |
function acm_driverDetailsA(hadid: hACMDRIVERID; padd: pACMDRIVERDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_driverDetailsW(hadid: hACMDRIVERID; padd: pACMDRIVERDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_driverDetails (hadid: hACMDRIVERID; padd: pACMDRIVERDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetailsA(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetailsW(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagDetails (had: HACMDRIVER; paftd: pACMFORMATTAGDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnumA(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSA; fnCallback: ACMFORMATTAGENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnumW(had: HACMDRIVER; paftd: pACMFORMATTAGDETAILSW; fnCallback: ACMFORMATTAGENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatTagEnum (had: HACMDRIVER; paftd: pACMFORMATTAGDETAILS; fnCallback: ACMFORMATTAGENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatDetailsA(had: HACMDRIVER; pafd: pACMFORMATDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatDetailsW(had: HACMDRIVER; pafd: pACMFORMATDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatDetails (had: HACMDRIVER; pafd: pACMFORMATDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_formatEnumA(had: HACMDRIVER; pafd: pACMFORMATDETAILSA; fnCallback: ACMFORMATENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatEnumW(had: HACMDRIVER; pafd: pACMFORMATDETAILSW; fnCallback: ACMFORMATENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatEnum (had: HACMDRIVER; pafd: pACMFORMATDETAILS; fnCallback: ACMFORMATENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_formatSuggest(had: HACMDRIVER; pwfxSrc: pWAVEFORMATEX; pwfxDst: pWAVEFORMATEX; cbwfxDst: DWORD; fdwSuggest: DWORD): MMRESULT; stdcall; |
function acm_formatChooseA(pafmtc: pACMFORMATCHOOSEA): MMRESULT; stdcall; |
function acm_formatChooseW(pafmtc: pACMFORMATCHOOSEW): MMRESULT; stdcall; |
function acm_formatChoose (pafmtc: pACMFORMATCHOOSE ): MMRESULT; stdcall; |
function acm_filterTagDetailsA(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagDetailsW(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagDetails (had: HACMDRIVER; paftd: pACMFILTERTAGDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnumA(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSA; fnCallback: ACMFILTERTAGENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnumW(had: HACMDRIVER; paftd: pACMFILTERTAGDETAILSW; fnCallback: ACMFILTERTAGENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterTagEnum (had: HACMDRIVER; paftd: pACMFILTERTAGDETAILS; fnCallback: ACMFILTERTAGENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterDetailsA(had: HACMDRIVER; pafd: pACMFILTERDETAILSA; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterDetailsW(had: HACMDRIVER; pafd: pACMFILTERDETAILSW; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterDetails (had: HACMDRIVER; pafd: pACMFILTERDETAILS; fdwDetails: DWORD): MMRESULT; stdcall; |
function acm_filterEnumA(had: HACMDRIVER; pafd: pACMFILTERDETAILSA; fnCallback: ACMFILTERENUMCBA; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterEnumW(had: HACMDRIVER; pafd: pACMFILTERDETAILSW; fnCallback: ACMFILTERENUMCBW; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterEnum (had: HACMDRIVER; pafd: pACMFILTERDETAILS; fnCallback: ACMFILTERENUMCB; dwInstance: DWORD; fdwEnum: DWORD): MMRESULT; stdcall; |
function acm_filterChooseA(pafltrc: pACMFILTERCHOOSEA): MMRESULT; stdcall; |
function acm_filterChooseW(pafltrc: pACMFILTERCHOOSEW): MMRESULT; stdcall; |
function acm_filterChoose (pafltrc: pACMFILTERCHOOSE): MMRESULT; stdcall; |
function acm_streamOpen(phas: pHACMSTREAM; had: HACMDRIVER; pwfxSrc: pWAVEFORMATEX; pwfxdst: pWAVEFORMATEX; pwfltr: pWAVEFILTER; dwCallback: DWORD; dwInstance: DWORD; fdwOpen: DWORD): MMRESULT; stdcall; |
function acm_streamClose(has: HACMSTREAM; fdwClose: DWORD): MMRESULT; stdcall; |
function acm_streamSize(has: HACMSTREAM; cbInput: DWORD; var pdwOutputByte: DWORD; fdwSize: DWORD): MMRESULT; stdcall; |
function acm_streamReset(has: HACMSTREAM; fdwReset: DWORD): MMRESULT; stdcall; |
function acm_streamMessage(has: HACMSTREAM; uMsg: UINT; lParam1: LPARAM; lParam2: LPARAM): MMRESULT; stdcall; |
function acm_streamConvert(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwConvert: DWORD): MMRESULT; stdcall; |
function acm_streamPrepareHeader(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwPrepare: DWORD): MMRESULT; stdcall; |
function acm_streamUnprepareHeader(has: HACMSTREAM; pash: pACMSTREAMHEADER; fdwUnprepare: DWORD): MMRESULT; stdcall; |
function getAcmVersion(var major, minor: byte; var build: Word): bool; |
Returns ACM version and true if ACM is retail (Build = 0) |
function mid2str(mid: unsigned): string; |
Converts mid value to string representation. |
function waveFormat2str(const format: WAVEFORMATEX): aString; |
Converts format value to string representation (using base64 encoding). |
function str2waveFormat(const str: aString; var format: WAVEFORMATEX; var size: unsigned): bool; overload; |
Converts string representation of WAVEFORMATEX structure (encoded using base64) to format value. If size is too small to hold the structure, this function returns false and size parameter will be set to required size of structure. Otherwise it fills the format and returns true. |
function str2waveFormat(const str: aString; var format: pWAVEFORMATEX; var size: unsigned): bool; overload; |
Converts string representation of WAVEFORMATEX structure (encoded using base64) to format value. Allocates necessary amount of memory for format parameter. |
function str2waveFormat(const str: aString; var format: pWAVEFORMATEX): bool; overload; |
function getFormatDescription(const format: WAVEFORMATEX; driver: HACMDRIVER = 0; defStr: string = ''): string; |
Returns description of given wave format. ReturnsdefStr if format is not supported by driver(s). |
function allocateWaveFormat(out format: pWAVEFORMATEX; driver: HACMOBJ = 0): unsigned; overload; |
Allocates wave format with maximum possible size for specified driver. Returnsnumber of bytes allocated. |
function allocateWaveFormat(const srcFormat: WAVEFORMATEX; out format: pWAVEFORMATEX): unsigned; overload; |
Allocates wave format equal to specified source format. Returnsnumber of bytes allocated. |
function deleteWaveFormat(format: pWAVEFORMATEX): bool; |
Deallocates memory used by format. |
function getMaxWaveFormatSize(driver: HACMOBJ = 0): unsigned; |
Returns maximum possible size of wave format for specified driver. If driver = 0 function queries all installed drivers. |
function getMaxWaveFilterSize(driver: HACMOBJ = 0): unsigned; |
Returns maximum possible size of wave filter for specified driver. If driver = 0 function queries all installed drivers. |
WAVEFORMATEX = tWAVEFORMATEX; |
C++Builders stuff |
pWAVEFILTER = ˆWAVEFILTER; |
pHACMDRIVERID = ˆHACMDRIVERID; |
there are four types of 'handles' used by the ACM. the first three are unique types that define specific objects: HACMDRIVERID: used to _identify_ an ACM driver. this identifier can be used to _open_ the driver for querying details, etc about the driver. |
HACMDRIVERID = tHandle; |
pHACMDRIVER = ˆHACMDRIVER; |
HACMDRIVER: used to manage a driver (codec, filter, etc). this handle is much like a handle to other media drivers – you use it to send messages to the converter, query for capabilities, etc. |
HACMDRIVER = tHandle; |
pHACMSTREAM = ˆHACMSTREAM; |
HACMSTREAM: used to manage a 'stream' (conversion channel) with the ACM. you use a stream handle to convert data from one format/type to another – much like dealing with a file handle. |
HACMSTREAM = tHandle; |
pHACMOBJ = ˆHACMOBJ; |
the fourth handle type is a generic type used on ACM functions that can accept two or more of the above handle types (for example the acmMetrics and acmDriverID functions). HACMOBJ: used to identify ACM objects. this handle is used on functions that can accept two or more ACM handle types. |
HACMOBJ = tHandle; |
ACMDRIVERENUMCB = function(hadid: HACMDRIVERID; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
————————————————————————– ACM Drivers |
ACMDRIVERPROC = function(a_0: DWORD; a_1: HACMDRIVERID; a_2: UINT; a_3: LPARAM; a_4: LPARAM): LRESULT; stdcall; |
prototype for ACM driver procedures that are installed as _functions_ or _notifations_ instead of as a standalone installable driver. |
LPACMDRIVERPROC = ˆACMDRIVERPROC; |
PACMDRVSTREAMHEADER = ˆACMDRVSTREAMHEADER; |
NOTE! this structure must match the ACMSTREAMHEADER in msacm.h but defines more information for the driver writing convenience |
pACMDRIVERDETAILSA = ˆACMDRIVERDETAILSA; |
pACMDRIVERDETAILSW = ˆACMDRIVERDETAILSW; |
ACMDRIVERDETAILS = ACMDRIVERDETAILSA; |
pACMDRIVERDETAILS = pACMDRIVERDETAILSA; |
pACMFORMATTAGDETAILSA = ˆACMFORMATTAGDETAILSA; |
pACMFORMATTAGDETAILSW = ˆACMFORMATTAGDETAILSW; |
ACMFORMATTAGDETAILS = ACMFORMATTAGDETAILSA; |
pACMFORMATTAGDETAILS = pACMFORMATTAGDETAILSA; |
ACMFORMATTAGENUMCBA = function(hadid: HACMDRIVERID; paftd: pACMFORMATTAGDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFORMATTAGENUMCBW = function(hadid: HACMDRIVERID; paftd: pACMFORMATTAGDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFORMATTAGENUMCB = ACMFORMATTAGENUMCBA; |
pACMFORMATDETAILSA = ˆACMFORMATDETAILSA; |
pACMFORMATDETAILSW = ˆACMFORMATDETAILSW; |
pACMFORMATDETAILS = pACMFORMATDETAILSA; |
ACMFORMATDETAILS = ACMFORMATDETAILSA; |
ACMFORMATENUMCBA = function(hadid: HACMDRIVERID; pafd: pACMFORMATDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFORMATENUMCBW = function(hadid: HACMDRIVERID; pafd: pACMFORMATDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFORMATENUMCB = ACMFORMATENUMCBA; |
ACMFORMATCHOOSEHOOKPROCA = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall; |
ACMFORMATCHOOSEHOOKPROCW = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall; |
ACMFORMATCHOOSEHOOKPROC = ACMFORMATCHOOSEHOOKPROCA; |
pACMFORMATCHOOSEA = ˆACMFORMATCHOOSEA; |
pACMFORMATCHOOSEW = ˆACMFORMATCHOOSEW; |
ptr to hook function |
ACMFORMATCHOOSE = ACMFORMATCHOOSEA; |
ptr to hook function |
pACMFORMATCHOOSE = pACMFORMATCHOOSEA; |
pACMFILTERTAGDETAILSA = ˆACMFILTERTAGDETAILSA; |
pACMFILTERTAGDETAILSW = ˆACMFILTERTAGDETAILSW; |
ACMFILTERTAGDETAILS = ACMFILTERTAGDETAILSA; |
pACMFILTERTAGDETAILS = pACMFILTERTAGDETAILSA; |
ACMFILTERTAGENUMCBA = function(hadid: HACMDRIVERID; paftd: pACMFILTERTAGDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFILTERTAGENUMCBW = function(hadid: HACMDRIVERID; paftd: pACMFILTERTAGDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFILTERTAGENUMCB = ACMFILTERTAGENUMCBA; |
pACMFILTERDETAILSA = ˆACMFILTERDETAILSA; |
pACMFILTERDETAILSW = ˆACMFILTERDETAILSW; |
ACMFILTERDETAILS = ACMFILTERDETAILSA; |
pACMFILTERDETAILS = pACMFILTERDETAILSA; |
ACMFILTERENUMCBA = function(hadid: hACMDRIVERID; pafd: pACMFILTERDETAILSA; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFILTERENUMCBW = function(hadid: hACMDRIVERID; pafd: pACMFILTERDETAILSW; dwInstance: DWORD; fdwSupport: DWORD): Windows.BOOL; stdcall; |
ACMFILTERENUMCB = ACMFILTERENUMCBA; |
ACMFILTERCHOOSEHOOKPROCA = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall; |
ACMFILTERCHOOSEHOOKPROCW = function(hwnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall; |
ACMFILTERCHOOSEHOOKPROC = ACMFILTERCHOOSEHOOKPROCA; |
pACMFILTERCHOOSEA = ˆACMFILTERCHOOSEA; |
pACMFILTERCHOOSEW = ˆACMFILTERCHOOSEW; |
ptr to hook function |
ACMFILTERCHOOSE = ACMFILTERCHOOSEA; |
ptr to hook function |
pACMFILTERCHOOSE = pACMFILTERCHOOSEA; |
pACMSTREAMHEADER = ˆACMSTREAMHEADER; |
#endif // _WIN64 |
PWAVEFORMATEXTENSIBLE = ˆWAVEFORMATEXTENSIBLE; |
If neither applies, set to zero. */ |
WAVEFORMATPCMEX = WAVEFORMATEXTENSIBLE; |
Extended PCM waveform format structure based on WAVEFORMATEXTENSIBLE. Use this for multiple channel and hi-resolution PCM data |
PWAVEFORMATPCMEX = ˆWAVEFORMATPCMEX; |
Format.cbSize = 22 */ |
NPWAVEFORMATPCMEX = ˆWAVEFORMATPCMEX; |
LPWAVEFORMATPCMEX = ˆWAVEFORMATPCMEX; |
WAVEFORMATIEEEFLOATEX = WAVEFORMATEXTENSIBLE; |
Extended format structure using IEEE Float data and based on WAVEFORMATEXTENSIBLE. Use this for multiple channel and hi-resolution PCM data in IEEE floating point format. |
PWAVEFORMATIEEEFLOATEX = ˆWAVEFORMATIEEEFLOATEX; |
Format.cbSize = 22 */ |
NPWAVEFORMATIEEEFLOATEX = ˆWAVEFORMATIEEEFLOATEX; |
LPWAVEFORMATIEEEFLOATEX = ˆWAVEFORMATIEEEFLOATEX; |
PADPCMCOEFSET = ˆADPCMCOEFSET; |
Define data for MS ADPCM */ |
NPADPCMCOEFSET = ˆADPCMCOEFSET; |
LPADPCMCOEFSET = ˆADPCMCOEFSET; |
PADPCMWAVEFORMAT = ˆADPCMWAVEFORMAT; |
NPADPCMWAVEFORMAT = ˆADPCMWAVEFORMAT; |
LPADPCMWAVEFORMAT = ˆADPCMWAVEFORMAT; |
ACMDM_BASE = ACMDM_RESERVED_LOW; |
ACMDM_DRIVER_ABOUT = (ACMDM_BASE + 11); |
ACMDM_DRIVER_DETAILS = (ACMDM_BASE + 10); |
ACMDM_DRIVER_NOTIFY = (ACMDM_BASE + 1); |
Dest Size - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; ACM Driver Messages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; |
ACMDM_FILTERTAG_DETAILS = (ACMDM_BASE + 50); |
ACMDM_FILTER_DETAILS = (ACMDM_BASE + 51); |
ACMDM_FORMATTAG_DETAILS = (ACMDM_BASE + 25); |
ACMDM_FORMAT_DETAILS = (ACMDM_BASE + 26); |
ACMDM_FORMAT_SUGGEST = (ACMDM_BASE + 27); |
ACMDM_HARDWARE_WAVE_CAPS_INPUT = (ACMDM_BASE + 20); |
ACMDM_HARDWARE_WAVE_CAPS_OUTPUT = (ACMDM_BASE + 21); |
ACMDM_RESERVED_HIGH = (DRV_USER + $2FFF); |
ACMDM_RESERVED_LOW = (DRV_USER + $2000); |
ACMDM_STREAM_CLOSE = (ACMDM_BASE + 77); |
ACMDM_STREAM_CONVERT = (ACMDM_BASE + 79); |
ACMDM_STREAM_OPEN = (ACMDM_BASE + 76); |
ACMDM_STREAM_PREPARE = (ACMDM_BASE + 81); |
ACMDM_STREAM_RESET = (ACMDM_BASE + 80); |
ACMDM_STREAM_SIZE = (ACMDM_BASE + 78); |
ACMDM_STREAM_UNPREPARE = (ACMDM_BASE + 82); |
ACMDM_USER = (DRV_USER + $0000); |
ACMDRIVERDETAILS_COPYRIGHT_CHARS = 80; |
ACMDRIVERDETAILS_FEATURES_CHARS = 512; |
ACMDRIVERDETAILS_LICENSING_CHARS = 128; |
ACMDRIVERDETAILS_LONGNAME_CHARS = 128; |
ACMDRIVERDETAILS_SHORTNAME_CHARS = 32; |
ACMDRIVERDETAILS the ACMDRIVERDETAILS structure is used to get various capabilities from an ACM driver (codec, converter, filter). |
ACMDRIVERDETAILS_SUPPORTF_ASYNC = $00000010; |
ACMDRIVERDETAILS_SUPPORTF_ASYNC: this flag is set if the driver supports async conversions. |
ACMDRIVERDETAILS_SUPPORTF_HARDWARE = $00000008; |
ACMDRIVERDETAILS_SUPPORTF_HARDWARE: this flag is set if the driver supports hardware input and/or output through a waveform device. |
ACMERR_BASE = 512; |
ACM Error Codes Note that these error codes are specific errors that apply to the ACM directly–general errors are defined as MMSYSERR_*. |
ACMERR_BUSY = ACMERR_BASE + 1; |
ACMERR_CANCELED = ACMERR_BASE + 3; |
ACMERR_NOTPOSSIBLE = ACMERR_BASE + 0; |
ACMERR_UNPREPARED = ACMERR_BASE + 2; |
ACMFILTERCHOOSE_STYLEF_CONTEXTHELP = $00000080; |
ACMFILTERCHOOSE_STYLEF_ENABLEHOOK = $00000008; |
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE = $00000010; |
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE = $00000020; |
ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT = $00000040; |
ACMFILTERCHOOSE_STYLEF_SHOWHELP = $00000004; |
ACMFILTERCHOOSE.fdwStyle |
ACMFILTERDETAILS_FILTER_CHARS = 128; |
————————————————————————–; ACM Filters |
ACMFILTERTAGDETAILS_FILTERTAG_CHARS = 48; |
————————————————————————–; ACM Filter Tags |
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP = $00000080; |
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK = $00000008; |
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE = $00000010; |
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE = $00000020; |
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT = $00000040; |
ACMFORMATCHOOSE_STYLEF_SHOWHELP = $00000004; |
ACMFORMATDETAILS_FORMAT_CHARS = 128; |
————————————————————————–; ACM Formats |
ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 48; |
————————————————————————– ACM Format Tags |
ACMHELPMSGCONTEXTHELP = ACMHELPMSGCONTEXTHELPA; |
ACMHELPMSGCONTEXTHELPA = 'acmchoose_contexthelp'; |
ACMHELPMSGCONTEXTHELPW = 'acmchoose_contexthelp'; |
ACMHELPMSGCONTEXTMENU = ACMHELPMSGCONTEXTMENUA; |
ACMHELPMSGCONTEXTMENUA = 'acmchoose_contextmenu'; |
ACMHELPMSGCONTEXTMENUW = 'acmchoose_contextmenu'; |
ACMHELPMSGSTRING = ACMHELPMSGSTRINGA; |
ACMHELPMSGSTRINGA = 'acmchoose_help'; |
ACMHELPMSGSTRINGW = 'acmchoose_help'; |
ACMSTREAMHEADER_STATUSF_DONE = $00010000; |
driver reserved work space ACMSTREAMHEADER.fdwStatus ACMSTREAMHEADER_STATUSF_DONE: done bit for async conversions. |
ACMSTREAMHEADER_STATUSF_INQUEUE = $00100000; |
ACMSTREAMHEADER_STATUSF_PREPARED = $00020000; |
ACM_DRIVERADDF_FUNCTION = $00000003; |
ACM_DRIVERADDF_GLOBAL = $00000008; |
is local to current task |
ACM_DRIVERADDF_LOCAL = $00000000; |
driver type mask |
ACM_DRIVERADDF_NOTIFYHWND = $00000004; |
lParam is a procedure |
ACM_DRIVERADDF_TYPEMASK = $00000007; |
lParam is notify hwnd |
ACM_DRIVERENUMF_DISABLED = $80000000; |
ACM_DRIVERENUMF_NOLOCAL = $40000000; |
ACM_DRIVERPRIORITYF_ABLEMASK = $00000003; |
ACM_DRIVERPRIORITYF_BEGIN = $00010000; |
ACM_DRIVERPRIORITYF_DEFERMASK = $00030000; |
ACM_DRIVERPRIORITYF_DISABLE = $00000002; |
ACM_DRIVERPRIORITYF_ENABLE = $00000001; |
ACM_DRIVERPRIORITYF_END = $00020000; |
ACM_FILTERDETAILSF_FILTER = $00000001; |
ACM_FILTERDETAILSF_INDEX = $00000000; |
ACM_FILTERDETAILSF_QUERYMASK = $0000000F; |
ACM_FILTERENUMF_DWFILTERTAG = $00010000; |
ACM_FILTERTAGDETAILSF_FILTERTAG = $00000001; |
ACM_FILTERTAGDETAILSF_INDEX = $00000000; |
ACM_FILTERTAGDETAILSF_LARGESTSIZE = $00000002; |
ACM_FILTERTAGDETAILSF_QUERYMASK = $0000000F; |
ACM_FORMATDETAILSF_FORMAT = $00000001; |
ACM_FORMATDETAILSF_INDEX = $00000000; |
ACM_FORMATDETAILSF_QUERYMASK = $0000000F; |
ACM_FORMATENUMF_CONVERT = $00100000; |
ACM_FORMATENUMF_HARDWARE = $00400000; |
ACM_FORMATENUMF_INPUT = $00800000; |
ACM_FORMATENUMF_NCHANNELS = $00020000; |
ACM_FORMATENUMF_NSAMPLESPERSEC = $00040000; |
ACM_FORMATENUMF_OUTPUT = $01000000; |
ACM_FORMATENUMF_SUGGEST = $00200000; |
ACM_FORMATENUMF_WBITSPERSAMPLE = $00080000; |
ACM_FORMATENUMF_WFORMATTAG = $00010000; |
ACM_FORMATSUGGESTF_NCHANNELS = $00020000; |
ACM_FORMATSUGGESTF_NSAMPLESPERSEC = $00040000; |
ACM_FORMATSUGGESTF_TYPEMASK = $00FF0000; |
ACM_FORMATSUGGESTF_WBITSPERSAMPLE = $00080000; |
ACM_FORMATSUGGESTF_WFORMATTAG = $00010000; |
ACM_FORMATTAGDETAILSF_FORMATTAG = $00000001; |
ACM_FORMATTAGDETAILSF_INDEX = $00000000; |
ACM_FORMATTAGDETAILSF_LARGESTSIZE = $00000002; |
ACM_FORMATTAGDETAILSF_QUERYMASK = $0000000F; |
ACM_METRIC_COUNT_CODECS = 2; |
ACM_METRIC_COUNT_CONVERTERS = 3; |
ACM_METRIC_COUNT_DISABLED = 5; |
ACM_METRIC_COUNT_DRIVERS = 1; |
ACM_METRIC_COUNT_FILTERS = 4; |
ACM_METRIC_COUNT_HARDWARE = 6; |
ACM_METRIC_COUNT_LOCAL_CODECS = 21; |
ACM_METRIC_COUNT_LOCAL_CONVERTERS = 22; |
ACM_METRIC_COUNT_LOCAL_DISABLED = 24; |
ACM_METRIC_COUNT_LOCAL_DRIVERS = 20; |
ACM_METRIC_COUNT_LOCAL_FILTERS = 23; |
ACM_METRIC_DRIVER_PRIORITY = 101; |
ACM_METRIC_DRIVER_SUPPORT = 100; |
ACM_METRIC_HARDWARE_WAVE_INPUT = 30; |
ACM_METRIC_HARDWARE_WAVE_OUTPUT = 31; |
ACM_METRIC_MAX_SIZE_FILTER = 51; |
ACM_METRIC_MAX_SIZE_FORMAT = 50; |
ACM_STREAMCONVERTF_BLOCKALIGN = $00000004; |
ACM_STREAMCONVERTF_END = $00000020; |
ACM_STREAMCONVERTF_START = $00000010; |
ACM_STREAMOPENF_ASYNC = $00000002; |
ACM_STREAMOPENF_NONREALTIME = $00000004; |
ACM_STREAMOPENF_QUERY = $00000001; |
ACM_STREAMSIZEF_DESTINATION = $00000001; |
ACM_STREAMSIZEF_QUERYMASK = $0000000F; |
ACM_STREAMSIZEF_SOURCE = $00000000; |
DRVM_MAPPER_STATUS = $2000; |
DRV_MAPPER_PREFERRED_INPUT_GET = (DRV_USER + 0); |
Reserved for system use |
DRV_MAPPER_PREFERRED_OUTPUT_GET = (DRV_USER + 2); |
FILTERCHOOSE_CUSTOM_VERIFY = (FILTERCHOOSE_MESSAGE+2); |
FILTERCHOOSE_FILTERTAG_VERIFY = (FILTERCHOOSE_MESSAGE+0); |
FILTERCHOOSE_FILTER_VERIFY = (FILTERCHOOSE_MESSAGE+1); |
FILTERCHOOSE_MESSAGE = 0; |
FORMATCHOOSE_CUSTOM_VERIFY = (FORMATCHOOSE_MESSAGE + 2); |
FORMATCHOOSE_FORMATTAG_VERIFY = (FORMATCHOOSE_MESSAGE + 0); |
FORMATCHOOSE_FORMAT_VERIFY = (FORMATCHOOSE_MESSAGE + 1); |
FORMATCHOOSE_MESSAGE = 0; |
KSAUDIO_SPEAKER_5POINT1 = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT; |
KSAUDIO_SPEAKER_5POINT1_BACK = KSAUDIO_SPEAKER_5POINT1; |
The following are obsolete 5.1 and 7.1 settings (they lack side speakers). Note this means that the default 5.1 and 7.1 settings (KSAUDIO_SPEAKER_5POINT1 and KSAUDIO_SPEAKER_7POINT1 are similarly obsolete but are unchanged for compatibility reasons). |
KSAUDIO_SPEAKER_5POINT1_SURROUND = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
SPEAKER_SIDE_LEFT or SPEAKER_SIDE_RIGHT; |
KSAUDIO_SPEAKER_7POINT1 = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT or
SPEAKER_FRONT_LEFT_OF_CENTER or SPEAKER_FRONT_RIGHT_OF_CENTER; |
KSAUDIO_SPEAKER_7POINT1_SURROUND = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT or
SPEAKER_SIDE_LEFT or SPEAKER_SIDE_RIGHT; |
KSAUDIO_SPEAKER_7POINT1_WIDE = KSAUDIO_SPEAKER_7POINT1; |
KSAUDIO_SPEAKER_DIRECTOUT = 0; |
DVD Speaker Positions DirectSound Speaker Config |
KSAUDIO_SPEAKER_GROUND_FRONT_CENTER = SPEAKER_FRONT_CENTER; |
KSAUDIO_SPEAKER_GROUND_FRONT_LEFT = SPEAKER_FRONT_LEFT; |
DVD Speaker Positions |
KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT = SPEAKER_FRONT_RIGHT; |
KSAUDIO_SPEAKER_GROUND_REAR_LEFT = SPEAKER_BACK_LEFT; |
KSAUDIO_SPEAKER_GROUND_REAR_RIGHT = SPEAKER_BACK_RIGHT; |
KSAUDIO_SPEAKER_MONO = SPEAKER_FRONT_CENTER; |
KSAUDIO_SPEAKER_QUAD = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT; |
KSAUDIO_SPEAKER_STEREO = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT; |
KSAUDIO_SPEAKER_SUPER_WOOFER = SPEAKER_LOW_FREQUENCY; |
KSAUDIO_SPEAKER_SURROUND = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
SPEAKER_FRONT_CENTER or SPEAKER_BACK_CENTER; |
KSAUDIO_SPEAKER_TOP_MIDDLE = SPEAKER_TOP_CENTER; |
KSDATAFORMAT_SUBTYPE_ADPCM : tGuid = '{00000002-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_ALAW : tGuid = '{00000006-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_ANALOG : tGuid = '{6dba3190-67bd-11cf-a0f7-0020afd156e4}'; |
format guids |
KSDATAFORMAT_SUBTYPE_DRM : tGuid = '{00000009-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_IEEE_FLOAT: tGuid = '{00000003-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_MPEG : tGuid = '{00000050-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_MULAW : tGuid = '{00000007-0000-0010-8000-00aa00389b71}'; |
KSDATAFORMAT_SUBTYPE_PCM : tGuid = '{00000001-0000-0010-8000-00aa00389b71}'; |
MEDIASUBTYPE_AIFF : tGuid = '{e436eb8d-524f-11ce-9f53-0020af0ba770}'; |
MEDIASUBTYPE_AIFF |
MEDIASUBTYPE_AU : tGuid = '{e436eb8c-524f-11ce-9f53-0020af0ba770}'; |
MEDIASUBTYPE_AU |
MEDIASUBTYPE_DOLBY_AC3_SPDIF : tGuid = '{00000092-0000-0010-8000-00aa00389b71}'; |
derived from WAVE_FORMAT_DOLBY_AC3_SPDIF |
MEDIASUBTYPE_DRM_Audio : tGuid = '{00000009-0000-0010-8000-00aa00389b71}'; |
derived from WAVE_FORMAT_DRM |
MEDIASUBTYPE_IEEE_FLOAT : tGuid = '{00000003-0000-0010-8000-00aa00389b71}'; |
derived from WAVE_FORMAT_IEEE_FLOAT |
MEDIASUBTYPE_PCM : tGuid = '{00000001-0000-0010-8000-00AA00389B71}'; |
MEDIASUBTYPE_PCM |
MEDIASUBTYPE_RAW_SPORT : tGuid = '{00000240-0000-0010-8000-00aa00389b71}'; |
derived from WAVE_FORMAT_RAW_SPORT |
MEDIASUBTYPE_SPDIF_TAG_241h : tGuid = '{00000241-0000-0010-8000-00aa00389b71}'; |
derived from wave format tag 0x241, call it SPDIF_TAG_241h for now |
MEDIASUBTYPE_WAVE : tGuid = '{e436eb8b-524f-11ce-9f53-0020af0ba770}'; |
MEDIASUBTYPE_WAVE |
MM_3COM = 260; |
/* ICCC A/S */ |
MM_AARDVARK = 11 ; |
/* BeCubed Software Inc. */ |
MM_ACM_CLOSE = MM_STREAM_CLOSE; |
conversion callback messages |
MM_ACM_DONE = MM_STREAM_DONE; |
MM_ACM_FILTERCHOOSE = ($8000); |
MM_ACM_FILTERCHOOSE is sent to hook callbacks by the Filter Chooser Dialog... |
MM_ACM_FORMATCHOOSE = ($8000); |
MM_ACTIVEVOICE = 225; |
/* Luminositi, Inc. */ |
MM_ACULAB = 14 ; |
/* Hewlett-Packard Company */ |
MM_ADDX = 118; |
/* Grande Software */ |
MM_ADLACC = 91 ; |
/* OPTi Computers Inc. */ |
MM_ADMOS = 235; |
/* Selsius Systems Inc. */ |
MM_AHEAD = 77 ; |
/* Speech Compression */ |
MM_ALARIS = 174; |
/* Quicknet Technologies */ |
MM_ALDIGITAL = 143; |
/* SounDesignS M.C.S. Ltd. */ |
MM_ALESIS = 243; |
/* Consistent Software */ |
MM_AMD = 146; |
/* Electronic Courseware Systems, Inc. */ |
MM_ANALOGDEVICES = 252; |
/* Micronas Semiconductors, Inc. */ |
MM_ANTEX = 31 ; |
/* Voyetra */ |
MM_APICOM = 116; |
/* Northern Telecom Limited */ |
MM_APPLE = 99 ; |
/* Quanta Computer Inc. */ |
MM_APPS = 42 ; |
/* Computer Aided Technologies */ |
MM_APT = 56 ; |
/* Korg Inc. */ |
MM_ARRAY = 231; |
/* Sonorus, Inc. */ |
MM_ARTISOFT = 20 ; |
/* E-mu Systems, Inc. */ |
MM_AST = 64 ; |
/* EXAN */ |
MM_ATI = 27 ; |
/* NEC */ |
MM_ATT = 185; |
/* Lucent Technologies */ |
MM_ATT_MICROELECTRONICS = 139; |
/* PictureTel Corporation */ |
MM_AUDIOFILE = 47 ; |
/* ESS Technology */ |
MM_AUDIOPT = 74 ; |
/* Supermac */ |
MM_AUDIOSCIENCE = 217; |
/* Ring Zero Systems, Inc */ |
MM_AURAVISION = 80 ; |
/* OKI */ |
MM_AUREAL = 181; |
/* Oak Technology, Inc. */ |
MM_AZTECH = 52 ; |
/* Truevision */ |
MM_BCB = 192; |
/* Digital Processing Systems, Inc. */ |
MM_BECUBED = 10 ; |
/* ZyXEL Communications, Inc. */ |
MM_BERCOS = 199; |
/* Future Technology Resources Pty Ltd */ |
MM_BERKOM = 189; |
/* InVision Interactive */ |
MM_BINTEC = 12 ; |
/* Aardvark Computer Systems, Inc. */ |
MM_BROOKTREE = 121; |
/* Rhetorex Inc. */ |
MM_CANAM = 148; |
/* Core Dynamics */ |
MM_CANOPUS = 49 ; |
/* Motorola, Inc. */ |
MM_CASIO = 162; |
/* Viona Development GmbH */ |
MM_CAT = 41 ; |
/* Sierra Semiconductor Corp */ |
MM_CHROMATIC = 155; |
/* Crystal Net Corporation */ |
MM_CIRRUSLOGIC = 105; |
/* miro Computer Products AG */ |
MM_COLORGRAPH = 179; |
/* Xirlink, Inc. */ |
MM_COMPAQ = 92 ; |
/* Adlib Accessories Inc. */ |
MM_COMPUSIC = 89 ; |
/* Lyrrus Inc. */ |
MM_COMPUTER_FRIENDS = 45 ; |
/* microEngineering Labs */ |
MM_CONCEPTS = 108; |
/* Horizons Technology, Inc. */ |
MM_CONNECTIX = 158; |
/* Vienna Systems */ |
MM_CONTROLRES = 84 ; |
/* Matsushita Electric Industrial Co., Ltd. */ |
MM_COREDYNAMICS = 147; |
/* AMD */ |
MM_CREATIVE = 2 ; |
/* Microsoft Corporation */ |
MM_CRYSTAL = 132; |
/* Kay Elemetrics, Inc. */ |
MM_CRYSTAL_NET = 154; |
/* Precept Software, Inc. */ |
MM_CS = 242; |
/* eTEK Labs Inc. */ |
MM_CYRIX = 6 ; |
/* PRAGMATRAX Software */ |
MM_DATAFUSION = 196; |
/* Nokia Mobile Phones */ |
MM_DATARAN = 232; |
/* Array Microsystems, Inc. */ |
MM_DDD = 151; |
/* Norris Communications, Inc. */ |
MM_DIACOUSTICS = 129; |
/* OKSORI Co., Ltd. */ |
MM_DIALOGIC = 93 ; |
/* Compaq Computer Corp. */ |
MM_DIAMONDMM = 163; |
/* Casio Computer Co., LTD */ |
MM_DICTAPHONE = 214; |
/* Spectrum Productions */ |
MM_DIGIGRAM = 227; |
/* Digital Theater Systems, Inc. */ |
MM_DIGITAL = 100; |
/* Apple Computer, Inc. */ |
MM_DIGITAL_AUDIO_LABS = 136; |
/* TDK Corporation */ |
MM_DOLBY = 78 ; |
/* Ahead, Inc. */ |
MM_DPSINC = 191; |
/* Marian GbR Leipzig */ |
MM_DSP_GROUP = 43 ; |
/* APPS Software International */ |
MM_DSP_SOLUTIONS = 25 ; |
/* Roland */ |
MM_DTS = 226; |
/* ACTIVE VOICE CORPORATION */ |
MM_DUCK = 197; |
/* DataFusion Systems (Pty) (Ltd) */ |
MM_DVISION = 165; |
/* S3 */ |
MM_ECHO = 39 ; |
/* Everex Systems, Inc. */ |
MM_ECS = 145; |
/* Spectrum Signal Processing, Inc. */ |
MM_EES = 219; |
/* Pinnacle Systems, Inc. */ |
MM_EMAGIC = 208; |
/* Guillemot International */ |
MM_EMU = 19 ; |
/* Siemens-Nixdorf */ |
MM_ENET = 206; |
/* Virtual Music, Inc. */ |
MM_ENSONIQ = 125; |
/* Brooktree Corporation */ |
MM_EPSON = 50 ; |
/* Canopus, co., Ltd. */ |
MM_ESS = 46 ; |
/* Computer Friends, Inc. */ |
MM_ETEK = 241; |
/* ViewQuest Technologies Inc. */ |
MM_EUPHONICS = 152; |
/* Danka Data Devices */ |
MM_EVEREX = 38 ; |
/* Yamaha Corporation of America */ |
MM_EXAN = 63 ; |
/* NCR Corporation */ |
MM_FAITH = 15 ; |
/* Aculab plc */ |
MM_FAST = 126; |
/* ENSONIQ Corporation */ |
MM_FLEXION = 249; |
/* Sydec NV */ |
MM_FORTEMEDIA = 229; |
/* Softlab-Nsk */ |
MM_FRAUNHOFER_IIS = 172; |
/* Studer Professional Audio AG */ |
MM_FRONTIER = 160; |
/* Gadget Labs LLC */ |
MM_FTR = 198; |
/* The Duck Corporation */ |
MM_FUJITSU = 4 ; |
/* Media Vision, Inc. */ |
MM_GADGETLABS = 159; |
/* Connectix Corporation */ |
MM_GRANDE = 117; |
/* APICOM */ |
MM_GRAVIS = 34 ; |
/* Intel Corporation */ |
MM_GUILLEMOT = 207; |
/* e-Net, Inc. */ |
MM_GULBRANSEN = 130; |
/* DiAcoustics, Inc. */ |
MM_HAFTMANN = 220; |
/* EES Technik fur Musik GmbH */ |
MM_HEADSPACE = 222; |
/* Lucid Technology, Symetrix Inc. */ |
MM_HEWLETT_PACKARD = 13 ; |
/* Bin Tec Communications GmbH */ |
MM_HORIZONS = 107; |
/* ISOLUTION B.V. */ |
MM_HP = 253; |
/* Analog Devices, Inc. */ |
MM_HYPERACTIVE = 246; |
/* Sony Corporation */ |
MM_IBM = 22 ; |
/* Turtle Beach, Inc. */ |
MM_ICCC = 259; |
/* I-O Data Device, Inc. */ |
MM_ICE = 239; |
/* Interactive Product Inc. */ |
MM_ICL_PS = 32 ; |
/* Antex Electronics Corporation */ |
MM_ICS = 57 ; |
/* Audio Processing Technology */ |
MM_INSOFT = 94 ; |
/* Dialogic Corporation */ |
MM_INTEL = 33 ; |
/* ICL Personal Systems */ |
MM_INTERACTIVE = 36 ; |
/* Video Associates Labs, Inc. */ |
MM_INTERNET = 244; |
/* Alesis Studio Electronics */ |
MM_INVISION = 188; |
/* Sorenson Vision */ |
MM_IODD = 258; |
/* Richmond Sound Design Ltd. */ |
MM_IOMAGIC = 82 ; |
/* Ing C. Olivetti & C., S.p.A. */ |
MM_IPI = 238; |
/* Silicon Graphics Inc. */ |
MM_ISOLUTION = 106; |
/* Cirrus Logic */ |
MM_ITERATEDSYS = 58 ; |
/* Integrated Circuit Systems, Inc. */ |
MM_I_LINK = 233; |
/* Data Translation, Inc. */ |
MM_KAY_ELEMETRICS = 131; |
/* Gulbransen, Inc. */ |
MM_KORG = 55 ; |
/* SCALACS */ |
MM_LERNOUT_AND_HAUSPIE = 97 ; |
/* Weitek */ |
MM_LEXICON = 236; |
/* AdMOS Technology, Inc. */ |
MM_LOGITECH = 60 ; |
/* Metheus */ |
MM_LUCENT = 184; |
/* Sharp */ |
MM_LUCID = 221; |
/* haftmann#software */ |
MM_LUMINOSITI = 224; |
/* UNISYS CORPORATION */ |
MM_LYNX = 212; |
/* Sipro Lab Telecom Inc. */ |
MM_LYRRUS = 88 ; |
/* Natural MicroSystems */ |
MM_MALDEN = 261; |
/* 3COM Corporation */ |
MM_MARIAN = 190; |
/* Deutsche Telekom Berkom GmbH */ |
MM_MATROX_DIV = 254; |
/* Hewlett Packard Company */ |
MM_MATSUSHITA = 83 ; |
/* I/O Magic Corporation */ |
MM_MEDIASONIC = 71 ; |
/* TerraTec Electronic GmbH */ |
MM_MEDIATRIX = 141; |
/* Osprey Technologies, Inc. */ |
MM_MEDIAVISION = 3 ; |
/* Creative Labs, Inc. */ |
MM_MELABS = 44 ; |
/* DSP Group, Inc. */ |
MM_MERGING_TECHNOLOGIES = 177; |
/* NeoMagic Corporation */ |
MM_METHEUS = 59 ; |
/* Iterated Systems, Inc. */ |
MM_MICRONAS = 251; |
/* Via Technologies, Inc. */ |
MM_MICROSOFT = 1 ; |
back to MMREG.H |
MM_MIRO = 104; |
/* Ositech Communications Inc. */ |
MM_MITEL = 16 ; |
/* Faith,Inc. */ |
MM_MOSCOM = 68 ; |
/* Vitec Multimedia */ |
MM_MOTIONPIXELS = 193; |
/* BCB Holdings Inc. */ |
MM_MOTOROLA = 48 ; |
/* Audio, Inc. */ |
MM_MOTU = 101; |
/* Digital Equipment Corporation */ |
MM_MPTUS = 95 ; |
/* InSoft, Inc. */ |
MM_MSFT_ACM_G711 = 37; |
GSM 610 codec */ |
MM_MSFT_ACM_GSM610 = 36; |
MS Filter */ |
MM_MSFT_ACM_IMAADPCM = 34; |
MS ADPCM Codec */ |
MM_MSFT_ACM_MSADPCM = 33; |
MS Audio Compression Manager */ |
MM_MSFT_ACM_MSFILTER = 35; |
IMA ADPCM Codec */ |
MM_MSFT_ACM_PCM = 38; |
G.711 codec */ |
MM_MSFT_GENERIC_AUX_CD = 30; |
MS Vanilla driver aux (mic) */ |
MM_MSFT_GENERIC_AUX_LINE = 28; |
MS Vanilla driver MIDI synthesizer */ |
MM_MSFT_GENERIC_AUX_MIC = 29; |
MS Vanilla driver aux (line in) */ |
MM_MSFT_GENERIC_MIDIIN = 25; |
MS Vanilla driver wavefrom output */ |
MM_MSFT_GENERIC_MIDIOUT = 26; |
MS Vanilla driver MIDI in */ |
MM_MSFT_GENERIC_MIDISYNTH = 27; |
MS Vanilla driver MIDI external out */ |
MM_MSFT_GENERIC_WAVEIN = 23; |
MS OEM Audio Aux Port */ |
MM_MSFT_GENERIC_WAVEOUT = 24; |
MS Vanilla driver waveform input */ |
MM_MSFT_MSACM = 32; |
MS OEM Audio Board Mixer Driver */ |
MM_MSFT_WSS_AUX = 21; |
MS OEM Audio Board Stereo FM Synth */ |
MM_MSFT_WSS_FMSYNTH_STEREO = 16; |
MS Audio Board waveform output */ |
MM_MSFT_WSS_MIXER = 17; |
MS Audio Board Stereo FM synth */ |
MM_MSFT_WSS_OEM_AUX = 22; |
MS Audio Board Aux. Port */ |
MM_MSFT_WSS_OEM_FMSYNTH_STEREO = 20; |
MS OEM Audio Board waveform output */ |
MM_MSFT_WSS_OEM_MIXER = 31; |
MS Vanilla driver aux (CD) */ |
MM_MSFT_WSS_OEM_WAVEIN = 18; |
MS Audio Board Mixer Driver */ |
MM_MSFT_WSS_OEM_WAVEOUT = 19; |
MS OEM Audio Board waveform input */ |
MM_MSFT_WSS_WAVEIN = 14; |
extensible PID mapping */ some of MS pids |
MM_MSFT_WSS_WAVEOUT = 15; |
MS Audio Board waveform input */ |
MM_MWM = 209; |
/* Emagic Soft- und Hardware GmbH */ |
MM_NCR = 62 ; |
/* Winnov, Inc. */ |
MM_NEC = 26 ; |
/* DSP Solutions, Inc. */ |
MM_NEOMAGIC = 176; |
/* SIC Resource Inc. */ |
MM_NETSCAPE = 166; |
/* D-Vision Systems, Inc. */ |
MM_NETXL = 8 ; |
/* Philips Speech Processing */ |
MM_NEWMEDIA = 86 ; |
/* Xebec Multimedia Solutions Limited */ |
MM_NMP = 195; |
/* QDesign Corporation */ |
MM_NMS = 87 ; |
/* New Media Corporation */ |
MM_NOGATECH = 75 ; |
/* Audio Processing Technology */ |
MM_NORRIS = 150; |
/* Softsound, Ltd. */ |
MM_NORTHERN_TELECOM = 115; |
/* Voxware Inc. */ |
MM_NVIDIA = 127; |
/* FAST Multimedia AG */ |
MM_OKI = 79 ; |
/* Dolby Laboratories */ |
MM_OKSORI = 128; |
/* NVidia Corporation */ |
MM_OLIVETTI = 81 ; |
/* AuraVision Corporation */ |
MM_ONLIVE = 200; |
/* BERCOS GmbH */ |
MM_OPCODE = 113; |
/* Co. XYZ for testing */ |
MM_OPTI = 90 ; |
/* Compusic */ |
MM_OSITECH = 103; |
/* Workbit Corporation */ |
MM_OSPREY = 140; |
/* AT&T Microelectronics */ |
MM_OTI = 180; |
/* Colorgraph (UK) Ltd */ |
MM_PACIFICRESEARCH = 210; |
/* MWM Acoustics LLC */ |
MM_PHILIPS_SPEECH_PROCESSING = 7 ; |
/* Cyrix Corporation */ |
MM_PHONET = 203; |
/* TeraLogic, Inc. */ |
MM_PICTURETEL = 138; |
/* Seer Systems, Inc. */ |
MM_PID_UNMAPPED = MM_UNMAPPED; |
extensible MID mapping */ |
MM_PINNACLE = 218; |
/* AudioScience Inc. */ |
MM_PRAGMATRAX = 5 ; |
/* Fujitsu Corp. */ |
MM_PRECEPT = 153; |
/* EuPhonics */ |
MM_QCIAR = 98 ; |
/* Lernout & Hauspie */ |
MM_QDESIGN = 194; |
/* Motion Pixels */ |
MM_QTEAM = 169; |
/* VanKoevering Company */ |
MM_QUALCOMM = 215; |
/* Dictaphone Corporation */ |
MM_QUANTUM3D = 17 ; |
/* Mitel Corporation */ |
MM_QUARTERDECK = 134; |
/* Splash Studios */ |
MM_QUICKAUDIO = 255; |
/* Matrox */ |
MM_QUICKNET = 173; |
/* Fraunhofer IIS */ |
MM_RADIUS = 110; |
/* Voice Technologies Group, Inc. */ |
MM_RHETOREX = 120; |
/* Wildcat Canyon Software */ |
MM_RICHMOND = 257; |
/* You/Com Audiocommunicatie BV */ |
MM_ROCKWELL = 111; |
/* Radius */ |
MM_ROLAND = 24 ; |
/* Vocaltec Ltd. */ |
MM_RZS = 216; |
/* QUALCOMM, Inc. */ |
MM_S3 = 164; |
/* Diamond Multimedia */ |
MM_SANYO = 72 ; |
/* MediaSonic Ltd. */ |
MM_SCALACS = 54 ; |
/* Videologic */ |
MM_SEERSYS = 137; |
/* Digital Audio Labs, Inc. */ |
MM_SELSIUS_SYSTEMS = 234; |
/* I-link Worldwide */ |
MM_SGI = 237; |
/* Lexicon Inc. */ |
MM_SHARP = 183; |
/* Vivo Software */ |
MM_SICRESOURCE = 175; |
/* Alaris, Inc. */ |
MM_SIEMENS_SBC = 201; |
/* OnLive! Technologies, Inc. */ |
MM_SIERRA = 40 ; |
/* Echo Speech Corporation */ |
MM_SILICONSOFT = 69 ; |
/* MOSCOM Corporation */ |
MM_SIPROLAB = 211; |
/* Pacific Research and Engineering Corporation */ |
MM_SNI = 18 ; |
/* Quantum3D, Inc. */ |
MM_SOFTLAB_NSK = 228; |
/* DIGIGRAM */ |
MM_SOFTSOUND = 149; |
/* CANAM Computers */ |
MM_SONICFOUNDRY = 66 ; |
/* Willow Pond Corporation */ |
MM_SONORUS = 230; |
/* ForteMedia, Inc */ |
MM_SONY = 245; |
/* INTERNET Corporation */ |
MM_SORVIS = 187; |
/* Sun Communications, Inc. */ |
MM_SOUNDESIGNS = 142; |
/* Mediatrix Peripherals */ |
MM_SOUNDSPACE = 167; |
/* Netscape Communications */ |
MM_SPECTRUM_PRODUCTIONS = 213; |
/* Lynx Studio Technology, Inc. */ |
MM_SPECTRUM_SIGNAL_PROCESSING = 144; |
/* A.L. Digital Ltd. */ |
MM_SPEECHCOMP = 76 ; |
/* NOGATECH Ltd. */ |
MM_SPLASH_STUDIOS = 133; |
/* Crystal Semiconductor Corporation */ |
MM_STUDER = 171; |
/* Zefiro Acoustics */ |
MM_SUNCOM = 186; |
/* AT&T Labs, Inc. */ |
MM_SUPERMAC = 73 ; |
/* SANYO Electric Co., Ltd. */ |
MM_SYDEC_NV = 248; |
/* UHER informatic GmbH */ |
MM_TANDY = 29 ; |
/* Wang Laboratories, Inc. */ |
MM_TDK = 135; |
/* Quarterdeck Corporation */ |
MM_TERALOGIC = 202; |
/* Siemens Business Communications Systems */ |
MM_TERRATEC = 70 ; |
/* Silicon Soft, Inc. */ |
MM_TRUEVISION = 51 ; |
/* Seiko Epson Corporation */ |
MM_TURTLE_BEACH = 21 ; |
/* Artisoft, Inc. */ |
MM_UHER_INFORMATIC = 247; |
/* Hyperactive Audio Systems, Inc. */ |
MM_UNISYS = 223; |
/* Headspace, Inc */ |
MM_UNMAPPED = $ffff; |
/* Malden Electronics Ltd. */ |
MM_VAL = 35 ; |
/* Advanced Gravis */ |
MM_VANKOEVERING = 168; |
/* Soundspace Audio */ |
MM_VIA = 250; |
/* Flexion Systems Ltd. */ |
MM_VIDEOLOGIC = 53 ; |
/* Aztech Labs, Inc. */ |
MM_VIENNASYS = 157; |
/* Voice Information Systems, Inc. */ |
MM_VIONA = 161; |
/* Frontier Design Group LLC */ |
MM_VIRTUALMUSIC = 205; |
/* Winbond Electronics Corp */ |
MM_VITEC = 67 ; |
/* Sonic Foundry */ |
MM_VIVO = 182; |
/* Aureal Semiconductor */ |
MM_VOCALTEC = 23 ; |
/* IBM Corporation */ |
MM_VOICEINFO = 156; |
/* Chromatic Research, Inc. */ |
MM_VOXWARE = 114; |
/* Opcode Systems */ |
MM_VOYETRA = 30 ; |
/* Tandy Corporation */ |
MM_VQST = 240; |
/* IC Ensemble, Inc. */ |
MM_VTG = 109; |
/* Computer Concepts Ltd. */ |
MM_WANGLABS = 28 ; |
/* ATI Technologies Inc. */ |
MM_WEITEK = 96 ; |
/* M.P. Technologies, Inc. */ |
MM_WILDCAT = 119; |
/* ADDX */ |
MM_WILLOWPOND = 65 ; |
/* AST Research Inc. */ |
MM_WINBOND = 204; |
/* PhoNet Communications Ltd. */ |
MM_WINNOV = 61 ; |
/* Logitech, Inc. */ |
MM_WORKBIT = 102; |
/* Mark of the Unicorn */ |
MM_XEBEC = 85 ; |
/* Control Resources Limited */ |
MM_XIRLINK = 178; |
/* Merging Technologies S.A. */ |
MM_XYZ = 112; |
/* Rockwell International */ |
MM_YAMAHA = 37 ; |
/* InterActive Inc. */ |
MM_YOUCOM = 256; |
/* Quick Audio, GbR */ |
MM_ZEFIRO = 170; |
/* Q-Team */ |
MM_ZYXEL = 9 ; |
/* NetXL, Inc. */ |
SPEAKER_ALL = $80000000; |
Used to specify that any possible permutation of speaker configurations |
SPEAKER_BACK_CENTER = $100; |
SPEAKER_BACK_LEFT = $10; |
SPEAKER_BACK_RIGHT = $20; |
SPEAKER_DEFAULT = $A0000000; |
specific to Lake of Soft, do not use |
SPEAKER_FRONT_CENTER = $4; |
SPEAKER_FRONT_LEFT = $1; |
Speaker Positions for dwChannelMask in WAVEFORMATEXTENSIBLE: |
SPEAKER_FRONT_LEFT_OF_CENTER = $40; |
SPEAKER_FRONT_RIGHT = $2; |
SPEAKER_FRONT_RIGHT_OF_CENTER = $80; |
SPEAKER_LOW_FREQUENCY = $8; |
SPEAKER_RESERVED = $7FFC0000; |
Bit mask locations reserved for future use |
SPEAKER_SIDE_LEFT = $200; |
SPEAKER_SIDE_RIGHT = $400; |
SPEAKER_TOP_BACK_CENTER = $10000; |
SPEAKER_TOP_BACK_LEFT = $8000; |
SPEAKER_TOP_BACK_RIGHT = $20000; |
SPEAKER_TOP_CENTER = $800; |
SPEAKER_TOP_FRONT_CENTER = $2000; |
SPEAKER_TOP_FRONT_LEFT = $1000; |
SPEAKER_TOP_FRONT_RIGHT = $4000; |
WAVEIN_MAPPER_STATUS_DEVICE = 0; |
WAVEIN_MAPPER_STATUS_FORMAT = 2; |
WAVEIN_MAPPER_STATUS_MAPPED = 1; |
WAVEOUT_MAPPER_STATUS_DEVICE = 0; |
WAVEOUT_MAPPER_STATUS_FORMAT = 2; |
WAVEOUT_MAPPER_STATUS_MAPPED = 1; |
WAVE_FILTER_DEVELOPMENT = $FFFF; |
WAVE_FILTER_UNKNOWN = $0000; |
some MMREG.H and MMSYSTEM.H includes missed from MMSystem.pas |
WAVE_FORMAT_ADPCM = $00002; |
Microsoft Corporation */ |
WAVE_FORMAT_ALAW = $00006; |
IBM Corporation */ |
WAVE_FORMAT_ANTEX_ADPCME = $00033; |
Microsoft Corporation */ |
WAVE_FORMAT_APTX = $00025; |
Virtual Music, Inc. */ |
WAVE_FORMAT_AUDIOFILE_AF10 = $00026; |
Audio Processing Technology */ |
WAVE_FORMAT_AUDIOFILE_AF36 = $00024; |
Echo Speech Corporation */ |
WAVE_FORMAT_BTV_DIGITAL = $00400; |
Fujitsu Corp. */ |
WAVE_FORMAT_CANOPUS_ATRAC = $00063; |
Voxware Inc */ |
WAVE_FORMAT_CIRRUS = $00060; |
Lucent Technologies */ |
WAVE_FORMAT_CONTROL_RES_CR10 = $00037; |
DSP Solutions, Inc. */ |
WAVE_FORMAT_CONTROL_RES_VQLPC = $00034; |
Antex Electronics Corporation */ |
WAVE_FORMAT_CREATIVE_ADPCM = $00200; |
Microsoft Corporation */ |
WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $00203; |
Creative Labs, Inc */ |
WAVE_FORMAT_CREATIVE_FASTSPEECH8 = $00202; |
Creative Labs, Inc */ |
WAVE_FORMAT_CS2 = $00260; |
Interactive Products, Inc. */ |
WAVE_FORMAT_CS_IMAADPCM = $00039; |
Natural MicroSystems */ |
WAVE_FORMAT_CU_CODEC = $00019; |
Media Vision, Inc. */ |
WAVE_FORMAT_DF_G726 = $00085; |
Motion Pixels */ |
WAVE_FORMAT_DF_GSM610 = $00086; |
DataFusion Systems (Pty) (Ltd) */ |
WAVE_FORMAT_DIALOGIC_OKI_ADPCM = $00017; |
DSP Solutions, Inc. */ |
WAVE_FORMAT_DIGIADPCM = $00036; |
DSP Solutions, Inc. */ |
WAVE_FORMAT_DIGIFIX = $00016; |
DSP Solutions, Inc. */ |
WAVE_FORMAT_DIGIREAL = $00035; |
Control Resources Limited */ |
WAVE_FORMAT_DIGISTD = $00015; |
Antex Electronics Corporation */ |
WAVE_FORMAT_DIGITAL_G723 = $00123; |
Vivo Software */ |
WAVE_FORMAT_DIRECT = $0008; |
WAVE_FORMAT_DOLBY_AC2 = $00030; |
Merging Technologies S.A. */ |
WAVE_FORMAT_DOLBY_AC3_SPDIF = $00092; |
Siemens Business Communications Sys */ |
WAVE_FORMAT_DSAT_DISPLAY = $00067; |
APICOM */ |
WAVE_FORMAT_DSPGROUP_TRUESPEECH = $00022; |
Speech Compression */ |
WAVE_FORMAT_DTS = $00008; |
Microsoft Corporation */ |
WAVE_FORMAT_DVI_ADPCM = $00011; |
OKI */ |
WAVE_FORMAT_DVM = $02000; |
AT&T Labs, Inc. */ |
WAVE_FORMAT_ECHOSC1 = $00023; |
DSP Group, Inc */ |
WAVE_FORMAT_ECHOSC3 = $0003A; |
Crystal Semiconductor IMA ADPCM */ |
WAVE_FORMAT_ESPCM = $00061; |
Cirrus Logic */ |
WAVE_FORMAT_EXTENSIBLE = $0FFFE; |
FAST Multimedia AG */ |
WAVE_FORMAT_FM_TOWNS_SND = $00300; |
Sony Corp. */ |
WAVE_FORMAT_G721_ADPCM = $00040; |
Xebec Multimedia Solutions Limited */ |
WAVE_FORMAT_G722_ADPCM = $00065; |
APICOM */ |
WAVE_FORMAT_G723_ADPCM = $00014; |
Sierra Semiconductor Corp */ |
WAVE_FORMAT_G726ADPCM = $00140; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_G726_ADPCM = $00064; |
Canopus, co., Ltd. */ |
WAVE_FORMAT_G728_CELP = $00041; |
Antex Electronics Corporation */ |
WAVE_FORMAT_G729A = $00083; |
Microsoft Corporation */ |
WAVE_FORMAT_GSM610 = $00031; |
Dolby Laboratories */ |
WAVE_FORMAT_IBM_CVSD = $00005; |
Compaq Computer Corp. */ |
WAVE_FORMAT_IEEE_FLOAT = $00003; |
Microsoft Corporation */ |
WAVE_FORMAT_ILINK_VC = $00230; |
Quarterdeck Corporation */ |
WAVE_FORMAT_IMA_ADPCM = WAVE_FORMAT_DVI_ADPCM; |
Intel Corporation */ |
WAVE_FORMAT_IPI_HSX = $00250; |
Aureal Semiconductor */ |
WAVE_FORMAT_IPI_RPELP = $00251; |
Interactive Products, Inc. */ |
WAVE_FORMAT_IRAT = $00101; |
Rhetorex Inc. */ |
WAVE_FORMAT_ISIAUDIO = $00088; |
DataFusion Systems (Pty) (Ltd) */ |
WAVE_FORMAT_LH_CODEC = $01100; |
Ing C. Olivetti & C., S.p.A. */ |
WAVE_FORMAT_LRC = $00028; |
Aculab plc */ |
WAVE_FORMAT_LUCENT_G723 = $00059; |
ISO/MPEG Layer3 Format Tag */ |
WAVE_FORMAT_MALDEN_PHONYTALK = $000A0; |
Studer Professional Audio AG */ |
WAVE_FORMAT_MEDIASONIC_G723 = $00093; |
Sonic Foundry */ |
WAVE_FORMAT_MEDIASPACE_ADPCM = $00012; |
Intel Corporation */ |
WAVE_FORMAT_MEDIAVISION_ADPCM = $00018; |
Dialogic Corporation */ |
WAVE_FORMAT_MPEG = $00050; |
Microsoft Corporation */ |
WAVE_FORMAT_MPEGLAYER3 = $00055; |
InSoft, Inc. */ |
WAVE_FORMAT_MSAUDIO1 = $00160; |
Ring Zero Systems, Inc. */ |
WAVE_FORMAT_MSG723 = $00042; |
Antex Electronics Corporation */ |
WAVE_FORMAT_MSNAUDIO = $00032; |
Microsoft Corporation */ |
WAVE_FORMAT_MSRT24 = $00082; |
Voxware Inc */ |
WAVE_FORMAT_MULAW = $00007; |
Microsoft Corporation */ |
WAVE_FORMAT_MVI_MVI2 = $00084; |
AT&T Labs, Inc. */ |
WAVE_FORMAT_NMS_VBXADPCM = $00038; |
Control Resources Limited */ |
WAVE_FORMAT_NORRIS = $01400; |
Lernout & Hauspie */ |
WAVE_FORMAT_OKI_ADPCM = $00010; |
Microsoft Corporation */ |
WAVE_FORMAT_OLIADPCM = $01001; |
Ing C. Olivetti & C., S.p.A. */ |
WAVE_FORMAT_OLICELP = $01002; |
Ing C. Olivetti & C., S.p.A. */ |
WAVE_FORMAT_OLIGSM = $01000; |
AT&T Labs, Inc. */ |
WAVE_FORMAT_OLIOPR = $01004; |
Ing C. Olivetti & C., S.p.A. */ |
WAVE_FORMAT_OLISBC = $01003; |
Ing C. Olivetti & C., S.p.A. */ |
WAVE_FORMAT_ONLIVE = $00089; |
Iterated Systems, Inc. */ |
WAVE_FORMAT_PAC = $00053; |
InSoft, Inc. */ |
WAVE_FORMAT_PACKED = $00099; |
Philips Speech Processing */ |
WAVE_FORMAT_PHILIPS_LPCBB = $00098; |
ZyXEL Communications, Inc. */ |
WAVE_FORMAT_PROSODY_1612 = $00027; |
Virtual Music, Inc. */ |
WAVE_FORMAT_PROSODY_8KBPS = $00094; |
MediaSonic */ |
WAVE_FORMAT_QDESIGN_MUSIC = $00450; |
Brooktree Corporation */ |
WAVE_FORMAT_QUALCOMM_HALFRATE = $00151; |
Qualcomm, Inc. */ |
WAVE_FORMAT_QUALCOMM_PUREVOICE = $00150; |
Dictaphone Corporation */ |
WAVE_FORMAT_QUARTERDECK = $00220; |
UHER informatic GmbH */ |
WAVE_FORMAT_RAW_SPORT = $00240; |
I-link Worldwide */ |
WAVE_FORMAT_RHETOREX_ADPCM = $00100; |
Malden Electronics Ltd. */ |
WAVE_FORMAT_ROCKWELL_ADPCM = $0003B; |
Echo Speech Corporation */ |
WAVE_FORMAT_ROCKWELL_DIGITALK = $0003C; |
Rockwell International */ |
WAVE_FORMAT_RT24 = $00052; |
Microsoft Corporation */ |
WAVE_FORMAT_SANYO_LD_ADPCM = $00125; |
Digital Equipment Corporation */ |
WAVE_FORMAT_SBC24 = $00091; |
OnLive! Technologies, Inc. */ |
WAVE_FORMAT_SIERRA_ADPCM = $00013; |
Videologic */ |
WAVE_FORMAT_SIPROLAB_ACELP4800 = $00131; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_SIPROLAB_ACELP8V3 = $00132; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_SIPROLAB_ACEPLNET = $00130; |
Sanyo Electric Co., Ltd. */ |
WAVE_FORMAT_SIPROLAB_G729 = $00133; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_SIPROLAB_G729A = $00134; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_SIPROLAB_KELVIN = $00135; |
Sipro Lab Telecom Inc. */ |
WAVE_FORMAT_SOFTSOUND = $00080; |
Voxware Inc */ |
WAVE_FORMAT_SONARC = $00021; |
Yamaha Corporation of America */ |
WAVE_FORMAT_SONY_SCX = $00270; |
Consistent Software */ |
WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS = $01500; |
Norris Communications, Inc. */ |
WAVE_FORMAT_TPC = $00681; |
AT&T Labs, Inc. */ |
WAVE_FORMAT_TUBGSM = $00155; |
Qualcomm, Inc. */ |
WAVE_FORMAT_UHER_ADPCM = $00210; |
Creative Labs, Inc */ |
WAVE_FORMAT_UNKNOWN = $00000; |
PCM converter */ WAVE form wFormatTag IDs */ |
WAVE_FORMAT_VIVO_G723 = $00111; |
BeCubed Software Inc. */ |
WAVE_FORMAT_VIVO_SIREN = $00112; |
Vivo Software */ |
WAVE_FORMAT_VME_VMPCM = $00680; |
QDesign Corporation */ |
WAVE_FORMAT_VOXWARE = $00062; |
ESS Technology */ |
WAVE_FORMAT_VOXWARE_AC10 = $00071; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_AC16 = $00072; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_AC20 = $00073; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_AC8 = $00070; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_BYTE_ALIGNED = $00069; |
Microsoft Corporation */ |
WAVE_FORMAT_VOXWARE_RT24 = $00074; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_RT29 = $00075; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_RT29HW = $00076; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_TQ40 = $00079; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_TQ60 = $00081; |
Softsound, Ltd. */ |
WAVE_FORMAT_VOXWARE_VR12 = $00077; |
Voxware Inc */ |
WAVE_FORMAT_VOXWARE_VR18 = $00078; |
Voxware Inc */ |
WAVE_FORMAT_VSELP = $00004; |
Microsoft Corporation */ |
WAVE_FORMAT_XEBEC = $0003D; |
Rockwell International */ |
WAVE_FORMAT_YAMAHA_ADPCM = $00020; |
Hewlett-Packard Company */ |
WAVE_FORMAT_ZYXEL_ADPCM = $00097; |
Aculab plc */ |
WIDM_MAPPER_STATUS = (DRVM_MAPPER_STATUS + 0); |
WODM_MAPPER_STATUS = (DRVM_MAPPER_STATUS + 0); |
_DRVRESERVED = 10; |
————————————————————————–; ACM Stream API's #ifdef _WIN64 #define _DRVRESERVED 10 |
(c) 2012 Lake of Soft