"""
DrumKitMessage
==============
# Example usage:
# Set kit name
>>> msg = DrumKitMessage(
>>> section=DrumKitSection.COMMON.STATUS,
>>> param=DrumKitCommon.NAME_1.STATUS,
>>> value=0x41, # 'A'
>>> )
# Set pad parameter
>>> msg = DrumKitMessage(
>>> section=DrumKitSection.get_pad_offset(36), # Pad C1
>>> param=DrumPadParam.WAVE.STATUS,
>>> value=1, # Wave number
>>> )
"""
from dataclasses import dataclass
from jdxi_editor.midi.data.address.address import (
AddressOffsetTemporaryToneUMB,
AddressStartMSB,
CommandID,
)
from jdxi_editor.midi.message.roland import RolandSysEx
@dataclass
[docs]
class DrumKitMessage(RolandSysEx):
"""Drum Kit parameter message"""
[docs]
command: int = CommandID.DT1
[docs]
msb: int = AddressStartMSB.TEMPORARY_TONE # Temporary area
[docs]
umb: int = AddressOffsetTemporaryToneUMB.DRUM_KIT # Drum Kit
[docs]
lmb: int = 0x00 # Section (Common or Pad offset)
[docs]
lsb: int = 0x00 # Parameter number
[docs]
value: int = 0x00 # Parameter value
[docs]
def __post_init__(self):
super().__post_init__()