# -*- coding: utf-8 -*-
"""
Constantes principales de BASS (bass.dll).

Incluye flags de inicialización, configuración, atributos de canal,
tipos de stream, modos de posición, tipos de sincronización,
códigos de error, tipos de tags, efectos DX8 y más.

Fuente: documentación oficial de Un4seen BASS 2.4.
"""

# ─── Versión de la API ────────────────────────────────────────────────
BASSVERSION = 0x204
BASSVERSIONTEXT = "2.4"

# ─── Device flags ────────────────────────────────────────────────────
BASS_DEVICE_8BITS = 1
BASS_DEVICE_MONO = 2
BASS_DEVICE_3D = 4
BASS_DEVICE_16BITS = 8
BASS_DEVICE_REINIT = 128
BASS_DEVICE_LATENCY = 0x100
BASS_DEVICE_CPSPEAKERS = 0x400
BASS_DEVICE_SPEAKERS = 0x800
BASS_DEVICE_NOSPEAKER = 0x1000
BASS_DEVICE_DMIX = 0x2000
BASS_DEVICE_FREQ = 0x4000
BASS_DEVICE_STEREO = 0x8000
BASS_DEVICE_HOG = 0x10000
BASS_DEVICE_AUDIOTRACK = 0x20000
BASS_DEVICE_DSOUND = 0x40000
BASS_DEVICE_SOFTWARE = 0x80000

# Device info flags
BASS_DEVICE_ENABLED = 1
BASS_DEVICE_DEFAULT = 2
BASS_DEVICE_INIT = 4
BASS_DEVICE_LOOPBACK = 8
BASS_DEVICE_DEFAULTCOM = 128

# Record flags
BASS_RECORD_PAUSE = 0x8000

# ─── Códigos de error ─────────────────────────────────────────────────
BASS_OK = 0
BASS_ERROR_MEM = 1
BASS_ERROR_FILEOPEN = 2
BASS_ERROR_DRIVER = 3
BASS_ERROR_BUFLOST = 4
BASS_ERROR_HANDLE = 5
BASS_ERROR_FORMAT = 6
BASS_ERROR_POSITION = 7
BASS_ERROR_INIT = 8
BASS_ERROR_START = 9
BASS_ERROR_SSL = 10
BASS_ERROR_REINIT = 11
BASS_ERROR_TRACK = 13
BASS_ERROR_ALREADY = 14
BASS_ERROR_NOTAUDIO = 17
BASS_ERROR_NOCHAN = 18
BASS_ERROR_ILLTYPE = 19
BASS_ERROR_ILLPARAM = 20
BASS_ERROR_NO3D = 21
BASS_ERROR_NOEAX = 22
BASS_ERROR_DEVICE = 23
BASS_ERROR_NOPLAY = 24
BASS_ERROR_FREQ = 25
BASS_ERROR_NOTFILE = 27
BASS_ERROR_NOHW = 29
BASS_ERROR_EMPTY = 31
BASS_ERROR_NONET = 32
BASS_ERROR_CREATE = 33
BASS_ERROR_NOFX = 34
BASS_ERROR_NOTAVAIL = 37
BASS_ERROR_DECODE = 38
BASS_ERROR_DX = 39
BASS_ERROR_TIMEOUT = 40
BASS_ERROR_FILEFORM = 41
BASS_ERROR_SPEAKER = 42
BASS_ERROR_VERSION = 43
BASS_ERROR_CODEC = 44
BASS_ERROR_ENDED = 45
BASS_ERROR_BUSY = 46
BASS_ERROR_UNSTREAMABLE = 47
BASS_ERROR_PROTOCOL = 48
BASS_ERROR_DENIED = 49
BASS_ERROR_FREEING = 50
BASS_ERROR_CANCEL = 51
BASS_ERROR_JAVA_CLASS = 500
BASS_ERROR_UNKNOWN = -1

