jdxi_editor.midi.data.address.helpers

helpers.py Helper functions for SysEx address manipulation and parsing. This module provides utilities to apply address offsets, convert addresses to hex strings, and parse SysEx addresses into a JSON-like structure. It also includes functions to find matching symbols in provided base classes. Functions: - apply_address_offset: Applies an offset to a base SysEx address. - address_to_hex_string: Converts a SysEx address to a hex string. - parse_sysex_address_json: Parses a SysEx address into a JSON-like structure. - find_matching_symbol: Finds a matching symbol in provided base classes.

Functions

apply_address_offset(...)

Applies the offset of a parameter to a base address.

address_to_hex_string(→ str)

Converts a 4-byte SysEx address into a hex string.

parse_sysex_address_json(→ Dict[str, Any])

Parses a SysEx address into a JSON-like structure.

find_matching_symbol(→ Union[Dict[str, Any], None])

Finds a matching symbol in the provided base classes.

Module Contents

jdxi_editor.midi.data.address.helpers.apply_address_offset(base_address: jdxi_editor.midi.data.address.address.RolandSysExAddress, param: picomidi.sysex.parameter.address.AddressParameter) jdxi_editor.midi.data.address.address.RolandSysExAddress[source]

Applies the offset of a parameter to a base address.

Parameters:
  • base_address – RolandSysExAddress

  • param – AddressParameter

Returns:

RolandSysExAddress

jdxi_editor.midi.data.address.helpers.address_to_hex_string(address: Tuple[int, int, int, int]) str[source]

Converts a 4-byte SysEx address into a hex string.

Parameters:

address – Tuple[int, int, int, int]

Returns:

str

jdxi_editor.midi.data.address.helpers.parse_sysex_address_json(address: Tuple[int, int, int, int], base_classes: Tuple[Type[Any], Ellipsis]) Dict[str, Any][source]

Parses a SysEx address into a JSON-like structure.

Parameters:
  • address – Tuple[int, int, int, int]

  • base_classes – Tuple[Type[Any], …]

Returns:

Dict[str, Any]

jdxi_editor.midi.data.address.helpers.find_matching_symbol(value: int, base_classes: Tuple[Type[Any], Ellipsis]) Dict[str, Any] | None[source]

Finds a matching symbol in the provided base classes.

Parameters:
  • value – int

  • base_classes – Tuple[Type[Any], …]

Returns:

Union[Dict[str, Any], None]