RetroArch
Classes | Macros | Typedefs | Enumerations | Functions
xaudio27.h File Reference
#include <retro_inline.h>
#include <retro_environment.h>
#include <windows.h>
#include <basetyps.h>
#include <objbase.h>
#include <mmreg.h>
Include dependency graph for xaudio27.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  XAUDIO2_DEVICE_DETAILS
 
struct  XAUDIO2_BUFFER
 

Macros

#define X2DEFAULT(x)
 
#define WIN32_LEAN_AND_MEAN
 
#define OPAQUE   struct
 
#define DEFINE_GUID_X(n, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)   static const GUID n = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
 
#define DEFINE_CLSID_X(className, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)   DEFINE_GUID_X(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
 
#define DEFINE_IID_X(interfaceName, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)   DEFINE_GUID_X(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)
 
#define INTERFACE   void
 
#define XAUDIO2_DEFAULT_FREQ_RATIO   4.0f
 
#define XAUDIO2_COMMIT_NOW   0
 
#define XAUDIO2_DEFAULT_CHANNELS   0
 
#define XAUDIO2_DEFAULT_SAMPLERATE   0
 
#define XAUDIO2_DEBUG_ENGINE   0x0001
 
#define XAUDIO2_VOICE_NOSRC   0x0004
 
#define INTERFACE   IXAudio2VoiceCallback
 
#define INTERFACE   IXAudio2Voice
 
#define Declare_IXAudio2Voice_Methods()
 
#define INTERFACE   IXAudio2MasteringVoice
 
#define INTERFACE   IXAudio2SourceVoice
 
#define INTERFACE   IXAudio2
 
#define IXAudio2_Initialize(handle, a, b)   (handle)->lpVtbl->Initialize(handle, a, b)
 
#define IXAudio2_Release(handle)   (handle)->lpVtbl->Release(handle)
 
#define IXAudio2_CreateSourceVoice(handle, ppSourceVoice, pSourceFormat, Flags, MaxFrequencyRatio, pCallback, pSendList, pEffectChain)   (handle)->lpVtbl->CreateSourceVoice(handle, ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain)
 
#define IXAudio2_CreateMasteringVoice(handle, ppMasteringVoice, InputChannels, InputSampleRate, Flags, DeviceIndex, pEffectChain)   (handle)->lpVtbl->CreateMasteringVoice(handle, ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain)
 
#define IXAudio2_GetDeviceCount(handle, puCount)   (handle)->lpVtbl->GetDeviceCount(handle, puCount)
 
#define IXAudio2_GetDeviceDetails(handle, Index, pDeviceDetails)   (handle)->lpVtbl->GetDeviceDetails(handle, Index, pDeviceDetails)
 
#define IXAudio2SourceVoice_Start(handle, Flags, OperationSet)   (handle)->lpVtbl->Start(handle, Flags, OperationSet)
 
#define IXAudio2SourceVoice_Stop(handle, Flags, OperationSet)   (handle)->lpVtbl->Stop(handle, Flags, OperationSet)
 
#define IXAudio2SourceVoice_SubmitSourceBuffer(handle, pBuffer, pBufferWMA)   (handle)->lpVtbl->SubmitSourceBuffer(handle, pBuffer, pBufferWMA)
 
#define IXAudio2SourceVoice_DestroyVoice(handle)   (handle)->lpVtbl->DestroyVoice(handle)
 
#define IXAudio2MasteringVoice_DestroyVoice(handle)   (handle)->lpVtbl->DestroyVoice(handle)
 

Typedefs

typedef enum XAUDIO2_DEVICE_ROLE XAUDIO2_DEVICE_ROLE
 
typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER
 
typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER XAUDIO2_PROCESSOR
 
typedef enum XAUDIO2_FILTER_TYPE XAUDIO2_FILTER_TYPE
 
typedef struct XAUDIO2_DEVICE_DETAILS XAUDIO2_DEVICE_DETAILS
 
typedef OPAQUE XAUDIO2_VOICE_DETAILS XAUDIO2_VOICE_DETAILS
 
typedef OPAQUE XAUDIO2_VOICE_SENDS XAUDIO2_VOICE_SENDS
 
typedef OPAQUE XAUDIO2_EFFECT_DESCRIPTOR XAUDIO2_EFFECT_DESCRIPTOR
 
typedef OPAQUE XAUDIO2_EFFECT_CHAIN XAUDIO2_EFFECT_CHAIN
 
typedef OPAQUE XAUDIO2_FILTER_PARAMETERS XAUDIO2_FILTER_PARAMETERS
 
typedef OPAQUE XAUDIO2_BUFFER_WMA XAUDIO2_BUFFER_WMA
 
typedef OPAQUE XAUDIO2_VOICE_STATE XAUDIO2_VOICE_STATE
 
typedef OPAQUE XAUDIO2_PERFORMANCE_DATA XAUDIO2_PERFORMANCE_DATA
 
typedef OPAQUE XAUDIO2_DEBUG_CONFIGURATION XAUDIO2_DEBUG_CONFIGURATION
 