# ─── Opciones de BASS_SetConfig ───────────────────────────────────────
BASS_CONFIG_BUFFER = 0
BASS_CONFIG_UPDATEPERIOD = 1
BASS_CONFIG_GVOL_SAMPLE = 4
BASS_CONFIG_GVOL_STREAM = 5
BASS_CONFIG_GVOL_MUSIC = 6
BASS_CONFIG_CURVE_VOL = 7
BASS_CONFIG_CURVE_PAN = 8
BASS_CONFIG_FLOATDSP = 9
BASS_CONFIG_3DALGORITHM = 10
BASS_CONFIG_NET_TIMEOUT = 11
BASS_CONFIG_NET_BUFFER = 12
BASS_CONFIG_PAUSE_NOPLAY = 13
BASS_CONFIG_NET_PREBUF = 15
BASS_CONFIG_NET_PASSIVE = 18
BASS_CONFIG_REC_BUFFER = 19
BASS_CONFIG_NET_PLAYLIST = 21
BASS_CONFIG_MUSIC_VIRTUAL = 22
BASS_CONFIG_VERIFY = 23
BASS_CONFIG_UPDATETHREADS = 24
BASS_CONFIG_DEV_BUFFER = 27
BASS_CONFIG_REC_DEFAULT = 35
BASS_CONFIG_NET_READTIMEOUT = 37
BASS_CONFIG_HANDLES = 41
BASS_CONFIG_UNICODE = 42
BASS_CONFIG_SRC = 43
BASS_CONFIG_SRC_SAMPLE = 44
BASS_CONFIG_DEV_PERIOD = 53
BASS_CONFIG_FLOAT = 54
BASS_CONFIG_NET_SEEK = 56
BASS_CONFIG_AM_DISABLE = 58
BASS_CONFIG_NET_PLAYLIST_DEPTH = 59
BASS_CONFIG_NET_PREBUF_WAIT = 60
BASS_CONFIG_NORAMP = 63
BASS_CONFIG_WASAPI_PERSIST = 65
BASS_CONFIG_REC_WASAPI = 66
BASS_CONFIG_DEV_DEFAULT = 36
BASS_CONFIG_DEV_NONSTOP = 50
BASS_CONFIG_MF_DISABLE = 40
BASS_CONFIG_VIDEO = 67
BASS_CONFIG_SAMPLE_ONEHANDLE = 69
BASS_CONFIG_OGG_PRESCAN = 47
BASS_CONFIG_VERIFY_NET = 52
BASS_CONFIG_DEV_NOTIFY = 74
BASS_CONFIG_NOSOUND_MAXDELAY = 75
BASS_CONFIG_DOWNMIX = 76
BASS_CONFIG_FILEOPENPROCS = 77
BASS_CONFIG_FILENAME = 78

# Opciones de BASS_SetConfigPtr (puntero)
BASS_CONFIG_NET_AGENT = 16
BASS_CONFIG_NET_PROXY = 17
BASS_CONFIG_LIBSSL = 64
BASS_CONFIG_NET_RESTRATE = 72

# Flag para opciones de config por hilo
BASS_CONFIG_THREAD = 0x40000000
BASS_CONFIG_ASYNCFILE_BUFFER = 45

# ─── Flags de inicialización (BASS_Init) ──────────────────────────────
BASS_DEVICE_8BITS = 1
BASS_DEVICE_16BITS = 1
BASS_DEVICE_MONO = 2
BASS_DEVICE_3D = 4
BASS_DEVICE_STEREO = 0x08
BASS_DEVICE_LATENCY = 0x100
BASS_DEVICE_CPSPEAKERS = 0x400
BASS_DEVICE_SPEAKERS = 0x800
BASS_DEVICE_NOSPEAKER = 0x1000
BASS_DEVICE_DMIX = 0x2000
BASS_DEVICE_FREQ = 0x4000
BASS_DEVICE_DSOUND = 0x8000
BASS_DEVICE_SOFTWARE = 0x10000
BASS_DEVICE_REINIT = 0x80
BASS_DEVICE_OPENSLES = 0x20000
BASS_DEVICE_AUDIOTRACK = 0x40000
BASS_DEVICE_APPLEVOICE = 0x80000

