#ifndef _FMOD_SPEAKERMAP_H
#define _FMOD_SPEAKERMAP_H

#include "fmod_settings.h"

#undef  SPEAKER_RESERVED        /* mmreg.h! */
#undef  SPEAKER_FRONT_LEFT
#undef  SPEAKER_FRONT_RIGHT
#undef  SPEAKER_FRONT_CENTER
#undef  SPEAKER_LOW_FREQUENCY
#undef  SPEAKER_BACK_LEFT
#undef  SPEAKER_BACK_RIGHT
#undef  SPEAKER_FRONT_LEFT_OF_CENTER
#undef  SPEAKER_FRONT_RIGHT_OF_CENTER
#undef  SPEAKER_BACK_CENTER
#undef  SPEAKER_SIDE_LEFT
#undef  SPEAKER_SIDE_RIGHT
#undef  SPEAKER_TOP_CENTER
#undef  SPEAKER_TOP_FRONT_LEFT
#undef  SPEAKER_TOP_FRONT_CENTER
#undef  SPEAKER_TOP_FRONT_RIGHT
#undef  SPEAKER_TOP_BACK_LEFT
#undef  SPEAKER_TOP_BACK_CENTER
#undef  SPEAKER_TOP_BACK_RIGHT
#undef  SPEAKER_WAVEFORMAT_MASK
#undef  SPEAKER_ALLMONO
#undef  SPEAKER_ALLSTEREO
#undef  SPEAKER_RESERVED
#undef  SPEAKER_DIRECTOUT
#undef  SPEAKER_MONO
#undef  SPEAKER_STEREO
#undef  SPEAKER_QUAD
#undef  SPEAKER_SURROUND
#undef  SPEAKER_5POINT1
#undef  SPEAKER_7POINT1

#define SPEAKER_FRONT_LEFT              0x00000001
#define SPEAKER_FRONT_RIGHT             0x00000002
#define SPEAKER_FRONT_CENTER            0x00000004
#define SPEAKER_LOW_FREQUENCY           0x00000008
#define SPEAKER_BACK_LEFT               0x00000010
#define SPEAKER_BACK_RIGHT              0x00000020
#define SPEAKER_FRONT_LEFT_OF_CENTER    0x00000040
#define SPEAKER_FRONT_RIGHT_OF_CENTER   0x00000080
#define SPEAKER_BACK_CENTER             0x00000100
#define SPEAKER_SIDE_LEFT			    0x00000200
#define SPEAKER_SIDE_RIGHT              0x00000400
#define SPEAKER_TOP_CENTER              0x00000800
#define SPEAKER_TOP_FRONT_LEFT          0x00001000
#define SPEAKER_TOP_FRONT_CENTER        0x00002000
#define SPEAKER_TOP_FRONT_RIGHT         0x00004000
#define SPEAKER_TOP_BACK_LEFT           0x00008000
#define SPEAKER_TOP_BACK_CENTER         0x00010000
#define SPEAKER_TOP_BACK_RIGHT          0x00020000
#define SPEAKER_WAVEFORMAT_MASK         0x000FFFFF

#define SPEAKER_ALLMONO                 0x10000000
#define SPEAKER_ALLSTEREO               0x20000000
#define SPEAKER_PROTOOLS                0x40000000

#define SPEAKER_RESERVED                0x80000000

#define SPEAKER_DIRECTOUT       0
#define SPEAKER_MONO            (SPEAKER_FRONT_CENTER)
#define SPEAKER_STEREO          (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT)
#define SPEAKER_QUAD            (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT  | SPEAKER_BACK_RIGHT)
#define SPEAKER_SURROUND        (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
#define SPEAKER_5POINT1         (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT)
#define SPEAKER_7POINT1         (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT)

#endif