typedef OPAQUE IXAudio2EngineCallback IXAudio2EngineCallback
 
typedef OPAQUE IXAudio2SubmixVoice IXAudio2SubmixVoice
 
typedef struct XAUDIO2_BUFFER XAUDIO2_BUFFER
 

Enumerations

enum  XAUDIO2_DEVICE_ROLE {
  NotDefaultDevice = 0x0, DefaultConsoleDevice = 0x1, DefaultMultimediaDevice = 0x2, DefaultCommunicationsDevice = 0x4,
  DefaultGameDevice = 0x8, GlobalDefaultDevice = 0xf, InvalidDeviceRole = ~GlobalDefaultDevice
}
 
enum  XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER { XAUDIO2_ANY_PROCESSOR = 0xffffffff, XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR }
 
enum  XAUDIO2_FILTER_TYPE { LowPassFilter, BandPassFilter, HighPassFilter }
 

Functions

 DEFINE_CLSID_X (XAudio2, 5a508685, a254, 4fba, 9b, 82, 9a, 24, b0, 03, 06, af)
 
 DEFINE_IID_X (IXAudio2, 8bcf1f58, 9fe7, 4583, 8a, c6, e2, ad, c4, 65, c8, bb)
 
 DECLARE_INTERFACE (IXAudio2VoiceCallback)
 
 DECLARE_INTERFACE (IXAudio2Voice)
 
 DECLARE_INTERFACE_ (IXAudio2MasteringVoice, IXAudio2Voice)
 
 DECLARE_INTERFACE_ (IXAudio2SourceVoice, IXAudio2Voice)
 
 DECLARE_INTERFACE_ (IXAudio2, IUnknown)
 
static INLINE HRESULT XAudio2Create (IXAudio2 **ppXAudio2, UINT32 flags, XAUDIO2_PROCESSOR proc)
 

Macro Definition Documentation

◆ Declare_IXAudio2Voice_Methods

#define Declare_IXAudio2Voice_Methods ( )

◆ DEFINE_CLSID_X

#define DEFINE_CLSID_X (   className,
  l,
  w1,
  w2,
  b1,
  b2,
  b3,
  b4,
  b5,
  b6,
  b7,
  b8 
)    DEFINE_GUID_X(CLSID_##className, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)

◆ DEFINE_GUID_X

#define DEFINE_GUID_X (   n,
  l,
  w1,
  w2,
  b1,
  b2,
  b3,
  b4,
  b5,
  b6,
  b7,
  b8 
)    static const GUID n = { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }

◆ DEFINE_IID_X

#define DEFINE_IID_X (   interfaceName,
  l,
  w1,
  w2,
  b1,
  b2,
  b3,
  b4,
  b5,
  b6,
  b7,
  b8 
)    DEFINE_GUID_X(IID_##interfaceName, 0x##l, 0x##w1, 0x##w2, 0x##b1, 0x##b2, 0x##b3, 0x##b4, 0x##b5, 0x##b6, 0x##b7, 0x##b8)

◆ INTERFACE [1/6]

#define INTERFACE   void

◆ INTERFACE [2/6]

#define INTERFACE   IXAudio2VoiceCallback

◆ INTERFACE [3/6]

#define INTERFACE   IXAudio2Voice

◆ INTERFACE [4/6]

#define INTERFACE   IXAudio2MasteringVoice

◆ INTERFACE [5/6]

#define INTERFACE   IXAudio2SourceVoice

◆ INTERFACE [6/6]

#define INTERFACE   IXAudio2

◆ IXAudio2_CreateMasteringVoice

#define IXAudio2_CreateMasteringVoice (   handle,
  ppMasteringVoice,
  InputChannels,
  InputSampleRate,
  Flags,
  DeviceIndex,
  pEffectChain 
)    (handle)->lpVtbl->CreateMasteringVoice(handle, ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceIndex,pEffectChain)

◆ IXAudio2_CreateSourceVoice

#define IXAudio2_CreateSourceVoice (   handle,
  ppSourceVoice,
  pSourceFormat,
  Flags,
  MaxFrequencyRatio,
  pCallback,
  pSendList,
  pEffectChain 
)    (handle)->lpVtbl->CreateSourceVoice(handle, ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain)

◆ IXAudio2_GetDeviceCount

#define IXAudio2_GetDeviceCount (   handle,
  puCount 
)    (handle)->lpVtbl->GetDeviceCount(handle, puCount)

◆ IXAudio2_GetDeviceDetails

#define IXAudio2_GetDeviceDetails (   handle,
  Index,
  pDeviceDetails 
)    (handle)->lpVtbl->GetDeviceDetails(handle, Index, pDeviceDetails)

◆ IXAudio2_Initialize

#define IXAudio2_Initialize (   handle,
  a,
  b 
)    (handle)->lpVtbl->Initialize(handle, a, b)

◆ IXAudio2_Release

#define IXAudio2_Release (   handle)    (handle)->lpVtbl->Release(handle)

◆ IXAudio2MasteringVoice_DestroyVoice