# Flags de BASS_DEVICEINFO
BASS_DEVICE_ENABLED = 1
BASS_DEVICE_DEFAULT = 2
BASS_DEVICE_INIT = 4
BASS_DEVICE_LOOPBACK = 8
BASS_DEVICE_TYPE_MASK = 0xFF000000
BASS_DEVICE_TYPE_NETWORK = 0x01000000
BASS_DEVICE_TYPE_SPEAKERS = 0x02000000
BASS_DEVICE_TYPE_LINE = 0x03000000
BASS_DEVICE_TYPE_HEADPHONES = 0x04000000
BASS_DEVICE_TYPE_MICROPHONE = 0x05000000
BASS_DEVICE_TYPE_HEADSET = 0x06000000
BASS_DEVICE_TYPE_HANDSET = 0x07000000
BASS_DEVICE_TYPE_DIGITAL = 0x08000000
BASS_DEVICE_TYPE_SPDIF = 0x09000000
BASS_DEVICE_TYPE_HDMI = 0x0A000000
BASS_DEVICE_TYPE_DISPLAYPORT = 0x40000000

# ─── Flags de muestras/streams ────────────────────────────────────────
BASS_SAMPLE_8BITS = 1
BASS_SAMPLE_FLOAT = 256
BASS_SAMPLE_MONO = 2
BASS_SAMPLE_LOOP = 4
BASS_SAMPLE_3D = 8
BASS_SAMPLE_SOFTWARE = 16
BASS_SAMPLE_MUTEMAX = 32
BASS_SAMPLE_VAM = 64
BASS_SAMPLE_FX = 128
BASS_SAMPLE_OVER_VOL = 0x10000
BASS_SAMPLE_OVER_POS = 0x20000
BASS_SAMPLE_OVER_DIST = 0x30000

BASS_STREAM_PRESCAN = 0x20000
BASS_STREAM_AUTOFREE = 0x40000
BASS_STREAM_RESTRATE = 0x80000
BASS_STREAM_BLOCK = 0x100000
BASS_STREAM_DECODE = 0x200000
BASS_STREAM_STATUS = 0x800000

BASS_MUSIC_FLOAT = BASS_SAMPLE_FLOAT
BASS_MUSIC_MONO = BASS_SAMPLE_MONO
BASS_MUSIC_LOOP = BASS_SAMPLE_LOOP
BASS_MUSIC_3D = BASS_SAMPLE_3D
BASS_MUSIC_FX = BASS_SAMPLE_FX
BASS_MUSIC_AUTOFREE = BASS_STREAM_AUTOFREE
BASS_MUSIC_DECODE = BASS_STREAM_DECODE
BASS_MUSIC_PRESCAN = BASS_STREAM_PRESCAN
BASS_MUSIC_RAMP = 0x200
BASS_MUSIC_RAMPS = 0x400
BASS_MUSIC_SURROUND = 0x800
BASS_MUSIC_SURROUND2 = 0x1000
BASS_MUSIC_FT2MOD = 0x2000
BASS_MUSIC_PT1MOD = 0x4000
BASS_MUSIC_NONINTER = 0x10000
BASS_MUSIC_SINCINTER = 0x800000
BASS_MUSIC_POSRESET = 0x8000
BASS_MUSIC_POSRESETEX = 0x400000
BASS_MUSIC_STOPBACK = 0x80000
BASS_MUSIC_NOSAMPLE = 0x100000

# ─── Flags de archivo ─────────────────────────────────────────────────
BASS_FILE_NAME = 0
BASS_FILE_MEM = 1
BASS_FILE_MEMCOPY = 3
BASS_FILE_HANDLE = 4

# ─── Flags de altavoces ───────────────────────────────────────────────
BASS_SPEAKER_FRONT = 0x1000000
BASS_SPEAKER_REAR = 0x2000000
BASS_SPEAKER_CENLFE = 0x3000000
BASS_SPEAKER_REAR2 = 0x4000000
BASS_SPEAKER_LEFT = 0x10000000
BASS_SPEAKER_RIGHT = 0x20000000
BASS_SPEAKER_FRONTLEFT = BASS_SPEAKER_FRONT | BASS_SPEAKER_LEFT
BASS_SPEAKER_FRONTRIGHT = BASS_SPEAKER_FRONT | BASS_SPEAKER_RIGHT
BASS_SPEAKER_REARLEFT = BASS_SPEAKER_REAR | BASS_SPEAKER_LEFT
BASS_SPEAKER_REARRIGHT = BASS_SPEAKER_REAR | BASS_SPEAKER_RIGHT
BASS_SPEAKER_CENTER = BASS_SPEAKER_CENLFE | BASS_SPEAKER_LEFT
BASS_SPEAKER_LFE = BASS_SPEAKER_CENLFE | BASS_SPEAKER_RIGHT
BASS_SPEAKER_REAR2LEFT = BASS_SPEAKER_REAR2 | BASS_SPEAKER_LEFT
BASS_SPEAKER_REAR2RIGHT = BASS_SPEAKER_REAR2 | BASS_SPEAKER_RIGHT

BASS_UNICODE = 0x80000000
BASS_RECORD_PAUSE = 0x8000

# ─── Modos 3D ────────────────────────────────────────────────────────
BASS_3DMODE_NORMAL = 0
BASS_3DMODE_RELATIVE = 1
BASS_3DMODE_OFF = 2

# ─── Algoritmos 3D ───────────────────────────────────────────────────
BASS_3DALG_DEFAULT = 0
BASS_3DALG_OFF = 1
BASS_3DALG_FULL = 2
BASS_3DALG_LIGHT = 3

# ─── Asignación de voz (VAM) ─────────────────────────────────────────
BASS_VAM_HARDWARE = 1
BASS_VAM_SOFTWARE = 2
BASS_VAM_TERM_TIME = 4
BASS_VAM_TERM_DIST = 8
BASS_VAM_TERM_PRIO = 16

# ─── Tipos de canal ──────────────────────────────────────────────────
BASS_CTYPE_SAMPLE = 1
BASS_CTYPE_RECORD = 2
BASS_CTYPE_STREAM = 0x10000
BASS_CTYPE_STREAM_VORBIS = 0x10002
BASS_CTYPE_STREAM_OGG = 0x10002
BASS_CTYPE_STREAM_MP1 = 0x10003
BASS_CTYPE_STREAM_MP2 = 0x10004
BASS_CTYPE_STREAM_MP3 = 0x10005
BASS_CTYPE_STREAM_AIFF = 0x10006
BASS_CTYPE_STREAM_CA = 0x10007
BASS_CTYPE_STREAM_MF = 0x10008
BASS_CTYPE_STREAM_AM = 0x10009
BASS_CTYPE_STREAM_WAV = 0x40000
BASS_CTYPE_STREAM_WAV_PCM = 0x50001
BASS_CTYPE_STREAM_WAV_FLOAT = 0x50003
BASS_CTYPE_MUSIC_MOD = 0x20000
BASS_CTYPE_MUSIC_MTM = 0x20001
BASS_CTYPE_MUSIC_S3M = 0x20002
BASS_CTYPE_MUSIC_XM = 0x20003
BASS_CTYPE_MUSIC_IT = 0x20004
BASS_CTYPE_MUSIC_MO3 = 0x00100

# ─── Estados de canal ─────────────────────────────────────────────────
BASS_ACTIVE_STOPPED = 0
BASS_ACTIVE_PLAYING = 1
BASS_ACTIVE_STALLED = 2
BASS_ACTIVE_PAUSED = 3
BASS_ACTIVE_PAUSED_DEVICE = 4

# ─── Atributos de canal ──────────────────────────────────────────────
BASS_ATTRIB_FREQ = 1
BASS_ATTRIB_VOL = 2
BASS_ATTRIB_PAN = 3
BASS_ATTRIB_EAXMIX = 4
BASS_ATTRIB_NOBUFFER = 5
BASS_ATTRIB_VBR = 6
BASS_ATTRIB_CPU = 7
BASS_ATTRIB_SRC = 8
BASS_ATTRIB_NET_RESUME = 9
BASS_ATTRIB_SCANINFO = 10
BASS_ATTRIB_NORAMP = 11
BASS_ATTRIB_BITRATE = 12
BASS_ATTRIB_BUFFER = 13
BASS_ATTRIB_GRANULE = 14
BASS_ATTRIB_USER = 15
BASS_ATTRIB_TAIL = 16
BASS_ATTRIB_PUSH_LIMIT = 17
BASS_ATTRIB_DOWNLOADPROC = 18
BASS_ATTRIB_VOLDSP = 19
BASS_ATTRIB_VOLDSP_PRIORITY = 20
BASS_ATTRIB_DOWNMIX = 21
BASS_ATTRIB_MUSIC_AMPLIFY = 0x100
BASS_ATTRIB_MUSIC_PANSEP = 0x101
BASS_ATTRIB_MUSIC_PSCALER = 0x102
BASS_ATTRIB_MUSIC_BPM = 0x103
BASS_ATTRIB_MUSIC_SPEED = 0x104
BASS_ATTRIB_MUSIC_VOL_GLOBAL = 0x105
BASS_ATTRIB_MUSIC_ACTIVE = 0x106
BASS_ATTRIB_MUSIC_VOL_CHAN = 0x200
BASS_ATTRIB_MUSIC_VOL_INST = 0x300

