jdxi_editor.midi.data.address

Submodules

Classes

Address

Base class for Roland-style hierarchical memory address enums (e.g., 0x18, 0x19, etc.)

JDXiSysExOffsetProgramLMB

Address Offset Program LMB

JDXiSysExOffsetSuperNATURALLMB

Address Offset SuperNATURAL LMB

Package Contents

class jdxi_editor.midi.data.address.Address[source]

Bases: picomidi.MidiSysExByte

Base class for Roland-style hierarchical memory address enums (e.g., 0x18, 0x19, etc.) Includes lookup, offset arithmetic, and SysEx-ready address formatting.

add_offset(address_offset: int | Tuple[int, Ellipsis]) tuple[int, Any][source]

Returns the full 4-byte address by adding a 3-byte offset to the base address. The base address is assumed to be a single byte (e.g., 0x18). :param address_offset: Union[int, Tuple[int, int, int]] The address offset :return: tuple[int, Any] The full 4-byte address

to_sysex_address(address_offset: int | Tuple[int, int, int] = (0, 0, 0)) bytes[source]

Returns the full 4-byte address as a bytes object, suitable for SysEx messages.

Parameters:

address_offset – Union[int, Tuple[int, int, int]] The address offset

Returns:

bytes The full 4-byte address

classmethod get_parameter_by_address(address: int) T | None[source]

Get parameter by address value. Overrides the base class method to use ‘value’ instead of ‘STATUS’.

Parameters:

address – int The address value

Returns:

Optional[T] The parameter

classmethod from_sysex_bytes(address: bytes) T | None[source]

Create an Address object from a 4-byte SysEx address.

Parameters:

address – bytes The 4-byte SysEx address

Returns:

Optional[T] The Address object

__repr__() str[source]
__str__() str[source]
class jdxi_editor.midi.data.address.JDXiSysExOffsetProgramLMB[source]

Bases: SysExLMB

Address Offset Program LMB

COMMON = 0
VOCAL_EFFECT = 1
EFFECT_1 = 2
EFFECT_2 = 4
DELAY = 6
REVERB = 8
PART_DIGITAL_SYNTH_1 = 32
PART_DIGITAL_SYNTH_2 = 33
PART_ANALOG = 34
PART_DRUM = 35
ZONE_DIGITAL_SYNTH_1 = 48
ZONE_DIGITAL_SYNTH_2 = 49
ZONE_ANALOG = 50
ZONE_DRUM = 51
CONTROLLER = 64
DRUM_DEFAULT_PARTIAL = 46
DIGITAL_DEFAULT_PARTIAL
DRUM_KIT_PART_1 = 46
DRUM_KIT_PART_2 = 48
DRUM_KIT_PART_3 = 50
DRUM_KIT_PART_4 = 52
DRUM_KIT_PART_5 = 54
DRUM_KIT_PART_6 = 56
DRUM_KIT_PART_7 = 58
DRUM_KIT_PART_8 = 60
DRUM_KIT_PART_9 = 62
DRUM_KIT_PART_10 = 64
DRUM_KIT_PART_11 = 66
DRUM_KIT_PART_12 = 68
DRUM_KIT_PART_13 = 70
DRUM_KIT_PART_14 = 72
DRUM_KIT_PART_15 = 74
DRUM_KIT_PART_16 = 76
DRUM_KIT_PART_17 = 78
DRUM_KIT_PART_18 = 80
DRUM_KIT_PART_19 = 82
DRUM_KIT_PART_20 = 84
DRUM_KIT_PART_21 = 86
DRUM_KIT_PART_22 = 88
DRUM_KIT_PART_23 = 90
DRUM_KIT_PART_24 = 92
DRUM_KIT_PART_25 = 94
DRUM_KIT_PART_26 = 96
DRUM_KIT_PART_27 = 98
DRUM_KIT_PART_28 = 100
DRUM_KIT_PART_29 = 102
DRUM_KIT_PART_30 = 104
DRUM_KIT_PART_31 = 106
DRUM_KIT_PART_32 = 108
DRUM_KIT_PART_33 = 110
DRUM_KIT_PART_34 = 112
DRUM_KIT_PART_35 = 114
DRUM_KIT_PART_36 = 116
DRUM_KIT_PART_37 = 118
classmethod drum_partial_offset(partial_number: int) int[source]

Return the LMB offset for the given drum partial (0–37).

Parameters:

partial_number – int The partial number

Returns:

int The LMB offset

class jdxi_editor.midi.data.address.JDXiSysExOffsetSuperNATURALLMB[source]

Bases: SysExLMB

Address Offset SuperNATURAL LMB

COMMON = 0
PARTIAL_1 = 32
PARTIAL_2 = 33
PARTIAL_3 = 34
MODIFY = 80
classmethod digital_partial_offset(partial_number: int) int[source]

Return the LMB offset for the given drum partial (0–37).