#define IXAudio2MasteringVoice_DestroyVoice (   handle)    (handle)->lpVtbl->DestroyVoice(handle)

◆ IXAudio2SourceVoice_DestroyVoice

#define IXAudio2SourceVoice_DestroyVoice (   handle)    (handle)->lpVtbl->DestroyVoice(handle)

◆ IXAudio2SourceVoice_Start

#define IXAudio2SourceVoice_Start (   handle,
  Flags,
  OperationSet 
)    (handle)->lpVtbl->Start(handle, Flags, OperationSet)

◆ IXAudio2SourceVoice_Stop

#define IXAudio2SourceVoice_Stop (   handle,
  Flags,
  OperationSet 
)    (handle)->lpVtbl->Stop(handle, Flags, OperationSet)

◆ IXAudio2SourceVoice_SubmitSourceBuffer

#define IXAudio2SourceVoice_SubmitSourceBuffer (   handle,
  pBuffer,
  pBufferWMA 
)    (handle)->lpVtbl->SubmitSourceBuffer(handle, pBuffer, pBufferWMA)

◆ OPAQUE

#define OPAQUE   struct

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

◆ X2DEFAULT

#define X2DEFAULT (   x)

◆ XAUDIO2_COMMIT_NOW

#define XAUDIO2_COMMIT_NOW   0

◆ XAUDIO2_DEBUG_ENGINE

#define XAUDIO2_DEBUG_ENGINE   0x0001

◆ XAUDIO2_DEFAULT_CHANNELS

#define XAUDIO2_DEFAULT_CHANNELS   0

◆ XAUDIO2_DEFAULT_FREQ_RATIO

#define XAUDIO2_DEFAULT_FREQ_RATIO   4.0f

◆ XAUDIO2_DEFAULT_SAMPLERATE

#define XAUDIO2_DEFAULT_SAMPLERATE   0

◆ XAUDIO2_VOICE_NOSRC

#define XAUDIO2_VOICE_NOSRC   0x0004

Typedef Documentation

◆ IXAudio2EngineCallback

◆ IXAudio2SubmixVoice

◆ XAUDIO2_BUFFER

◆ XAUDIO2_BUFFER_WMA

◆ XAUDIO2_DEBUG_CONFIGURATION

◆ XAUDIO2_DEVICE_DETAILS

◆ XAUDIO2_DEVICE_ROLE

◆ XAUDIO2_EFFECT_CHAIN

◆ XAUDIO2_EFFECT_DESCRIPTOR

◆ XAUDIO2_FILTER_PARAMETERS

◆ XAUDIO2_FILTER_TYPE

◆ XAUDIO2_PERFORMANCE_DATA

◆ XAUDIO2_PROCESSOR

◆ XAUDIO2_VOICE_DETAILS

◆ XAUDIO2_VOICE_SENDS

◆ XAUDIO2_VOICE_STATE

◆ XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER

Enumeration Type Documentation

◆ XAUDIO2_DEVICE_ROLE

Enumerator
NotDefaultDevice 
DefaultConsoleDevice 
DefaultMultimediaDevice 
DefaultCommunicationsDevice 
DefaultGameDevice 
GlobalDefaultDevice 
InvalidDeviceRole 

◆ XAUDIO2_FILTER_TYPE

Enumerator
LowPassFilter 
BandPassFilter 
HighPassFilter 

◆ XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER

Enumerator
XAUDIO2_ANY_PROCESSOR 
XAUDIO2_DEFAULT_PROCESSOR 

Function Documentation

◆ DECLARE_INTERFACE() [1/2]

DECLARE_INTERFACE ( IXAudio2VoiceCallback  )
Here is the call graph for this function:

◆ DECLARE_INTERFACE() [2/2]

DECLARE_INTERFACE ( IXAudio2Voice  )

◆ DECLARE_INTERFACE_() [1/3]

DECLARE_INTERFACE_ ( IXAudio2MasteringVoice  ,
IXAudio2Voice   
)

◆ DECLARE_INTERFACE_() [2/3]

DECLARE_INTERFACE_ ( IXAudio2SourceVoice  ,
IXAudio2Voice   
)

◆ DECLARE_INTERFACE_() [3/3]

DECLARE_INTERFACE_ ( IXAudio2  ,
IUnknown   
)
Here is the call graph for this function:

◆ DEFINE_CLSID_X()

DEFINE_CLSID_X ( XAudio2  ,
5a508685  ,
a254  ,
4fba  ,
9b  ,
82  ,
9a  ,
24  ,
b0  ,
03  ,
06  ,
af   
)

◆ DEFINE_IID_X()

DEFINE_IID_X ( IXAudio2  ,
8bcf1f58  ,
9fe7  ,
4583  ,
8a  ,
c6  ,
e2  ,
ad  ,
c4  ,
65  ,
c8  ,
bb   
)

◆ XAudio2Create()

static INLINE HRESULT XAudio2Create ( IXAudio2 **  ppXAudio2,
UINT32  flags,
XAUDIO2_PROCESSOR  proc 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: