# -*- coding: utf-8 -*-
"""Constantes de BASSMIDI, BASSWASAPI, BASSWMA, BASSCD, BASSloud y plugins."""

# ─── BASSMIDI ────────────────────────────────────────────────────────
BASS_CONFIG_MIDI_COMPACT = 0x10400
BASS_CONFIG_MIDI_VOICES = 0x10401
BASS_CONFIG_MIDI_AUTOFONT = 0x10402
BASS_CONFIG_MIDI_DEFFONT = 0x10403
BASS_CONFIG_MIDI_IN_PORTS = 0x10404
BASS_CONFIG_MIDI_SAMPLEMEM = 0x10405
BASS_CONFIG_MIDI_SAMPLEREAD = 0x10406
BASS_CONFIG_MIDI_SFZHEAD = 0x10407

BASS_SYNC_MIDI_MARKER = 0x10000
BASS_SYNC_MIDI_CUE = 0x10001
BASS_SYNC_MIDI_LYRIC = 0x10002
BASS_SYNC_MIDI_TEXT = 0x10003
BASS_SYNC_MIDI_EVENT = 0x10004
BASS_SYNC_MIDI_TICK = 0x10005
BASS_SYNC_MIDI_TIMESIG = 0x10006
BASS_SYNC_MIDI_KEYSIG = 0x10007

BASS_MIDI_DECAYEND = 0x1000
BASS_MIDI_NOFX = 0x2000
BASS_MIDI_DECAYSEEK = 0x4000
BASS_MIDI_NOCROP = 0x8000
BASS_MIDI_NOTEOFF1 = 0x10000
BASS_MIDI_SINCINTER = 0x800000

BASS_MIDI_MARK_MARKER = 0
BASS_MIDI_MARK_CUE = 1
BASS_MIDI_MARK_LYRIC = 2
BASS_MIDI_MARK_TEXT = 3
BASS_MIDI_MARK_TIMESIG = 4
BASS_MIDI_MARK_KEYSIG = 5
BASS_MIDI_MARK_COPY = 6
BASS_MIDI_MARK_TRACK = 7
BASS_MIDI_MARK_INST = 8
BASS_MIDI_MARK_TICK = 0x10000

MIDI_EVENT_NOTE = 1
MIDI_EVENT_PROGRAM = 2
MIDI_EVENT_CHANPRES = 3
MIDI_EVENT_PITCH = 4
MIDI_EVENT_PITCHRANGE = 5
MIDI_EVENT_DRUMS = 6
MIDI_EVENT_FINETUNE = 7
MIDI_EVENT_COARSETUNE = 8
MIDI_EVENT_MASTERVOL = 9
MIDI_EVENT_BANK = 10
MIDI_EVENT_MODULATION = 11
MIDI_EVENT_VOLUME = 12
MIDI_EVENT_PAN = 13
MIDI_EVENT_EXPRESSION = 14
MIDI_EVENT_SUSTAIN = 15
MIDI_EVENT_SOUNDOFF = 16
MIDI_EVENT_RESET = 17
MIDI_EVENT_NOTESOFF = 18
MIDI_EVENT_PORTAMENTO = 19
MIDI_EVENT_PORTATIME = 20
MIDI_EVENT_PORTANOTE = 21
MIDI_EVENT_MODE = 22
MIDI_EVENT_REVERB = 23
MIDI_EVENT_CHORUS = 24
MIDI_EVENT_CUTOFF = 25
MIDI_EVENT_RESONANCE = 26
MIDI_EVENT_RELEASE = 27
MIDI_EVENT_ATTACK = 28
MIDI_EVENT_REVERB_MACRO = 30
MIDI_EVENT_CHORUS_MACRO = 31
MIDI_EVENT_REVERB_TIME = 32
MIDI_EVENT_REVERB_DELAY = 33
MIDI_EVENT_REVERB_LOCUTOFF = 34
MIDI_EVENT_REVERB_HICUTOFF = 35
MIDI_EVENT_REVERB_LEVEL = 36
MIDI_EVENT_CHORUS_DELAY = 37
MIDI_EVENT_CHORUS_DEPTH = 38
MIDI_EVENT_CHORUS_RATE = 39
MIDI_EVENT_CHORUS_FEEDBACK = 40
MIDI_EVENT_CHORUS_LEVEL = 41
MIDI_EVENT_CHORUS_REVERB = 42
MIDI_EVENT_DRUM_FINETUNE = 50
MIDI_EVENT_DRUM_COARSETUNE = 51
MIDI_EVENT_DRUM_PAN = 52
MIDI_EVENT_DRUM_REVERB = 53
MIDI_EVENT_DRUM_CHORUS = 54
MIDI_EVENT_DRUM_CUTOFF = 55
MIDI_EVENT_DRUM_RESONANCE = 56
MIDI_EVENT_DRUM_LEVEL = 57
MIDI_EVENT_TEMPO = 62
MIDI_EVENT_SCALETUNING = 63
MIDI_EVENT_CONTROL = 64
MIDI_EVENT_CHANPRES_VIBRATO = 65
MIDI_EVENT_CHANPRES_PITCH = 66
MIDI_EVENT_CHANPRES_FILTER = 67
MIDI_EVENT_CHANPRES_VOLUME = 68
MIDI_EVENT_MOD_VIBRATO = 69
MIDI_EVENT_MODRANGE = 70
MIDI_EVENT_BANK_LSB = 71
MIDI_EVENT_KEYPRES = 72
MIDI_EVENT_KEYPRES_VIBRATO = 73
MIDI_EVENT_KEYPRES_PITCH = 74
MIDI_EVENT_KEYPRES_FILTER = 75
MIDI_EVENT_KEYPRES_VOLUME = 76
MIDI_EVENT_SOSTENUTO = 77
MIDI_EVENT_SOFT = 78
MIDI_EVENT_SYSTEM = 79
MIDI_EVENT_SYSTEMEX = 80
MIDI_EVENT_END = 87
MIDI_EVENT_END_TRACK = 88
MIDI_EVENT_MIXLEVEL = 0x10000
MIDI_EVENT_TRANSPOSE = 0x10001
MIDI_EVENT_SYSTEMEX_DATA = 0x10002
MIDI_EVENT_SPEED = 0x10004

