jdxi_editor.midi.data.address.parser

Parser Example Usage

class ProgramAddress(Address):

COMMON = 0x18 DIGITAL_1 = 0x19

sysex_addr = b’' parsed = parse_sysex_address(sysex_addr, ProgramAddress)

if parsed:

base, offset = parsed print(f”Base: {base}, Offset: {offset}”)

else:

print(“Unknown base address”)

Output:

from Base: <ProgramAddress.COMMON: 0x18>, Offset: (0, 32, 0)

Attributes

T

Functions

parse_sysex_address(→ Optional[Tuple[T, Tuple[int, ...)

Parse a 4-byte SysEx address into a (base, offset) tuple.

Module Contents

jdxi_editor.midi.data.address.parser.T[source]
jdxi_editor.midi.data.address.parser.parse_sysex_address(address_bytes: bytes, enum_cls: Type[T]) Tuple[T, Tuple[int, int, int]] | None[source]

Parse a 4-byte SysEx address into a (base, offset) tuple.

Parameters:
  • address_bytes – bytes The 4-byte SysEx address

  • enum_cls – Type[T] The enum class

Returns:

Optional[Tuple[T, Tuple[int, int, int]]] The (base, offset) tuple