# ─── Flags de datos de canal ─────────────────────────────────────────
BASS_DATA_AVAILABLE = 0
BASS_DATA_NOREMOVE = 0x10000000
BASS_DATA_FIXED = 0x20000000
BASS_DATA_FLOAT = 0x40000000
BASS_DATA_FFT256 = 0x80000000
BASS_DATA_FFT512 = 0x80000001
BASS_DATA_FFT1024 = 0x80000002
BASS_DATA_FFT2048 = 0x80000003
BASS_DATA_FFT4096 = 0x80000004
BASS_DATA_FFT8192 = 0x80000005
BASS_DATA_FFT16384 = 0x80000006
BASS_DATA_FFT32768 = 0x80000007
BASS_DATA_FFT_INDIVIDUAL = 0x10
BASS_DATA_FFT_NOWINDOW = 0x20
BASS_DATA_FFT_REMOVEDC = 0x40
BASS_DATA_FFT_COMPLEX = 0x80
BASS_DATA_FFT_NYQUIST = 0x100

# ─── Flags de nivel ──────────────────────────────────────────────────
BASS_LEVEL_MONO = 1
BASS_LEVEL_STEREO = 2
BASS_LEVEL_RMS = 4
BASS_LEVEL_VOLPAN = 8
BASS_LEVEL_NOREMOVE = 16

# ─── Tipos de tags ───────────────────────────────────────────────────
BASS_TAG_ID3 = 0
BASS_TAG_ID3V2 = 1
BASS_TAG_OGG = 2
BASS_TAG_HTTP = 3
BASS_TAG_ICY = 4
BASS_TAG_META = 5
BASS_TAG_APE = 6
BASS_TAG_MP4 = 7
BASS_TAG_WMA = 8
BASS_TAG_VENDOR = 9
BASS_TAG_LYRICS3 = 10
BASS_TAG_CA_CODEC = 11
BASS_TAG_MF = 13
BASS_TAG_WAVEFORMAT = 14
BASS_TAG_AM_NAME = 16
BASS_TAG_ID3V2_2 = 17
BASS_TAG_AM_MIME = 18
BASS_TAG_LOCATION = 19
BASS_TAG_RIFF_INFO = 0x100
BASS_TAG_RIFF_BEXT = 0x101
BASS_TAG_RIFF_CART = 0x102
BASS_TAG_RIFF_DISP = 0x103
BASS_TAG_RIFF_CUE = 0x104
BASS_TAG_RIFF_SMPL = 0x105
BASS_TAG_APE_BINARY = 0x1000
BASS_TAG_MUSIC_NAME = 0x10000
BASS_TAG_MUSIC_MESSAGE = 0x10001
BASS_TAG_MUSIC_ORDERS = 0x10002
BASS_TAG_MUSIC_AUTH = 0x10003
BASS_TAG_MUSIC_INST = 0x10100
BASS_TAG_MUSIC_SAMPLE = 0x10300
BASS_TAG_ID3V2_BINARY = 0x80000001
BASS_TAG_ID3V2_2_BINARY = 0x80000011
BASS_TAG_MP4_COVERART = 0x80000007
BASS_TAG_INCREF = 0x40000000

# ─── Modos de posición ───────────────────────────────────────────────
BASS_POS_BYTE = 0
BASS_POS_MUSIC_ORDER = 1
BASS_POS_OGG = 3
BASS_POS_END = 0x10
BASS_POS_LOOP = 0x11
BASS_POS_FLUSH = 0x1000000
BASS_POS_RESET = 0x2000000
BASS_POS_RELATIVE = 0x4000000
BASS_POS_INEXACT = 0x8000000
BASS_POS_DECODE = 0x10000000
BASS_POS_DECODETO = 0x20000000
BASS_POS_SCAN = 0x40000000
BASS_POS_RAW = 0x100
BASS_POS_DSP = 0x200

