Source code for jdxi_editor.midi.data.control_change.drum

"""Drum Kit CC values"""


[docs] class DrumKitCC: """Drum Kit Control Change parameters""" # NRPN MSB values
[docs] MSB_LEVEL = 64 # Level MSB
[docs] MSB_CUTOFF = 89 # Cutoff MSB
[docs] MSB_RESONANCE = 92 # Resonance MSB
[docs] MSB_ENVELOPE = 119 # Envelope MSB
# Parameter ranges
[docs] MIN_NOTE = 36 # Lowest drum note (C1)
[docs] MAX_NOTE = 72 # Highest drum note (C4)
[docs] MIN_VALUE = 0 # Minimum parameter value
[docs] MAX_VALUE = 127 # Maximum parameter value
@staticmethod
[docs] def get_display_value(param: int, value: int) -> str: """Convert raw value to display value""" return str(value)
@staticmethod
[docs] def validate_note(note: int) -> bool: """Validate note is within drum kit range""" return DrumKitCC.MIN_NOTE <= note <= DrumKitCC.MAX_NOTE
@staticmethod
[docs] def validate_msb(msb: int) -> bool: """Validate MSB value is valid""" return msb in [ DrumKitCC.MSB_LEVEL, DrumKitCC.MSB_CUTOFF, DrumKitCC.MSB_RESONANCE, DrumKitCC.MSB_ENVELOPE, ]
@staticmethod
[docs] def validate_value(value: int) -> bool: """Validate parameter value is within range""" return DrumKitCC.MIN_VALUE <= value <= DrumKitCC.MAX_VALUE