Source code for jdxi_editor.midi.data.address.sysex

"""
Collected SysEx constants
"""

from enum import IntEnum, unique

"""Miscellaneous"""
[docs] START_OF_SYSEX = 0xF0
[docs] END_OF_SYSEX = 0xF7
[docs] ID_NUMBER = 0x7E
[docs] DEVICE_ID = 0x7F
[docs] SUB_ID_1_GENERAL_INFORMATION = 0x06
[docs] SUB_ID_2_IDENTITY_REQUEST = 0x01
[docs] SUB_ID_2_IDENTITY_REPLY = 0x02
[docs] ZERO_BYTE = 0x00
[docs] VALUE_ON = 0x01
[docs] VALUE_OFF = 0x00
[docs] NOTE_ON = 0x90
[docs] NOTE_OFF = 0x80
[docs] LOW_1_BIT_MASK = 0x01 # Mask for only the lowest (1st) bit
[docs] LOW_2_BITS_MASK = 0x03 # Mask for lowest 2 bits (0b00000011)
[docs] LOW_4_BITS_MASK = 0x0F # Mask for lowest 4 bits (a nibble)
[docs] LOW_7_BITS_MASK = 0x7F # MIDI data byte mask (7-bit, valid for MIDI)
[docs] FULL_BYTE_MASK = 0xFF # Full 8 bits — masks a whole byte
[docs] HIGH_4_BITS_MASK = 0xF0 # High nibble mask
[docs] WORD_MASK = 0xFFFF # Word mask (16 bits, 2 bytes)
[docs] MAX_EIGHT_BIT_VALUE = 255 # maximum values held by eight bits
@unique
[docs] class RolandID(IntEnum): """Roland IDs"""
[docs] ROLAND_ID = 0x41
[docs] DEVICE_ID = 0x10
@unique
[docs] class ResponseID(IntEnum): """Midi responses"""
[docs] ACK = 0x4F # Acknowledge
[docs] ERR = 0x4E # Error