# ─── Tipos de sincronización ─────────────────────────────────────────
BASS_SYNC_POS = 0
BASS_SYNC_END = 2
BASS_SYNC_META = 4
BASS_SYNC_SLIDE = 5
BASS_SYNC_STALL = 6
BASS_SYNC_DOWNLOAD = 7
BASS_SYNC_FREE = 8
BASS_SYNC_SETPOS = 11
BASS_SYNC_MUSICPOS = 10
BASS_SYNC_MUSICINST = 1
BASS_SYNC_MUSICFX = 3
BASS_SYNC_OGG_CHANGE = 12
BASS_SYNC_DEV_FAIL = 14
BASS_SYNC_DEV_FORMAT = 15
BASS_SYNC_POS_RAW = 16
BASS_SYNC_THREAD = 0x20000000
BASS_SYNC_MIXTIME = 0x40000000
BASS_SYNC_ONETIME = 0x80000000

# ─── Tipos de entrada de grabación ───────────────────────────────────
BASS_INPUT_OFF = 0x10000
BASS_INPUT_ON = 0x20000
BASS_INPUT_TYPE_MASK = 0xFF000000
BASS_INPUT_TYPE_UNDEF = 0x00000000
BASS_INPUT_TYPE_DIGITAL = 0x01000000
BASS_INPUT_TYPE_LINE = 0x02000000
BASS_INPUT_TYPE_MIC = 0x03000000
BASS_INPUT_TYPE_SYNTH = 0x04000000
BASS_INPUT_TYPE_CD = 0x05000000
BASS_INPUT_TYPE_PHONE = 0x06000000
BASS_INPUT_TYPE_SPEAKER = 0x07000000
BASS_INPUT_TYPE_WAVE = 0x08000000
BASS_INPUT_TYPE_AUX = 0x09000000
BASS_INPUT_TYPE_ANALOG = 0x0A000000

# ─── Tipos de efectos DX8 ────────────────────────────────────────────
BASS_FX_DX8_CHORUS = 0
BASS_FX_DX8_COMPRESSOR = 1
BASS_FX_DX8_DISTORTION = 2
BASS_FX_DX8_ECHO = 3
BASS_FX_DX8_FLANGER = 4
BASS_FX_DX8_GARGLE = 5
BASS_FX_DX8_I3DL2REVERB = 6
BASS_FX_DX8_PARAMEQ = 7
BASS_FX_DX8_REVERB = 8
BASS_FX_VOLUME = 9

# ─── Fases DX8 ───────────────────────────────────────────────────────
BASS_DX8_PHASE_NEG_180 = 0
BASS_DX8_PHASE_NEG_90 = 1
BASS_DX8_PHASE_ZERO = 2
BASS_DX8_PHASE_90 = 3
BASS_DX8_PHASE_180 = 4

# ─── Stream de usuario ───────────────────────────────────────────────
BASS_STREAMPROC_END = 0x80000000
STREAMFILE_NOBUFFER = 0
STREAMFILE_BUFFER = 1
STREAMFILE_BUFFERPUSH = 2

# ─── Posiciones de archivo ───────────────────────────────────────────
BASS_FILEPOS_CURRENT = 0
BASS_FILEPOS_DECODE = BASS_FILEPOS_CURRENT
BASS_FILEPOS_DOWNLOAD = 1
BASS_FILEPOS_END = 2
BASS_FILEPOS_START = 3
BASS_FILEPOS_CONNECTED = 4
BASS_FILEPOS_BUFFER = 5
BASS_FILEPOS_SOCKET = 6
BASS_FILEPOS_ASYNCBUF = 7
BASS_FILEPOS_SIZE = 8
BASS_FILEPOS_BUFFERING = 9
BASS_FILEPOS_ASYNCSIZE = 10
BASS_FILEDATA_END = 0

# ─── Flags DSP ───────────────────────────────────────────────────────
BASS_DSP_BYPASS = 0x1000000
BASS_DSP_FLOAT = 0x2000000
BASS_DSP_READONLY = 0x4000000
BASS_DSP_FREECALL = 0x8000000