BASS_CTYPE_STREAM_MIDI = 0x10d00
BASS_ATTRIB_MIDI_PPQN = 0x12000
BASS_ATTRIB_MIDI_CPU = 0x12001
BASS_ATTRIB_MIDI_CHANS = 0x12002
BASS_ATTRIB_MIDI_VOICES = 0x12003
BASS_ATTRIB_MIDI_VOICES_ACTIVE = 0x12004
BASS_ATTRIB_MIDI_STATE = 0x12005
BASS_ATTRIB_MIDI_SRC = 0x12006
BASS_ATTRIB_MIDI_SPEED = 0x12007
BASS_ATTRIB_MIDI_REVERB = 0x12008
BASS_ATTRIB_MIDI_VOL = 0x12009
BASS_ATTRIB_MIDI_TRACK_VOL = 0x12100
BASS_ATTRIB_MIDI_QUEUE_BYTE = 0x12200
BASS_ATTRIB_MIDI_QUEUE_TICK = 0x12201
BASS_ATTRIB_MIDI_QUEUE_ASYNC = 0x12202
BASS_TAG_MIDI_TRACK = 0x11000
BASS_POS_MIDI_TICK = 2

BASS_MIDI_FONT_MEM = 0x10000
BASS_MIDI_FONT_MMAP = 0x20000
BASS_MIDI_FONT_NOFX = 0x40000
BASS_MIDI_FONT_XGDRUMS = 0x80000
BASS_MIDI_FONT_NOLIMITS = 0x100000
BASS_MIDI_FONT_LINATTMOD = 0x200000
BASS_MIDI_FONT_LINDECVOL = 0x400000
BASS_MIDI_FONT_NORAMPIN = 0x800000

# ─── BASSWASAPI ──────────────────────────────────────────────────────
BASS_ERROR_WASAPI = 5000
BASS_ERROR_WASAPI_BUFFER = 5001
BASS_ERROR_WASAPI_CATEGORY = 5002
BASS_ERROR_WASAPI_DENIED = 5003

BASS_WASAPI_EXCLUSIVE = 1
BASS_WASAPI_AUTOFORMAT = 2
BASS_WASAPI_BUFFER = 4
BASS_WASAPI_SESSIONVOL = 8
BASS_WASAPI_EVENT = 16
BASS_WASAPI_SAMPLES = 32
BASS_WASAPI_DITHER = 64
BASS_WASAPI_RAW = 128
BASS_WASAPI_ASYNC = 0x100

BASS_WASAPI_FORMAT_FLOAT = 0
BASS_WASAPI_FORMAT_8BIT = 1
BASS_WASAPI_FORMAT_16BIT = 2
BASS_WASAPI_FORMAT_24BIT = 3
BASS_WASAPI_FORMAT_32BIT = 4

BASS_WASAPI_TYPE_NETWORKDEVICE = 0
BASS_WASAPI_TYPE_SPEAKERS = 1
BASS_WASAPI_TYPE_LINELEVEL = 2
BASS_WASAPI_TYPE_HEADPHONES = 3
BASS_WASAPI_TYPE_MICROPHONE = 4
BASS_WASAPI_TYPE_HEADSET = 5
BASS_WASAPI_TYPE_HANDSET = 6
BASS_WASAPI_TYPE_DIGITAL = 7
BASS_WASAPI_TYPE_SPDIF = 8
BASS_WASAPI_TYPE_HDMI = 9
BASS_WASAPI_TYPE_UNKNOWN = 10

BASS_WASAPI_CURVE_DB = 0
BASS_WASAPI_CURVE_LINEAR = 1
BASS_WASAPI_CURVE_WINDOWS = 2

BASS_WASAPI_NOTIFY_ENABLED = 0
BASS_WASAPI_NOTIFY_DISABLED = 1
BASS_WASAPI_NOTIFY_DEFOUTPUT = 2
BASS_WASAPI_NOTIFY_DEFINPUT = 3
BASS_WASAPI_NOTIFY_FAIL = 4

