//
//	File: OpenALDebugXbox360.h
//
//	Description: Definition of OpenAL Xbox 360 debugging features
//

#ifndef _ALDEBUGXBOX360
#define _ALDEBUGXBOX360

#if defined(_DEBUG) || defined(_BETA)

#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)

// Debug groups

#define OPENAL_DEBUG_XAUDIO_SOURCE_VOLUME	5
#define	OPENAL_DEBUG_XAUDIO					10
#define OPENAL_DEBUG_XAUDIO_THREAD			11
#define OPENAL_DEBUG_XAUDIO_XMA_STREAMS		12
#define OPENAL_DEBUG_XAUDIO_CONTEXT			13
#define OPENAL_DEBUG_XAUDIO_SOURCES			14
#define OPENAL_DEBUG_XAUDIO_SOURCES_ACTIVE	15
#define OPENAL_DEBUG_XAUDIO_PACKET			16
#define OPENAL_DEBUG_XAUDIO_AUX				17
#define OPENAL_DEBUG_XAUDIO_SUBMIX			18
#define OPENAL_DEBUG_XAUDIO_CHANNELS		20
#define OPENAL_DEBUG_XAUDIO_VOICE			21

#define OPENAL_DEBUG_ERRORS					22

#define OPENAL_DEBUG_BUFFER					24

#define OPENAL_DEBUG_FILTER					30

#define OPENAL_DEBUG_FXREVERB				36

#define OPENAL_DEBUG_SOURCE					40
#define OPENAL_DEBUG_SOURCE_PARAMS			41
#define OPENAL_DEBUG_SOURCE_AUXSENDS		42
#define OPENAL_DEBUG_SOURCE_SUBMIX			43

#define OPENAL_DEBUG_MEMORY					48

// Debug levels

#define OPENAL_DEBUG_ALL					0
#define OPENAL_DEBUG_VERBOSE				50
#define OPENAL_DEBUG_FUNCTIONS				100
#define OPENAL_DEBUG_NORMAL					150
#define OPENAL_DEBUG_TERSE					200
#define OPENAL_DEBUG_ERROR					250
#define OPENAL_DEBUG_NONE					255

extern char g_bDebugCorruption;
extern char g_bDebugBufferSource;
extern char g_bDebugTraceFile;
extern unsigned char g_pDebugLevels[];
extern void alDebugMemoryCheck(void);

#if defined(__cplusplus)
}
#endif	// defined(__cplusplus)

#endif

#endif