# ─── Entornos EAX ────────────────────────────────────────────────────
EAX_ENVIRONMENT_GENERIC = 0
EAX_ENVIRONMENT_PADDEDCELL = 1
EAX_ENVIRONMENT_ROOM = 2
EAX_ENVIRONMENT_BATHROOM = 3
EAX_ENVIRONMENT_LIVINGROOM = 4
EAX_ENVIRONMENT_STONEROOM = 5
EAX_ENVIRONMENT_AUDITORIUM = 6
EAX_ENVIRONMENT_CONCERTHALL = 7
EAX_ENVIRONMENT_CAVE = 8
EAX_ENVIRONMENT_ARENA = 9
EAX_ENVIRONMENT_HANGAR = 10
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11
EAX_ENVIRONMENT_HALLWAY = 12
EAX_ENVIRONMENT_STONECORRIDOR = 13
EAX_ENVIRONMENT_ALLEY = 14
EAX_ENVIRONMENT_FOREST = 15
EAX_ENVIRONMENT_CITY = 16
EAX_ENVIRONMENT_MOUNTAINS = 17
EAX_ENVIRONMENT_QUARRY = 18
EAX_ENVIRONMENT_PLAIN = 19
EAX_ENVIRONMENT_PARKINGLOT = 20
EAX_ENVIRONMENT_SEWERPIPE = 21
EAX_ENVIRONMENT_UNDERWATER = 22
EAX_ENVIRONMENT_DRUGGED = 23
EAX_ENVIRONMENT_DIZZY = 24
EAX_ENVIRONMENT_PSYCHOTIC = 25
EAX_ENVIRONMENT_COUNT = 26

# ─── Flags de BASS_IsStarted ─────────────────────────────────────────
BASS_NODEVICE = 0
BASS_STARTED = 1
BASS_PAUSED = 2

# ─── WAVE FORMAT constantes ──────────────────────────────────────────
WAVE_FORMAT_1M08 = 0x00000001
WAVE_FORMAT_1S08 = 0x00000002
WAVE_FORMAT_1M16 = 0x00000004
WAVE_FORMAT_1S16 = 0x00000008
WAVE_FORMAT_2M08 = 0x00000010
WAVE_FORMAT_2S08 = 0x00000020
WAVE_FORMAT_2M16 = 0x00000040
WAVE_FORMAT_2S16 = 0x00000080
WAVE_FORMAT_4M08 = 0x00000100
WAVE_FORMAT_4S08 = 0x00000200
WAVE_FORMAT_4M16 = 0x00000400
WAVE_FORMAT_4S16 = 0x00000800

# ─── DirectSound flags ───────────────────────────────────────────────
BASS_OBJECT_DS = 1
BASS_OBJECT_DS3DL = 2
DSCAPS_CONTINUOUSRATE = 0x00000010
DSCAPS_EMULDRIVER = 0x00000020
DSCAPS_CERTIFIED = 0x00000040
DSCAPS_SECONDARYMONO = 0x00000100
DSCAPS_SECONDARYSTEREO = 0x00000200
DSCAPS_SECONDARY8BIT = 0x00000400
DSCAPS_SECONDARY16BIT = 0x00000800

# ─── FFT y Data flags ────────────────────────────────────────────────
BASS_DATA_AVAILABLE = 0x00000000
BASS_DATA_FIXED = 0x20000000
BASS_DATA_FLOAT = 0x40000000
BASS_DATA_FFT256 = 0x80000000
BASS_DATA_FFT512 = 0x80000001
BASS_DATA_FFT1024 = 0x80000002
BASS_DATA_FFT2048 = 0x80000003
BASS_DATA_FFT4096 = 0x80000004
BASS_DATA_FFT8192 = 0x80000005
BASS_DATA_FFT16384 = 0x80000006
BASS_DATA_FFT32768 = 0x80000007
BASS_DATA_FFT_INDIVIDUAL = 0x00000010
BASS_DATA_FFT_NOWINDOW = 0x00000020
BASS_DATA_FFT_REMOVEDC = 0x00000040
BASS_DATA_FFT_COMPLEX = 0x00000080
BASS_DATA_FFT_NYQUIST = 0x00000100

# ─── Level flags ─────────────────────────────────────────────────────
BASS_LEVEL_MONO = 1
BASS_LEVEL_STEREO = 2
BASS_LEVEL_RMS = 4
BASS_LEVEL_VOLPAN = 8
BASS_LEVEL_NOREMOVE = 16

