'' '' '' msacm -- header translated with help of SWIG FB wrapper '' '' NOTICE: This file is part of the FreeBASIC Compiler package and can't '' be included in other distributions without authorization. '' '' #ifndef __msacm_bi__ #define __msacm_bi__ #inclib "msacm32" #include once "win/mmsystem.bi" #include once "win/mmreg.bi" extern "WINDOWS-MS" #define DRVM_MAPPER &h2000 #define DRVM_MAPPER_STATUS (&h2000+0) #define WIDM_MAPPER_STATUS ((&h2000+0) +0) #define WAVEIN_MAPPER_STATUS_DEVICE 0 #define WAVEIN_MAPPER_STATUS_MAPPED 1 #define WAVEIN_MAPPER_STATUS_FORMAT 2 #define WODM_MAPPER_STATUS ((&h2000+0) +0) #define WAVEOUT_MAPPER_STATUS_DEVICE 0 #define WAVEOUT_MAPPER_STATUS_MAPPED 1 #define WAVEOUT_MAPPER_STATUS_FORMAT 2 DECLARE_HANDLE(HACMDRIVERID) DECLARE_HANDLE(HACMDRIVER) DECLARE_HANDLE(HACMSTREAM) DECLARE_HANDLE(HACMOBJ) type PHACMDRIVERID as HACMDRIVERID ptr type LPHACMDRIVERID as HACMDRIVERID ptr type PHACMDRIVER as HACMDRIVER ptr type LPHACMDRIVER as HACMDRIVER ptr type PHACMSTREAM as HACMSTREAM ptr type LPHACMSTREAM as HACMSTREAM ptr type PHACMOBJ as HACMOBJ ptr type LPHACMOBJ as HACMOBJ ptr type MMRESULT as UINT #define ACMERR_BASE (512) #define ACMERR_NOTPOSSIBLE ((512) +0) #define ACMERR_BUSY ((512) +1) #define ACMERR_UNPREPARED ((512) +2) #define ACMERR_CANCELED ((512) +3) declare function acmGetVersion alias "acmGetVersion" () as DWORD declare function acmMetrics alias "acmMetrics" (byval hao as HACMOBJ, byval uMetric as UINT, byval pMetric as LPVOID) as MMRESULT #define ACM_METRIC_COUNT_DRIVERS 1 #define ACM_METRIC_COUNT_CODECS 2 #define ACM_METRIC_COUNT_CONVERTERS 3 #define ACM_METRIC_COUNT_FILTERS 4 #define ACM_METRIC_COUNT_DISABLED 5 #define ACM_METRIC_COUNT_HARDWARE 6 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20 #define ACM_METRIC_COUNT_LOCAL_CODECS 21 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31 #define ACM_METRIC_MAX_SIZE_FORMAT 50 #define ACM_METRIC_MAX_SIZE_FILTER 51 #define ACM_METRIC_DRIVER_SUPPORT 100 #define ACM_METRIC_DRIVER_PRIORITY 101 type ACMDRIVERENUMCB as function(byval as HACMDRIVERID, byval as DWORD_PTR, byval as DWORD) as BOOL declare function acmDriverEnum alias "acmDriverEnum" (byval fnCallback as ACMDRIVERENUMCB, byval dwInstance as DWORD_PTR, byval fdwEnum as DWORD) as MMRESULT #define ACM_DRIVERENUMF_NOLOCAL &h40000000L #define ACM_DRIVERENUMF_DISABLED &h80000000L declare function acmDriverID alias "acmDriverID" (byval hao as HACMOBJ, byval phadid as LPHACMDRIVERID, byval fdwDriverID as DWORD) as MMRESULT declare function acmDriverAdd alias "acmDriverAdd" (byval phadid as LPHACMDRIVERID, byval hinstModule as HINSTANCE, byval lParam as LPARAM, byval dwPriority as DWORD, byval fdwAdd as DWORD) as MMRESULT #define ACM_DRIVERADDF_NAME &h00000001L #define ACM_DRIVERADDF_FUNCTION &h00000003L #define ACM_DRIVERADDF_NOTIFYHWND &h00000004L #define ACM_DRIVERADDF_TYPEMASK &h00000007L #define ACM_DRIVERADDF_LOCAL &h00000000L #define ACM_DRIVERADDF_GLOBAL &h00000008L declare function acmDriverRemove alias "acmDriverRemove" (byval hadid as HACMDRIVERID, byval fdwRemove as DWORD) as MMRESULT declare function acmDriverOpen alias "acmDriverOpen" (byval phad as LPHACMDRIVER, byval hadid as HACMDRIVERID, byval fdwOpen as DWORD) as MMRESULT declare function acmDriverClose alias "acmDriverClose" (byval had as HACMDRIVER, byval fdwClose as DWORD) as MMRESULT declare function acmDriverMessage alias "acmDriverMessage" (byval had as HACMDRIVER, byval uMsg as UINT, byval lParam1 as LPARAM, byval lParam2 as LPARAM) as LRESULT declare function acmDriverPriority alias "acmDriverPriority" (byval hadid as HACMDRIVERID, byval dwPriority as DWORD, byval fdwPriority as DWORD) as MMRESULT #define ACM_DRIVERPRIORITYF_ENABLE &h00000001L #define ACM_DRIVERPRIORITYF_DISABLE &h00000002L #define ACM_DRIVERPRIORITYF_ABLEMASK &h00000003L #define ACM_DRIVERPRIORITYF_BEGIN &h00010000L #define ACM_DRIVERPRIORITYF_END &h00020000L #define ACM_DRIVERPRIORITYF_DEFERMASK &h00030000L #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80 #define ACMDRIVERDETAILS_LICENSING_CHARS 128 #define ACMDRIVERDETAILS_FEATURES_CHARS 512 type tACMDRIVERDETAILS cbStruct as DWORD fccType as FOURCC fccComp as FOURCC wMid as WORD wPid as WORD vdwACM as DWORD vdwDriver as DWORD fdwSupport as DWORD cFormatTags as DWORD cFilterTags as DWORD hicon as HICON szShortName as zstring * 32 szLongName as zstring * 128 szCopyright as zstring * 80 szLicensing as zstring * 128 szFeatures as zstring * 512 end type type ACMDRIVERDETAILS as tACMDRIVERDETAILS type PACMDRIVERDETAILS as tACMDRIVERDETAILS ptr type LPACMDRIVERDETAILS as tACMDRIVERDETAILS ptr type LPACMFORMATDETAILSA as ACMFORMATDETAILSA ptr #define ACMDRIVERDETAILS_SUPPORTF_CODEC &h00000001L #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER &h00000002L #define ACMDRIVERDETAILS_SUPPORTF_FILTER &h00000004L #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE &h00000008L #define ACMDRIVERDETAILS_SUPPORTF_ASYNC &h00000010L #define ACMDRIVERDETAILS_SUPPORTF_LOCAL &h40000000L #define ACMDRIVERDETAILS_SUPPORTF_DISABLED &h80000000L declare function acmDriverDetails alias "acmDriverDetails" (byval hadid as HACMDRIVERID, byval padd as LPACMDRIVERDETAILS, byval fdwDetails as DWORD) as MMRESULT #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48 type tACMFORMATTAGDETAILS cbStruct as DWORD dwFormatTagIndex as DWORD dwFormatTag as DWORD cbFormatSize as DWORD fdwSupport as DWORD cStandardFormats as DWORD szFormatTag as zstring * 48 end type type ACMFORMATTAGDETAILS as tACMFORMATTAGDETAILS type PACMFORMATTAGDETAILS as tACMFORMATTAGDETAILS ptr type LPACMFORMATTAGDETAILS as tACMFORMATTAGDETAILS ptr type LPACMFORMATTAGDETAILSA as ACMFORMATTAGDETAILSA ptr declare function acmFormatTagDetails alias "acmFormatTagDetails" (byval had as HACMDRIVER, byval paftd as LPACMFORMATTAGDETAILS, byval fdwDetails as DWORD) as MMRESULT #define ACM_FORMATTAGDETAILSF_INDEX &h00000000L #define ACM_FORMATTAGDETAILSF_FORMATTAG &h00000001L #define ACM_FORMATTAGDETAILSF_LARGESTSIZE &h00000002L #define ACM_FORMATTAGDETAILSF_QUERYMASK &h0000000FL type LPACMDRIVERDETAILSA as ACMDRIVERDETAILSA ptr type ACMFORMATENUMCBA as function(byval as HACMDRIVERID, byval as LPACMFORMATDETAILSA, byval as DWORD_PTR, byval as DWORD) as BOOL type ACMFORMATTAGENUMCBA as function(byval as HACMDRIVERID, byval as LPACMFORMATTAGDETAILSA, byval as DWORD_PTR, byval as DWORD) as BOOL declare function acmFormatTagEnum alias "acmFormatTagEnum" (byval had as HACMDRIVER, byval paftd as LPACMFORMATTAGDETAILS, byval fnCallback as ACMFORMATTAGENUMCBA, byval dwInstance as DWORD_PTR, byval fdwEnum as DWORD) as MMRESULT #define ACMFORMATDETAILS_FORMAT_CHARS 128 type tACMFORMATDETAILS cbStruct as DWORD dwFormatIndex as DWORD dwFormatTag as DWORD fdwSupport as DWORD pwfx as LPWAVEFORMATEX cbwfx as DWORD szFormat as zstring * 128 end type type ACMFORMATDETAILS as tACMFORMATDETAILS type PACMFORMATDETAILS as tACMFORMATDETAILS ptr type LPACMFORMATDETAILS as tACMFORMATDETAILS ptr declare function acmFormatDetails alias "acmFormatDetails" (byval had as HACMDRIVER, byval pafd as LPACMFORMATDETAILS, byval fdwDetails as DWORD) as MMRESULT #define ACM_FORMATDETAILSF_INDEX &h00000000L #define ACM_FORMATDETAILSF_FORMAT &h00000001L #define ACM_FORMATDETAILSF_QUERYMASK &h0000000FL declare function acmFormatEnum alias "acmFormatEnum" (byval had as HACMDRIVER, byval pafd as LPACMFORMATDETAILS, byval fnCallback as ACMFORMATENUMCBA, byval dwInstance as DWORD_PTR, byval fdwEnum as DWORD) as MMRESULT #define ACM_FORMATENUMF_WFORMATTAG &h00010000L #define ACM_FORMATENUMF_NCHANNELS &h00020000L #define ACM_FORMATENUMF_NSAMPLESPERSEC &h00040000L #define ACM_FORMATENUMF_WBITSPERSAMPLE &h00080000L #define ACM_FORMATENUMF_CONVERT &h00100000L #define ACM_FORMATENUMF_SUGGEST &h00200000L #define ACM_FORMATENUMF_HARDWARE &h00400000L #define ACM_FORMATENUMF_INPUT &h00800000L #define ACM_FORMATENUMF_OUTPUT &h01000000L declare function acmFormatSuggest alias "acmFormatSuggest" (byval had as HACMDRIVER, byval pwfxSrc as LPWAVEFORMATEX, byval pwfxDst as LPWAVEFORMATEX, byval cbwfxDst as DWORD, byval fdwSuggest as DWORD) as MMRESULT #define ACM_FORMATSUGGESTF_WFORMATTAG &h00010000L #define ACM_FORMATSUGGESTF_NCHANNELS &h00020000L #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC &h00040000L #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE &h00080000L #define ACM_FORMATSUGGESTF_TYPEMASK &h00FF0000L #define ACMHELPMSGSTRING "acmchoose_help" #define ACMHELPMSGCONTEXTMENU "acmchoose_contextmenu" #define ACMHELPMSGCONTEXTHELP "acmchoose_contexthelp" #define MM_ACM_FORMATCHOOSE (&h8000) #define FORMATCHOOSE_MESSAGE 0 #define FORMATCHOOSE_FORMATTAG_VERIFY (0+0) #define FORMATCHOOSE_FORMAT_VERIFY (0+1) #define FORMATCHOOSE_CUSTOM_VERIFY (0+2) type ACMFORMATCHOOSEHOOKPROC as function(byval as hwnd, byval as uinteger, byval as wparam,byval as lparam) as uinteger type tACMFORMATCHOOSE cbStruct as DWORD fdwStyle as DWORD hwndOwner as HWND pwfx as LPWAVEFORMATEX cbwfx as DWORD pszTitle as LPCSTR szFormatTag as zstring * 48 szFormat as zstring * 128 pszName as LPSTR cchName as DWORD fdwEnum as DWORD pwfxEnum as LPWAVEFORMATEX hInstance as HINSTANCE pszTemplateName as LPCSTR lCustData as LPARAM pfnHook as ACMFORMATCHOOSEHOOKPROC end type type ACMFORMATCHOOSE as tACMFORMATCHOOSE type PACMFORMATCHOOSE as tACMFORMATCHOOSE ptr type LPACMFORMATCHOOSE as tACMFORMATCHOOSE ptr #define ACMFORMATCHOOSE_STYLEF_SHOWHELP &h00000004L #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK &h00000008L #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE &h00000010L #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE &h00000020L #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT &h00000040L #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP &h00000080L declare function acmFormatChoose alias "acmFormatChooseA" (byval pafmtc as LPACMFORMATCHOOSE) as MMRESULT #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48 type tACMFILTERTAGDETAILS cbStruct as DWORD dwFilterTagIndex as DWORD dwFilterTag as DWORD cbFilterSize as DWORD fdwSupport as DWORD cStandardFilters as DWORD szFilterTag as zstring * 48 end type type ACMFILTERTAGDETAILS as tACMFILTERTAGDETAILS type PACMFILTERTAGDETAILS as tACMFILTERTAGDETAILS ptr type LPACMFILTERTAGDETAILS as tACMFILTERTAGDETAILS ptr declare function acmFilterTagDetails alias "acmFilterTagDetails" (byval had as HACMDRIVER, byval paftd as LPACMFILTERTAGDETAILS, byval fdwDetails as DWORD) as MMRESULT #define ACM_FILTERTAGDETAILSF_INDEX &h00000000L #define ACM_FILTERTAGDETAILSF_FILTERTAG &h00000001L #define ACM_FILTERTAGDETAILSF_LARGESTSIZE &h00000002L #define ACM_FILTERTAGDETAILSF_QUERYMASK &h0000000FL type ACMFILTERTAGENUMCB as function(as HACMDRIVERID,as LPACMFILTERTAGDETAILS,as DWORD_PTR, as DWORD) as bool declare function acmFilterTagEnum alias "acmFilterTagEnum" (byval had as HACMDRIVER, byval paftd as LPACMFILTERTAGDETAILS, byval fnCallback as ACMFILTERTAGENUMCB, byval dwInstance as DWORD_PTR, byval fdwEnum as DWORD) as MMRESULT #define ACMFILTERDETAILS_FILTER_CHARS 128 type tACMFILTERDETAILS cbStruct as DWORD dwFilterIndex as DWORD dwFilterTag as DWORD fdwSupport as DWORD pwfltr as LPWAVEFILTER cbwfltr as DWORD szFilter as zstring * 128 end type type ACMFILTERDETAILS as tACMFILTERDETAILS type PACMFILTERDETAILS as tACMFILTERDETAILS ptr type LPACMFILTERDETAILS as tACMFILTERDETAILS ptr declare function acmFilterDetails alias "acmFilterDetails" (byval had as HACMDRIVER, byval pafd as LPACMFILTERDETAILS, byval fdwDetails as DWORD) as MMRESULT #define ACM_FILTERDETAILSF_INDEX &h00000000L #define ACM_FILTERDETAILSF_FILTER &h00000001L #define ACM_FILTERDETAILSF_QUERYMASK &h0000000FL type tACMFILTERDETAILSA as DWORD cbStruct as DWORD dwFilterIndex as DWORD dwFilterTag as DWORD fdwSupport as LPWAVEFILTER pwfltr as DWORD cbwfltr as zstring*128 szFilter end type type ACMFILTERDETAILSA as tACMFILTERDETAILSA type PACMFILTERDETAILSA as tACMFILTERDETAILSA ptr type LPACMFILTERDETAILSA as tACMFILTERDETAILSA ptr type ACMFILTERENUMCBA as function ( as HACMDRIVERID , as LPACMFILTERDETAILSA, as DWORD_PTR, as dword) as bool declare function acmFilterEnum alias "acmFilterEnum" (byval had as HACMDRIVER, byval pafd as LPACMFILTERDETAILS, byval fnCallback as ACMFILTERENUMCBA, byval dwInstance as DWORD_PTR, byval fdwEnum as DWORD) as MMRESULT #define ACM_FILTERENUMF_DWFILTERTAG &h00010000L #define MM_ACM_FILTERCHOOSE (&h8000) #define FILTERCHOOSE_MESSAGE 0 #define FILTERCHOOSE_FILTERTAG_VERIFY (0+0) #define FILTERCHOOSE_FILTER_VERIFY (0+1) #define FILTERCHOOSE_CUSTOM_VERIFY (0+2) type ACMFILTERCHOOSEHOOKPROC as function(byval as hwnd, byval as uinteger, byval as wparam,byval as lparam) as uinteger type tACMFILTERCHOOSE cbStruct as DWORD fdwStyle as DWORD hwndOwner as HWND pwfltr as LPWAVEFILTER cbwfltr as DWORD pszTitle as LPCSTR szFilterTag as zstring * 48 szFilter as zstring * 128 pszName as LPSTR cchName as DWORD fdwEnum as DWORD pwfltrEnum as LPWAVEFILTER hInstance as HINSTANCE pszTemplateName as LPCSTR lCustData as LPARAM pfnHook as ACMFILTERCHOOSEHOOKPROC end type type ACMFILTERCHOOSE as tACMFILTERCHOOSE type PACMFILTERCHOOSE as tACMFILTERCHOOSE ptr type LPACMFILTERCHOOSE as tACMFILTERCHOOSE ptr #define ACMFILTERCHOOSE_STYLEF_SHOWHELP &h00000004L #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK &h00000008L #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE &h00000010L #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE &h00000020L #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT &h00000040L #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP &h00000080L declare function acmFilterChoose alias "acmFilterChoose" (byval pafltrc as LPACMFILTERCHOOSE) as MMRESULT #define _DRVRESERVED 10 type tACMSTREAMHEADER cbStruct as DWORD fdwStatus as DWORD dwUser as DWORD_PTR pbSrc as LPBYTE cbSrcLength as DWORD cbSrcLengthUsed as DWORD dwSrcUser as DWORD_PTR pbDst as LPBYTE cbDstLength as DWORD cbDstLengthUsed as DWORD dwDstUser as DWORD_PTR dwReservedDriver(0 to 10-1) as DWORD end type type ACMSTREAMHEADER as tACMSTREAMHEADER type PACMSTREAMHEADER as tACMSTREAMHEADER ptr type LPACMSTREAMHEADER as tACMSTREAMHEADER ptr #define ACMSTREAMHEADER_STATUSF_DONE &h00010000L #define ACMSTREAMHEADER_STATUSF_PREPARED &h00020000L #define ACMSTREAMHEADER_STATUSF_INQUEUE &h00100000L declare function acmStreamOpen alias "acmStreamOpen" (byval phas as LPHACMSTREAM, byval had as HACMDRIVER, byval pwfxSrc as LPWAVEFORMATEX, byval pwfxDst as LPWAVEFORMATEX, byval pwfltr as LPWAVEFILTER, byval dwCallback as DWORD_PTR, byval dwInstance as DWORD_PTR, byval fdwOpen as DWORD) as MMRESULT #define ACM_STREAMOPENF_QUERY &h00000001 #define ACM_STREAMOPENF_ASYNC &h00000002 #define ACM_STREAMOPENF_NONREALTIME &h00000004 declare function acmStreamClose alias "acmStreamClose" (byval has as HACMSTREAM, byval fdwClose as DWORD) as MMRESULT declare function acmStreamSize alias "acmStreamSize" (byval has as HACMSTREAM, byval cbInput as DWORD, byval pdwOutputBytes as LPDWORD, byval fdwSize as DWORD) as MMRESULT #define ACM_STREAMSIZEF_SOURCE &h00000000L #define ACM_STREAMSIZEF_DESTINATION &h00000001L #define ACM_STREAMSIZEF_QUERYMASK &h0000000FL declare function acmStreamReset alias "acmStreamReset" (byval has as HACMSTREAM, byval fdwReset as DWORD) as MMRESULT declare function acmStreamMessage alias "acmStreamMessage" (byval has as HACMSTREAM, byval uMsg as UINT, byval lParam1 as LPARAM, byval lParam2 as LPARAM) as MMRESULT declare function acmStreamConvert alias "acmStreamConvert" (byval has as HACMSTREAM, byval pash as LPACMSTREAMHEADER, byval fdwConvert as DWORD) as MMRESULT #define ACM_STREAMCONVERTF_BLOCKALIGN &h00000004 #define ACM_STREAMCONVERTF_START &h00000010 #define ACM_STREAMCONVERTF_END &h00000020 declare function acmStreamPrepareHeader alias "acmStreamPrepareHeader" (byval has as HACMSTREAM, byval pash as LPACMSTREAMHEADER, byval fdwPrepare as DWORD) as MMRESULT declare function acmStreamUnprepareHeader alias "acmStreamUnprepareHeader" (byval has as HACMSTREAM, byval pash as LPACMSTREAMHEADER, byval fdwUnprepare as DWORD) as MMRESULT #endif end extern