factor/basis/windows/directx/xact3/xact3.factor

475 lines
21 KiB
Factor

USING: alien.c-types alien.syntax classes.struct windows.com
windows.com.syntax windows.directx windows.directx.xaudio2
windows.kernel32 windows.types ;
IN: windows.directx.xact3
LIBRARY: xactengine
C-TYPE: IXACT3SoundBank
C-TYPE: IXACT3WaveBank
C-TYPE: IXACT3Cue
C-TYPE: IXACT3Wave
C-TYPE: IXACT3Engine
C-TYPE: XACT_NOTIFICATION
TYPEDEF: WORD XACTINDEX
TYPEDEF: BYTE XACTNOTIFICATIONTYPE
TYPEDEF: FLOAT XACTVARIABLEVALUE
TYPEDEF: WORD XACTVARIABLEINDEX
TYPEDEF: WORD XACTCATEGORY
TYPEDEF: BYTE XACTCHANNEL
TYPEDEF: FLOAT XACTVOLUME
TYPEDEF: LONG XACTTIME
TYPEDEF: SHORT XACTPITCH
TYPEDEF: BYTE XACTLOOPCOUNT
TYPEDEF: BYTE XACTVARIATIONWEIGHT
TYPEDEF: BYTE XACTPRIORITY
TYPEDEF: BYTE XACTINSTANCELIMIT
CONSTANT: WAVE_FORMAT_IEEE_FLOAT 0x0003
CONSTANT: WAVE_FORMAT_EXTENSIBLE 0xFFFE
STRUCT: WAVEFORMATEX
{ wFormatTag WORD }
{ nChannels WORD }
{ nSamplesPerSec DWORD }
{ nAvgBytesPerSec DWORD }
{ nBlockAlign WORD }
{ wBitsPerSample WORD }
{ cbSize WORD } ;
TYPEDEF: WAVEFORMATEX* PWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* NPWAVEFORMATEX
TYPEDEF: WAVEFORMATEX* LPWAVEFORMATEX
UNION-STRUCT: WAVEFORMATEXTENSIBLE_UNION
{ wValidBitsPerSample WORD }
{ wSamplesPerBlock WORD }
{ wReserved WORD } ;
STRUCT: WAVEFORMATEXTENSIBLE
{ Format WAVEFORMATEX }
{ Union WAVEFORMATEXTENSIBLE_UNION }
{ dwChannelMask DWORD }
{ SubFormat GUID } ;
TYPEDEF: WAVEFORMATEXTENSIBLE* PWAVEFORMATEXTENSIBLE
CONSTANT: XACTTIME_MIN 0x80000001
CONSTANT: XACTTIME_MAX 0x7fffffff
CONSTANT: XACTTIME_INFINITE 0x7fffffff
CONSTANT: XACTINSTANCELIMIT_INFINITE 0xff
CONSTANT: XACTINSTANCELIMIT_MIN 0x00
CONSTANT: XACTINSTANCELIMIT_MAX 0xfe
CONSTANT: XACTINDEX_MIN 0x0
CONSTANT: XACTINDEX_MAX 0xfffe
CONSTANT: XACTINDEX_INVALID 0xffff
CONSTANT: XACTNOTIFICATIONTYPE_MIN 0x00
CONSTANT: XACTNOTIFICATIONTYPE_MAX 0xff
CONSTANT: XACTVARIABLEINDEX_MIN 0x0000
CONSTANT: XACTVARIABLEINDEX_MAX 0xfffe
CONSTANT: XACTVARIABLEINDEX_INVALID 0xffff
CONSTANT: XACTCATEGORY_MIN 0x0
CONSTANT: XACTCATEGORY_MAX 0xfffe
CONSTANT: XACTCATEGORY_INVALID 0xffff
CONSTANT: XACTCHANNEL_MIN 0
CONSTANT: XACTCHANNEL_MAX 0xFF
CONSTANT: XACTPITCH_MIN -1200
CONSTANT: XACTPITCH_MAX 1200
CONSTANT: XACTPITCH_MIN_TOTAL -2400
CONSTANT: XACTPITCH_MAX_TOTAL 2400
CONSTANT: XACTVOLUME_MIN 0.0
CONSTANT: XACTVOLUME_MAX 16777216.0
CONSTANT: XACTLOOPCOUNT_MIN 0x0
CONSTANT: XACTLOOPCOUNT_MAX 0xfe
CONSTANT: XACTLOOPCOUNT_INFINITE 0xff
CONSTANT: XACTWAVEALIGNMENT_MIN 2048
CONSTANT: XACT_CUE_NAME_LENGTH 0xFF
CONSTANT: XACT_CONTENT_VERSION 46
CONSTANT: XACT_FLAG_STOP_RELEASE 0x00000000
CONSTANT: XACT_FLAG_STOP_IMMEDIATE 0x00000001
CONSTANT: XACT_FLAG_MANAGEDATA 0x00000001
CONSTANT: XACT_FLAG_BACKGROUND_MUSIC 0x00000002
CONSTANT: XACT_FLAG_UNITS_MS 0x00000004
CONSTANT: XACT_FLAG_UNITS_SAMPLES 0x00000008
CONSTANT: XACT_STATE_CREATED 0x00000001
CONSTANT: XACT_STATE_PREPARING 0x00000002
CONSTANT: XACT_STATE_PREPARED 0x00000004
CONSTANT: XACT_STATE_PLAYING 0x00000008
CONSTANT: XACT_STATE_STOPPING 0x00000010
CONSTANT: XACT_STATE_STOPPED 0x00000020
CONSTANT: XACT_STATE_PAUSED 0x00000040
CONSTANT: XACT_STATE_INUSE 0x00000080
CONSTANT: XACT_STATE_PREPAREFAILED 0x80000000
C-TYPE: XACT_READFILE_CB
C-TYPE: XACT_GETOVERLAPPEDRESULT_CB
: XACT_FLAG_GLOBAL_SETTINGS_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline
STRUCT: XACT_FILEIO_CALLBACKS
{ readFileCallback XACT_READFILE_CB* }
{ getOverlappedResultCallback XACT_GETOVERLAPPEDRESULT_CB* } ;
TYPEDEF: XACT_FILEIO_CALLBACKS* PXACT_FILEIO_CALLBACKS
C-TYPE: XACT_NOTIFICATION_CALLBACK
CONSTANT: XACT_RENDERER_ID_LENGTH 0xff
CONSTANT: XACT_RENDERER_NAME_LENGTH 0xff
STRUCT: XACT_RENDERER_DETAILS
{ rendererID WCHAR[255] }
{ displayName WCHAR[255] }
{ defaultDevice BOOL } ;
TYPEDEF: XACT_RENDERER_DETAILS* LPXACT_RENDERER_DETAILS
CONSTANT: XACT_ENGINE_LOOKAHEAD_DEFAULT 250
STRUCT: XACT_RUNTIME_PARAMETERS
{ lookAheadTime DWORD }
{ pGlobalSettingsBuffer void* }
{ globalSettingsBufferSize DWORD }
{ globalSettingsFlags DWORD }
{ globalSettingsAllocAttributes DWORD }
{ fileIOCallbacks XACT_FILEIO_CALLBACKS }
{ fnNotificationCallback XACT_NOTIFICATION_CALLBACK* }
{ pRendererID PWSTR }
{ pXAudio2 IXAudio2* }
{ pMasteringVoice IXAudio2MasteringVoice* } ;
TYPEDEF: XACT_RUNTIME_PARAMETERS* LPXACT_RUNTIME_PARAMETERS
STRUCT: XACT_STREAMING_PARAMETERS
{ file HANDLE }
{ offset DWORD }
{ flags DWORD }
{ packetSize WORD } ;
TYPEDEF: XACT_STREAMING_PARAMETERS XACT_WAVEBANK_STREAMING_PARAMETERS
TYPEDEF: XACT_WAVEBANK_STREAMING_PARAMETERS* LPXACT_WAVEBANK_STREAMING_PARAMETERS
TYPEDEF: XACT_STREAMING_PARAMETERS* LPXACT_STREAMING_PARAMETERS
STRUCT: XACT_CUE_PROPERTIES
{ friendlyName CHAR[255] }
{ interactive BOOL }
{ iaVariableIndex XACTINDEX }
{ numVariations XACTINDEX }
{ maxInstances XACTINSTANCELIMIT }
{ currentInstances XACTINSTANCELIMIT } ;
TYPEDEF: XACT_CUE_PROPERTIES* LPXACT_CUE_PROPERTIES
STRUCT: XACT_TRACK_PROPERTIES
{ duration XACTTIME }
{ numVariations XACTINDEX }
{ numChannels XACTCHANNEL }
{ waveVariation XACTINDEX }
{ loopCount XACTLOOPCOUNT } ;
TYPEDEF: XACT_TRACK_PROPERTIES* LPXACT_TRACK_PROPERTIES
STRUCT: XACT_VARIATION_PROPERTIES
{ index XACTINDEX }
{ weight XACTVARIATIONWEIGHT }
{ iaVariableMin XACTVARIABLEVALUE }
{ iaVariableMax XACTVARIABLEVALUE }
{ linger BOOL } ;
TYPEDEF: XACT_VARIATION_PROPERTIES* LPXACT_VARIATION_PROPERTIES
STRUCT: XACT_SOUND_PROPERTIES
{ category XACTCATEGORY }
{ priority BYTE }
{ pitch XACTPITCH }
{ volume XACTVOLUME }
{ numTracks XACTINDEX }
{ arrTrackProperties XACT_TRACK_PROPERTIES } ;
TYPEDEF: XACT_SOUND_PROPERTIES* LPXACT_SOUND_PROPERTIES
STRUCT: XACT_SOUND_VARIATION_PROPERTIES
{ variationProperties XACT_VARIATION_PROPERTIES }
{ soundProperties XACT_SOUND_PROPERTIES } ;
TYPEDEF: XACT_SOUND_VARIATION_PROPERTIES* LPXACT_SOUND_VARIATION_PROPERTIES
STRUCT: XACT_CUE_INSTANCE_PROPERTIES
{ allocAttributes DWORD }
{ cueProperties XACT_CUE_PROPERTIES }
{ activeVariationProperties XACT_SOUND_VARIATION_PROPERTIES } ;
TYPEDEF: XACT_CUE_INSTANCE_PROPERTIES* LPXACT_CUE_INSTANCE_PROPERTIES
STRUCT: WAVEBANKMINIWAVEFORMAT
{ dwValue DWORD } ;
STRUCT: WAVEBANKSAMPLEREGION
{ dwStartSample DWORD }
{ dwTotalSamples DWORD } ;
STRUCT: XACT_WAVE_PROPERTIES
{ friendlyName char[64] }
{ format WAVEBANKMINIWAVEFORMAT }
{ durationInSamples DWORD }
{ loopRegion WAVEBANKSAMPLEREGION }
{ streaming BOOL } ;
TYPEDEF: XACT_WAVE_PROPERTIES* LPXACT_WAVE_PROPERTIES
STRUCT: XACT_WAVE_INSTANCE_PROPERTIES
{ properties XACT_WAVE_PROPERTIES }
{ backgroundMusic BOOL } ;
TYPEDEF: XACT_WAVE_INSTANCE_PROPERTIES* LPXACT_WAVE_INSTANCE_PROPERTIES
STRUCT: XACTCHANNELMAPENTRY
{ InputChannel XACTCHANNEL }
{ OutputChannel XACTCHANNEL }
{ Volume XACTVOLUME } ;
TYPEDEF: XACTCHANNELMAPENTRY* LPXACTCHANNELMAPENTRY
STRUCT: XACTCHANNELMAP
{ EntryCount XACTCHANNEL }
{ paEntries XACTCHANNELMAPENTRY* } ;
TYPEDEF: XACTCHANNELMAP* LPXACTCHANNELMAP
STRUCT: XACTCHANNELVOLUMEENTRY
{ EntryIndex XACTCHANNEL }
{ Volume XACTVOLUME } ;
TYPEDEF: XACTCHANNELVOLUMEENTRY* LPXACTCHANNELVOLUMEENTRY
STRUCT: XACTCHANNELVOLUME
{ EntryCount XACTCHANNEL }
{ paEntries XACTCHANNELVOLUMEENTRY* } ;
TYPEDEF: XACTCHANNELVOLUME* LPXACTCHANNELVOLUME
CONSTANT: XACTNOTIFICATIONTYPE_CUEPREPARED 1
CONSTANT: XACTNOTIFICATIONTYPE_CUEPLAY 2
CONSTANT: XACTNOTIFICATIONTYPE_CUESTOP 3
CONSTANT: XACTNOTIFICATIONTYPE_CUEDESTROYED 4
CONSTANT: XACTNOTIFICATIONTYPE_MARKER 5
CONSTANT: XACTNOTIFICATIONTYPE_SOUNDBANKDESTROYED 6
CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKDESTROYED 7
CONSTANT: XACTNOTIFICATIONTYPE_LOCALVARIABLECHANGED 8
CONSTANT: XACTNOTIFICATIONTYPE_GLOBALVARIABLECHANGED 9
CONSTANT: XACTNOTIFICATIONTYPE_GUICONNECTED 10
CONSTANT: XACTNOTIFICATIONTYPE_GUIDISCONNECTED 11
CONSTANT: XACTNOTIFICATIONTYPE_WAVEPREPARED 12
CONSTANT: XACTNOTIFICATIONTYPE_WAVEPLAY 13
CONSTANT: XACTNOTIFICATIONTYPE_WAVESTOP 14
CONSTANT: XACTNOTIFICATIONTYPE_WAVELOOPED 15
CONSTANT: XACTNOTIFICATIONTYPE_WAVEDESTROYED 16
CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKPREPARED 17
CONSTANT: XACTNOTIFICATIONTYPE_WAVEBANKSTREAMING_INVALIDCONTENT 18
CONSTANT: XACT_FLAG_NOTIFICATION_PERSIST 0x01
STRUCT: XACT_NOTIFICATION_DESCRIPTION
{ type XACTNOTIFICATIONTYPE }
{ flags BYTE }
{ pSoundBank IXACT3SoundBank* }
{ pWaveBank IXACT3WaveBank* }
{ pCue IXACT3Cue* }
{ pWave IXACT3Wave* }
{ cueIndex XACTINDEX }
{ waveIndex XACTINDEX }
{ pvContext PVOID } ;
TYPEDEF: XACT_NOTIFICATION_DESCRIPTION* LPXACT_NOTIFICATION_DESCRIPTION
STRUCT: XACT_NOTIFICATION_CUE
{ cueIndex XACTINDEX }
{ pSoundBank IXACT3SoundBank* }
{ pCue IXACT3Cue* } ;
TYPEDEF: XACT_NOTIFICATION_CUE* LPXACT_NOTIFICATION_CUE
STRUCT: XACT_NOTIFICATION_MARKER
{ cueIndex XACTINDEX }
{ pSoundBank IXACT3SoundBank* }
{ pCue IXACT3Cue* }
{ marker DWORD } ;
TYPEDEF: XACT_NOTIFICATION_MARKER* LPXACT_NOTIFICATION_MARKER
STRUCT: XACT_NOTIFICATION_SOUNDBANK
{ pSoundBank IXACT3SoundBank* } ;
TYPEDEF: XACT_NOTIFICATION_SOUNDBANK* LPXACT_NOTIFICATION_SOUNDBANK
STRUCT: XACT_NOTIFICATION_WAVEBANK
{ pWaveBank IXACT3WaveBank* } ;
TYPEDEF: XACT_NOTIFICATION_WAVEBANK* LPXACT_NOTIFICATION_WAVEBANK
STRUCT: XACT_NOTIFICATION_VARIABLE
{ cueIndex XACTINDEX }
{ pSoundBank IXACT3SoundBank* }
{ pCue IXACT3Cue* }
{ variableIndex XACTVARIABLEINDEX }
{ variableValue XACTVARIABLEVALUE }
{ local BOOL } ;
TYPEDEF: XACT_NOTIFICATION_VARIABLE* LPXACT_NOTIFICATION_VARIABLE
STRUCT: XACT_NOTIFICATION_GUI
{ reserved DWORD } ;
TYPEDEF: XACT_NOTIFICATION_GUI* LPXACT_NOTIFICATION_GUI
STRUCT: XACT_NOTIFICATION_WAVE
{ pWaveBank IXACT3WaveBank* }
{ waveIndex XACTINDEX }
{ cueIndex XACTINDEX }
{ pSoundBank IXACT3SoundBank* }
{ pCue IXACT3Cue* }
{ pWave IXACT3Wave* } ;
TYPEDEF: XACT_NOTIFICATION_WAVE* LPXACT_NOTIFICATION_WAVE
UNION-STRUCT: XACT_NOTIFICATION_UNION
{ cue XACT_NOTIFICATION_CUE }
{ marker XACT_NOTIFICATION_MARKER }
{ soundBank XACT_NOTIFICATION_SOUNDBANK }
{ waveBank XACT_NOTIFICATION_WAVEBANK }
{ variable XACT_NOTIFICATION_VARIABLE }
{ gui XACT_NOTIFICATION_GUI }
{ wave XACT_NOTIFICATION_WAVE } ;
STRUCT: XACT_NOTIFICATION
{ type XACTNOTIFICATIONTYPE }
{ timeStamp LONG }
{ pvContext PVOID }
{ union XACT_NOTIFICATION_UNION } ;
TYPEDEF: XACT_NOTIFICATION* LPXACT_NOTIFICATION
CONSTANT: XACT_FLAG_SOUNDBANK_STOP_IMMEDIATE 0x00000001
CONSTANT: XACT_SOUNDBANKSTATE_INUSE 0x00000080
COM-INTERFACE: IXACT3SoundBank f {00000000-0000-0000-0000-000000000000}
XACTINDEX GetCueIndex ( PCSTR szFriendlyName )
HRESULT GetNumCues ( XACTINDEX* pnNumCues )
HRESULT GetCueProperties ( XACTINDEX nCueIndex, LPXACT_CUE_PROPERTIES pProperties )
HRESULT Prepare ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue )
HRESULT Play ( XACTINDEX nCueIndex, DWORD dwFlags, XACTTIME timeOffset, IXACT3Cue** ppCue )
HRESULT Stop ( XACTINDEX nCueIndex, DWORD dwFlags )
HRESULT Destroy ( )
HRESULT GetState ( DWORD* pdwState ) ;
CONSTANT: XACT_WAVEBANKSTATE_INUSE 0x00000080
CONSTANT: XACT_WAVEBANKSTATE_PREPARED 0x00000004
CONSTANT: XACT_WAVEBANKSTATE_PREPAREFAILED 0x80000000
COM-INTERFACE: IXACT3WaveBank f {00000000-0000-0000-0000-000000000000}
HRESULT Destroy ( )
HRESULT GetNumWaves ( XACTINDEX* pnNumWaves )
XACTINDEX GetWaveIndex ( PCSTR szFriendlyName )
HRESULT GetWaveProperties ( XACTINDEX nWaveIndex, LPXACT_WAVE_PROPERTIES pWaveProperties )
HRESULT Prepare ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
HRESULT Play ( XACTINDEX nWaveIndex, DWORD dwFlags, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
HRESULT Stop ( XACTINDEX nWaveIndex, DWORD dwFlags )
HRESULT GetState ( DWORD* pdwState ) ;
COM-INTERFACE: IXACT3Wave f {00000000-0000-0000-0000-000000000000}
HRESULT Destroy ( )
HRESULT Play ( )
HRESULT Stop ( DWORD dwFlags )
HRESULT Pause ( BOOL fPause )
HRESULT GetState ( DWORD* pdwState )
HRESULT SetPitch ( XACTPITCH pitch )
HRESULT SetVolume ( XACTVOLUME volume )
HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients )
HRESULT GetProperties ( LPXACT_WAVE_INSTANCE_PROPERTIES pProperties ) ;
: XACT_FLAG_CUE_STOP_RELEASE ( -- z ) XACT_FLAG_STOP_RELEASE ; inline
: XACT_FLAG_CUE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline
: XACT_CUESTATE_CREATED ( -- z ) XACT_STATE_CREATED ; inline
: XACT_CUESTATE_PREPARING ( -- z ) XACT_STATE_PREPARING ; inline
: XACT_CUESTATE_PREPARED ( -- z ) XACT_STATE_PREPARED ; inline
: XACT_CUESTATE_PLAYING ( -- z ) XACT_STATE_PLAYING ; inline
: XACT_CUESTATE_STOPPING ( -- z ) XACT_STATE_STOPPING ; inline
: XACT_CUESTATE_STOPPED ( -- z ) XACT_STATE_STOPPED ; inline
: XACT_CUESTATE_PAUSED ( -- z ) XACT_STATE_PAUSED ; inline
COM-INTERFACE: IXACT3Cue f {00000000-0000-0000-0000-000000000000}
HRESULT Play ( )
HRESULT Stop ( DWORD dwFlags )
HRESULT GetState ( DWORD* pdwState )
HRESULT Destroy ( )
HRESULT SetMatrixCoefficients ( UINT32 uSrcChannelCount, UINT32 uDstChannelCount, float* pMatrixCoefficients )
XACTVARIABLEINDEX GetVariableIndex ( PCSTR szFriendlyName )
HRESULT SetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue )
HRESULT GetVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue )
HRESULT Pause ( BOOL fPause )
HRESULT GetProperties ( LPXACT_CUE_INSTANCE_PROPERTIES* ppProperties )
HRESULT SetOutputVoices ( XAUDIO2_VOICE_SENDS* pSendList )
HRESULT SetOutputVoiceMatrix ( IXAudio2Voice* pDestinationVoice, UINT32 SourceChannels, UINT32 DestinationChannels, float* pLevelMatrix ) ;
: XACT_FLAG_ENGINE_CREATE_MANAGEDATA ( -- z ) XACT_FLAG_MANAGEDATA ; inline
: XACT_FLAG_ENGINE_STOP_IMMEDIATE ( -- z ) XACT_FLAG_STOP_IMMEDIATE ; inline
STRUCT: WAVEBANKREGION
{ dwOffset DWORD }
{ dwLength DWORD } ;
STRUCT: WAVEBANKENTRY
{ dwFlagsAndDuration DWORD }
{ Format WAVEBANKMINIWAVEFORMAT }
{ PlayRegion WAVEBANKREGION }
{ LoopRegion WAVEBANKSAMPLEREGION } ;
COM-INTERFACE: IXACT3Engine IUnknown {b1ee676a-d9cd-4d2a-89a8-fa53eb9e480b}
HRESULT GetRendererCount ( XACTINDEX* pnRendererCount )
HRESULT GetRendererDetails ( XACTINDEX nRendererIndex, LPXACT_RENDERER_DETAILS pRendererDetails )
HRESULT GetFinalMixFormat ( WAVEFORMATEXTENSIBLE* pFinalMixFormat )
HRESULT Initialize ( XACT_RUNTIME_PARAMETERS* pParams )
HRESULT ShutDown ( )
HRESULT DoWork ( )
HRESULT CreateSoundBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3SoundBank** ppSoundBank )
HRESULT CreateInMemoryWaveBank ( void* pvBuffer, DWORD dwSize, DWORD dwFlags, DWORD dwAllocAttributes, IXACT3WaveBank** ppWaveBank )
HRESULT CreateStreamingWaveBank ( XACT_WAVEBANK_STREAMING_PARAMETERS* pParms, IXACT3WaveBank** ppWaveBank )
HRESULT PrepareWave ( DWORD dwFlags, PCSTR szWavePath, WORD wStreamingPacketSize, DWORD dwAlignment, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
HRESULT PrepareInMemoryWave ( DWORD dwFlags, WAVEBANKENTRY entry, DWORD* pdwSeekTable, BYTE* pbWaveData, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
HRESULT PrepareStreamingWave ( DWORD dwFlags, WAVEBANKENTRY entry, XACT_STREAMING_PARAMETERS streamingParams, DWORD dwAlignment, DWORD* pdwSeekTable, DWORD dwPlayOffset, XACTLOOPCOUNT nLoopCount, IXACT3Wave** ppWave )
HRESULT RegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc )
HRESULT UnRegisterNotification ( XACT_NOTIFICATION_DESCRIPTION* pNotificationDesc )
XACTCATEGORY GetCategory ( PCSTR szFriendlyName )
HRESULT Stop ( XACTCATEGORY nCategory, DWORD dwFlags )
HRESULT SetVolume ( XACTCATEGORY nCategory, XACTVOLUME nVolume )
HRESULT Pause ( XACTCATEGORY nCategory, BOOL fPause )
XACTVARIABLEINDEX GetGlobalVariableIndex ( PCSTR szFriendlyName )
HRESULT SetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE nValue )
HRESULT GetGlobalVariable ( XACTVARIABLEINDEX nIndex, XACTVARIABLEVALUE* nValue ) ;
CONSTANT: XACT_FLAG_API_AUDITION_MODE 1
CONSTANT: XACT_FLAG_API_DEBUG_MODE 2
CONSTANT: XACTENGINE_E_OUTOFMEMORY 0x80070000
CONSTANT: XACTENGINE_E_INVALIDARG 0x80070057
CONSTANT: XACTENGINE_E_NOTIMPL 0x80004001
CONSTANT: XACTENGINE_E_FAIL 0x80004005
CONSTANT: XACTENGINE_E_ALREADYINITIALIZED 0x8AC70001
CONSTANT: XACTENGINE_E_NOTINITIALIZED 0x8AC70002
CONSTANT: XACTENGINE_E_EXPIRED 0x8AC70003
CONSTANT: XACTENGINE_E_NONOTIFICATIONCALLBACK 0x8AC70004
CONSTANT: XACTENGINE_E_NOTIFICATIONREGISTERED 0x8AC70005
CONSTANT: XACTENGINE_E_INVALIDUSAGE 0x8AC70006
CONSTANT: XACTENGINE_E_INVALIDDATA 0x8AC70007
CONSTANT: XACTENGINE_E_INSTANCELIMITFAILTOPLAY 0x8AC70008
CONSTANT: XACTENGINE_E_NOGLOBALSETTINGS 0x8AC70009
CONSTANT: XACTENGINE_E_INVALIDVARIABLEINDEX 0x8AC7000a
CONSTANT: XACTENGINE_E_INVALIDCATEGORY 0x8AC7000b
CONSTANT: XACTENGINE_E_INVALIDCUEINDEX 0x8AC7000c
CONSTANT: XACTENGINE_E_INVALIDWAVEINDEX 0x8AC7000d
CONSTANT: XACTENGINE_E_INVALIDTRACKINDEX 0x8AC7000e
CONSTANT: XACTENGINE_E_INVALIDSOUNDOFFSETORINDEX 0x8AC7000f
CONSTANT: XACTENGINE_E_READFILE 0x8AC70010
CONSTANT: XACTENGINE_E_UNKNOWNEVENT 0x8AC70011
CONSTANT: XACTENGINE_E_INCALLBACK 0x8AC70012
CONSTANT: XACTENGINE_E_NOWAVEBANK 0x8AC70013
CONSTANT: XACTENGINE_E_SELECTVARIATION 0x8AC70014
CONSTANT: XACTENGINE_E_MULTIPLEAUDITIONENGINES 0x8AC70015
CONSTANT: XACTENGINE_E_WAVEBANKNOTPREPARED 0x8AC70016
CONSTANT: XACTENGINE_E_NORENDERER 0x8AC70017
CONSTANT: XACTENGINE_E_INVALIDENTRYCOUNT 0x8AC70018
CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDCUEEND 0x8AC70019
CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDWAVEEND 0x8AC7001a
CONSTANT: XACTENGINE_E_NOFRIENDLYNAMES 0x8AC7001b
CONSTANT: XACTENGINE_E_AUDITION_WRITEFILE 0x8AC70101
CONSTANT: XACTENGINE_E_AUDITION_NOSOUNDBANK 0x8AC70102
CONSTANT: XACTENGINE_E_AUDITION_INVALIDRPCINDEX 0x8AC70103
CONSTANT: XACTENGINE_E_AUDITION_MISSINGDATA 0x8AC70104
CONSTANT: XACTENGINE_E_AUDITION_UNKNOWNCOMMAND 0x8AC70105
CONSTANT: XACTENGINE_E_AUDITION_INVALIDDSPINDEX 0x8AC70106
CONSTANT: XACTENGINE_E_AUDITION_MISSINGWAVE 0x8AC70107
CONSTANT: XACTENGINE_E_AUDITION_CREATEDIRECTORYFAILED 0x8AC70108
CONSTANT: XACTENGINE_E_AUDITION_INVALIDSESSION 0x8AC70109