USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax 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 HEX: 0003 CONSTANT: WAVE_FORMAT_EXTENSIBLE HEX: FFFE 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 HEX: 80000001 CONSTANT: XACTTIME_MAX HEX: 7fffffff CONSTANT: XACTTIME_INFINITE HEX: 7fffffff CONSTANT: XACTINSTANCELIMIT_INFINITE HEX: ff CONSTANT: XACTINSTANCELIMIT_MIN HEX: 00 CONSTANT: XACTINSTANCELIMIT_MAX HEX: fe CONSTANT: XACTINDEX_MIN HEX: 0 CONSTANT: XACTINDEX_MAX HEX: fffe CONSTANT: XACTINDEX_INVALID HEX: ffff CONSTANT: XACTNOTIFICATIONTYPE_MIN HEX: 00 CONSTANT: XACTNOTIFICATIONTYPE_MAX HEX: ff CONSTANT: XACTVARIABLEINDEX_MIN HEX: 0000 CONSTANT: XACTVARIABLEINDEX_MAX HEX: fffe CONSTANT: XACTVARIABLEINDEX_INVALID HEX: ffff CONSTANT: XACTCATEGORY_MIN HEX: 0 CONSTANT: XACTCATEGORY_MAX HEX: fffe CONSTANT: XACTCATEGORY_INVALID HEX: ffff CONSTANT: XACTCHANNEL_MIN 0 CONSTANT: XACTCHANNEL_MAX HEX: FF 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 HEX: 0 CONSTANT: XACTLOOPCOUNT_MAX HEX: fe CONSTANT: XACTLOOPCOUNT_INFINITE HEX: ff CONSTANT: XACTWAVEALIGNMENT_MIN 2048 CONSTANT: XACT_CUE_NAME_LENGTH HEX: FF CONSTANT: XACT_CONTENT_VERSION 46 CONSTANT: XACT_FLAG_STOP_RELEASE HEX: 00000000 CONSTANT: XACT_FLAG_STOP_IMMEDIATE HEX: 00000001 CONSTANT: XACT_FLAG_MANAGEDATA HEX: 00000001 CONSTANT: XACT_FLAG_BACKGROUND_MUSIC HEX: 00000002 CONSTANT: XACT_FLAG_UNITS_MS HEX: 00000004 CONSTANT: XACT_FLAG_UNITS_SAMPLES HEX: 00000008 CONSTANT: XACT_STATE_CREATED HEX: 00000001 CONSTANT: XACT_STATE_PREPARING HEX: 00000002 CONSTANT: XACT_STATE_PREPARED HEX: 00000004 CONSTANT: XACT_STATE_PLAYING HEX: 00000008 CONSTANT: XACT_STATE_STOPPING HEX: 00000010 CONSTANT: XACT_STATE_STOPPED HEX: 00000020 CONSTANT: XACT_STATE_PAUSED HEX: 00000040 CONSTANT: XACT_STATE_INUSE HEX: 00000080 CONSTANT: XACT_STATE_PREPAREFAILED HEX: 80000000 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 HEX: ff CONSTANT: XACT_RENDERER_NAME_LENGTH HEX: ff 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 HEX: 01 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 HEX: 00000001 CONSTANT: XACT_SOUNDBANKSTATE_INUSE HEX: 00000080 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 HEX: 00000080 CONSTANT: XACT_WAVEBANKSTATE_PREPARED HEX: 00000004 CONSTANT: XACT_WAVEBANKSTATE_PREPAREFAILED HEX: 80000000 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 HEX: 80070000 CONSTANT: XACTENGINE_E_INVALIDARG HEX: 80070057 CONSTANT: XACTENGINE_E_NOTIMPL HEX: 80004001 CONSTANT: XACTENGINE_E_FAIL HEX: 80004005 CONSTANT: XACTENGINE_E_ALREADYINITIALIZED HEX: 8AC70001 CONSTANT: XACTENGINE_E_NOTINITIALIZED HEX: 8AC70002 CONSTANT: XACTENGINE_E_EXPIRED HEX: 8AC70003 CONSTANT: XACTENGINE_E_NONOTIFICATIONCALLBACK HEX: 8AC70004 CONSTANT: XACTENGINE_E_NOTIFICATIONREGISTERED HEX: 8AC70005 CONSTANT: XACTENGINE_E_INVALIDUSAGE HEX: 8AC70006 CONSTANT: XACTENGINE_E_INVALIDDATA HEX: 8AC70007 CONSTANT: XACTENGINE_E_INSTANCELIMITFAILTOPLAY HEX: 8AC70008 CONSTANT: XACTENGINE_E_NOGLOBALSETTINGS HEX: 8AC70009 CONSTANT: XACTENGINE_E_INVALIDVARIABLEINDEX HEX: 8AC7000a CONSTANT: XACTENGINE_E_INVALIDCATEGORY HEX: 8AC7000b CONSTANT: XACTENGINE_E_INVALIDCUEINDEX HEX: 8AC7000c CONSTANT: XACTENGINE_E_INVALIDWAVEINDEX HEX: 8AC7000d CONSTANT: XACTENGINE_E_INVALIDTRACKINDEX HEX: 8AC7000e CONSTANT: XACTENGINE_E_INVALIDSOUNDOFFSETORINDEX HEX: 8AC7000f CONSTANT: XACTENGINE_E_READFILE HEX: 8AC70010 CONSTANT: XACTENGINE_E_UNKNOWNEVENT HEX: 8AC70011 CONSTANT: XACTENGINE_E_INCALLBACK HEX: 8AC70012 CONSTANT: XACTENGINE_E_NOWAVEBANK HEX: 8AC70013 CONSTANT: XACTENGINE_E_SELECTVARIATION HEX: 8AC70014 CONSTANT: XACTENGINE_E_MULTIPLEAUDITIONENGINES HEX: 8AC70015 CONSTANT: XACTENGINE_E_WAVEBANKNOTPREPARED HEX: 8AC70016 CONSTANT: XACTENGINE_E_NORENDERER HEX: 8AC70017 CONSTANT: XACTENGINE_E_INVALIDENTRYCOUNT HEX: 8AC70018 CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDCUEEND HEX: 8AC70019 CONSTANT: XACTENGINE_E_SEEKTIMEBEYONDWAVEEND HEX: 8AC7001a CONSTANT: XACTENGINE_E_NOFRIENDLYNAMES HEX: 8AC7001b CONSTANT: XACTENGINE_E_AUDITION_WRITEFILE HEX: 8AC70101 CONSTANT: XACTENGINE_E_AUDITION_NOSOUNDBANK HEX: 8AC70102 CONSTANT: XACTENGINE_E_AUDITION_INVALIDRPCINDEX HEX: 8AC70103 CONSTANT: XACTENGINE_E_AUDITION_MISSINGDATA HEX: 8AC70104 CONSTANT: XACTENGINE_E_AUDITION_UNKNOWNCOMMAND HEX: 8AC70105 CONSTANT: XACTENGINE_E_AUDITION_INVALIDDSPINDEX HEX: 8AC70106 CONSTANT: XACTENGINE_E_AUDITION_MISSINGWAVE HEX: 8AC70107 CONSTANT: XACTENGINE_E_AUDITION_CREATEDIRECTORYFAILED HEX: 8AC70108 CONSTANT: XACTENGINE_E_AUDITION_INVALIDSESSION HEX: 8AC70109