from __future__ import annotations
from jdxi_editor.midi.message.jdxi import JDXiSysexHeader
from picomidi.sysex.conversion import bytes_to_hex
[docs]
class JDXISysExHex:
"""
class to represent bytes as strings
"""
[docs]
TEMPORARY_PROGRAM_AREA = "18"
[docs]
TEMPORARY_TONE_AREA = "19"
[docs]
PROGRAM_COMMON_AREA = "00"
[docs]
PROGRAM_CONTROLLER_AREA = "00 40 00 00" # Arpeggiator (18 00 40 00)
# Program Effects (Perl: 18 00 02/04/06/08 00)
[docs]
PROGRAM_EFFECT1_AREA = "00 02 00 00" # 18 00 02 00, 0x111 (273) bytes
[docs]
PROGRAM_EFFECT2_AREA = "00 04 00 00" # 18 00 04 00, 0x111 bytes
[docs]
PROGRAM_DELAY_AREA = "00 06 00 00" # 18 00 06 00, 0x64 (100) bytes
[docs]
PROGRAM_REVERB_AREA = "00 08 00 00" # 18 00 08 00, 0x63 (99) bytes
# Program Zone (per-zone Arpeggio Switch, Zone Octave Shift) - 35 bytes each
[docs]
PROGRAM_ZONE_DIGITAL1_AREA = "00 30 00 00" # 18 00 30 00
[docs]
PROGRAM_ZONE_DIGITAL2_AREA = "00 31 00 00" # 18 00 31 00
[docs]
PROGRAM_ZONE_ANALOG_AREA = "00 32 00 00" # 18 00 32 00
[docs]
PROGRAM_ZONE_DRUMS_AREA = "00 33 00 00" # 18 00 33 00
[docs]
SYSTEM_COMMON_AREA = "00 00 00 00 00 2B" # 02 00 00 00, size 0x2B (43 bytes)
[docs]
SYSTEM_CONTROLLER_AREA = "03 00 00 00 00 11" # 02 00 03 00, size 0x11 (17 bytes)
[docs]
PROGRAM_VOCAL_EFFECT_AREA = "01"
[docs]
FOUR_ZERO_BYTES = "00 00 00 00"