BASS_WASAPI_VOL_SESSION = 0x8000000

BASS_DEVICE_INPUT = 16
BASS_DEVICE_UNPLUGGED = 32
BASS_DEVICE_DISABLED = 64

# ─── BASSWMA ─────────────────────────────────────────────────────────
BASS_ERROR_WMA_LICENSE = 1000
BASS_ERROR_WMA = 1001
BASS_ERROR_WMA_WM9 = BASS_ERROR_WMA
BASS_ERROR_WMA_DENIED = 1002
BASS_ERROR_WMA_INDIVIDUAL = 1004
BASS_ERROR_WMA_PUBINIT = 1005

BASS_CONFIG_WMA_PRECHECK = 0x10100
BASS_CONFIG_WMA_PREBUF = 0x10101
BASS_CONFIG_WMA_BASSFILE = 0x10103
BASS_CONFIG_WMA_NETSEEK = 0x10104
BASS_CONFIG_WMA_VIDEO = 0x10105

BASS_SYNC_WMA_CHANGE = 0x10100
BASS_SYNC_WMA_META = 0x10101
BASS_FILEPOS_WMA_BUFFER = 1000

BASS_WMA_ENCODE_STANDARD = 0x2000
BASS_WMA_ENCODE_PRO = 0x4000
BASS_WMA_ENCODE_24BIT = 0x8000
BASS_WMA_ENCODE_SCRIPT = 0x20000
BASS_WMA_ENCODE_RATES_VBR = 0x10000
BASS_WMA_ENCODE_HEAD = 0
BASS_WMA_ENCODE_DATA = 1
BASS_WMA_ENCODE_DONE = 2
BASS_WMA_TAG_ANSI = 0
BASS_WMA_TAG_UNICODE = 1
BASS_WMA_TAG_UTF8 = 2
BASS_WMA_TAG_BINARY = 0x100

BASS_CTYPE_STREAM_WMA = 0x10300
BASS_CTYPE_STREAM_WMA_MP3 = 0x10301
BASS_TAG_WMA = 8
BASS_TAG_WMA_META = 11

# ─── BASSCD ──────────────────────────────────────────────────────────
BASS_CONFIG_CD_FREEOLD = 0x10200
BASS_CONFIG_CD_RETRY = 0x10201
BASS_CONFIG_CD_SKIPERROR = 0x10202
BASS_CONFIG_CD_CDDB_SERVER = 0x10204

BASS_SYNC_CD_ERROR = 0x3000
BASS_SYNC_CD_SPEED = 0x3001
BASS_CD_SUBCHANNEL = 0x200
BASS_CD_SUBCHANNEL_NOLFE = 0x400
BASS_CD_C2ERRORS = 0x800
BASS_CTYPE_STREAM_CD = 0x10200

# ─── BASSloud ────────────────────────────────────────────────────────
BASS_LOUDNESS_CURRENT = 1
BASS_LOUDNESS_INTEGRATED = 2
BASS_LOUDNESS_RANGE = 4
BASS_LOUDNESS_PEAK = 8
BASS_LOUDNESS_TRUEPEAK = 16
BASS_LOUDNESS_AUTOFREE = 0x8000

# ─── BASSDSD ─────────────────────────────────────────────────────────
BASS_DSD_RAW = 0x200
BASS_DSD_DOP = 0x400
BASS_DSD_DOP_AA = 0x800
BASS_CTYPE_STREAM_DSD = 0x11700
BASS_TAG_DSD_ARTIST = 0x13000
BASS_TAG_DSD_TITLE = 0x13001
BASS_TAG_DSD_COMMENT = 0x13100

# ─── BASSHLS ─────────────────────────────────────────────────────────
BASS_SYNC_HLS_SEGMENT = 0x10300
BASS_TAG_HLS_EXTINF = 0x14000
BASS_TAG_HLS_STREAMINF = 0x14001
BASS_TAG_HLS_DATE = 0x14002

# ─── Plugins simples (BASSFLAC, BASSOPUS, etc.) ─────────────────────
BASS_CTYPE_STREAM_FLAC = 0x10900
BASS_CTYPE_STREAM_FLAC_OGG = 0x10901
BASS_TAG_FLAC_CUE = 0x12000
BASS_TAG_FLAC_PICTURE = 0x12800

BASS_CTYPE_STREAM_OPUS = 0x11200

BASS_CTYPE_STREAM_WV = 0x10500
BASS_CTYPE_STREAM_ALAC = 0x10e00
BASS_CTYPE_STREAM_APE = 0x10700
BASS_CTYPE_STREAM_SPX = 0x10c00
BASS_CTYPE_STREAM_MPC = 0x10a00
BASS_CTYPE_STREAM_AAC = 0x10b00
BASS_CTYPE_STREAM_MP4 = 0x10b01
BASS_CTYPE_STREAM_AC3 = 0x11000
BASS_CTYPE_STREAM_TTA = 0x10f00
BASS_CTYPE_STREAM_OFR = 0x10600
BASS_CTYPE_STREAM_WEBM = 0x11800
