jdxi_editor.midi.data.parameter.drum

Drum parameter module for JD-Xi editor.

This module exports drum parameter classes for common and partial parameters.

Submodules

Classes

DrumCommonParam

Common parameters for Digital/SuperNATURAL synth tones.

DrumPartialParam

Drum kit parameters with their addresses and value ranges

Package Contents

class jdxi_editor.midi.data.parameter.drum.DrumCommonParam(address: int, min_val: int, max_val: int, tooltip: str = '')[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Common parameters for Digital/SuperNATURAL synth tones. These parameters are shared across all partials.

address
min_val
max_val
tooltip = ''
TONE_NAME_1 = (0, 32, 127)
TONE_NAME_2 = (1, 32, 127)
TONE_NAME_3 = (2, 32, 127)
TONE_NAME_4 = (3, 32, 127)
TONE_NAME_5 = (4, 32, 127)
TONE_NAME_6 = (5, 32, 127)
TONE_NAME_7 = (6, 32, 127)
TONE_NAME_8 = (7, 32, 127)
TONE_NAME_9 = (8, 32, 127)
TONE_NAME_10 = (9, 32, 127)
TONE_NAME_11 = (10, 32, 127)
TONE_NAME_12 = (11, 32, 127)
KIT_LEVEL
property display_name: str

Get display name for the parameter

get_address_for_partial(partial_number: int = 0) Tuple[int, int][source]

Get parameter area and address adjusted for partial number.

property is_switch: bool

Returns True if parameter is address binary/enum switch

get_switch_text(value: int) str[source]

Get display text for switch values

validate_value(value: int) int[source]

Validate and convert parameter value

get_partial_number() int | None[source]

Returns the partial number (1-3) if this is address partial parameter, None otherwise

class jdxi_editor.midi.data.parameter.drum.DrumPartialParam(address: int, min_val: int, max_val: int, display_min: int | None = None, display_max: int | None = None, tooltip: str | None = '')[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Drum kit parameters with their addresses and value ranges

display_min = None
display_max = None
tooltip = ''
bipolar_parameters = ['PARTIAL_FINE_TUNE', 'PITCH_ENV_DEPTH', 'PARTIAL_PAN', 'PARTIAL_ALTERNATE_PAN_DEPTH',...
CONVERSION_OFFSETS
PARTIAL_NAME_1 = (0, 32, 127)
PARTIAL_NAME_2 = (1, 32, 127)
PARTIAL_NAME_3 = (2, 32, 127)
PARTIAL_NAME_4 = (3, 32, 127)
PARTIAL_NAME_5 = (4, 32, 127)
PARTIAL_NAME_6 = (5, 32, 127)
PARTIAL_NAME_7 = (6, 32, 127)
PARTIAL_NAME_8 = (7, 32, 127)
PARTIAL_NAME_9 = (8, 32, 127)
PARTIAL_NAME_10 = (9, 32, 127)
PARTIAL_NAME_11 = (10, 32, 127)
PARTIAL_NAME_12 = (11, 32, 127)
ASSIGN_TYPE
MUTE_GROUP
PARTIAL_LEVEL
PARTIAL_COARSE_TUNE
PARTIAL_FINE_TUNE
PARTIAL_RANDOM_PITCH_DEPTH
PARTIAL_PAN
PARTIAL_RANDOM_PAN_DEPTH
PARTIAL_ALTERNATE_PAN_DEPTH
PARTIAL_ENV_MODE
PARTIAL_OUTPUT_LEVEL
PARTIAL_CHORUS_SEND_LEVEL = (25, 0, 127, 0, 127, 'Specifies the level of the signal sent to the chorus for each partial.')
PARTIAL_REVERB_SEND_LEVEL = (26, 0, 127, 0, 127, 'Specifies the level of the signal sent to the reverb for each partial.')
PARTIAL_OUTPUT_ASSIGN = (27, 0, 4, 0, 4, 'Specifies how the sound of each partial will be output. (EFX1, EFX2, DLY, REV, DIR)')
PARTIAL_PITCH_BEND_RANGE
PARTIAL_RECEIVE_EXPRESSION
PARTIAL_RECEIVE_HOLD_1
WMT_VELOCITY_CONTROL
WMT1_WAVE_SWITCH
WMT1_WAVE_GROUP_TYPE = (34, 0, 0, 0, 0, 'Only one preset_type')
WMT1_WAVE_GROUP_ID = (35, 0, 16384, 0, 16384, 'OFF, 1 - 16384')
WMT1_WAVE_NUMBER_L
WMT1_WAVE_NUMBER_R
WMT1_WAVE_GAIN
WMT1_WAVE_FXM_SWITCH = (48, 0, 1, 0, 1, 'OFF, ON')
WMT1_WAVE_FXM_COLOR
WMT1_WAVE_FXM_DEPTH
WMT1_WAVE_TEMPO_SYNC
WMT1_WAVE_COARSE_TUNE
WMT1_WAVE_FINE_TUNE
WMT1_WAVE_PAN
WMT1_WAVE_RANDOM_PAN_SWITCH
WMT1_WAVE_ALTERNATE_PAN_SWITCH
WMT1_WAVE_LEVEL
WMT1_VELOCITY_RANGE_LOWER
WMT1_VELOCITY_RANGE_UPPER
WMT1_VELOCITY_FADE_WIDTH_LOWER
WMT1_VELOCITY_FADE_WIDTH_UPPER
WMT2_WAVE_SWITCH
WMT2_WAVE_GROUP_TYPE
WMT2_WAVE_GROUP_ID
WMT2_WAVE_NUMBER_L
WMT2_WAVE_NUMBER_R
WMT2_WAVE_GAIN
WMT2_WAVE_FXM_SWITCH = (77, 0, 1, 0, 1, 'Frequency Cross-Modulation (FXM),OFF, ON')
WMT2_WAVE_FXM_COLOR
WMT2_WAVE_FXM_DEPTH
WMT2_WAVE_TEMPO_SYNC
WMT2_WAVE_COARSE_TUNE
WMT2_WAVE_FINE_TUNE
WMT2_WAVE_PAN
WMT2_WAVE_RANDOM_PAN_SWITCH
WMT2_WAVE_ALTERNATE_PAN_SWITCH
WMT2_WAVE_LEVEL
WMT2_VELOCITY_RANGE_LOWER
WMT2_VELOCITY_RANGE_UPPER
WMT2_VELOCITY_FADE_WIDTH_LOWER
WMT2_VELOCITY_FADE_WIDTH_UPPER
WMT3_WAVE_SWITCH
WMT3_WAVE_GROUP_TYPE
WMT3_WAVE_GROUP_ID
WMT3_WAVE_NUMBER_L
WMT3_WAVE_NUMBER_R
WMT3_WAVE_GAIN
WMT3_WAVE_FXM_SWITCH = (106, 0, 1, 0, 1, 'Frequency Cross-Modulation (FXM),OFF, ON')
WMT3_WAVE_FXM_COLOR
WMT3_WAVE_FXM_DEPTH
WMT3_WAVE_TEMPO_SYNC
WMT3_WAVE_COARSE_TUNE
WMT3_WAVE_FINE_TUNE
WMT3_WAVE_PAN
WMT3_WAVE_RANDOM_PAN_SWITCH
WMT3_WAVE_ALTERNATE_PAN_SWITCH
WMT3_WAVE_LEVEL
WMT3_VELOCITY_RANGE_LOWER
WMT3_VELOCITY_RANGE_UPPER
WMT3_VELOCITY_FADE_WIDTH_LOWER
WMT3_VELOCITY_FADE_WIDTH_UPPER
WMT4_WAVE_SWITCH
WMT4_WAVE_GROUP_TYPE
WMT4_WAVE_GROUP_ID
WMT4_WAVE_NUMBER_L
WMT4_WAVE_NUMBER_R
WMT4_WAVE_GAIN
WMT4_WAVE_FXM_SWITCH
WMT4_WAVE_FXM_COLOR
WMT4_WAVE_FXM_DEPTH
WMT4_WAVE_TEMPO_SYNC
WMT4_WAVE_COARSE_TUNE
WMT4_WAVE_FINE_TUNE
WMT4_WAVE_PAN
WMT4_WAVE_RANDOM_PAN_SWITCH
WMT4_WAVE_ALTERNATE_PAN_SWITCH
WMT4_WAVE_LEVEL
WMT4_VELOCITY_RANGE_LOWER
WMT4_VELOCITY_RANGE_UPPER
WMT4_VELOCITY_FADE_WIDTH_LOWER
WMT4_VELOCITY_FADE_WIDTH_UPPER
PITCH_ENV_DEPTH
PITCH_ENV_VELOCITY_SENS
PITCH_ENV_TIME_1_VELOCITY_SENS
PITCH_ENV_TIME_4_VELOCITY_SENS
PITCH_ENV_TIME_1
PITCH_ENV_TIME_2
PITCH_ENV_TIME_3
PITCH_ENV_TIME_4
PITCH_ENV_LEVEL_0
PITCH_ENV_LEVEL_1
PITCH_ENV_LEVEL_2
PITCH_ENV_LEVEL_3
PITCH_ENV_LEVEL_4
TVF_FILTER_TYPE
TVF_CUTOFF_FREQUENCY
TVF_CUTOFF_VELOCITY_CURVE
TVF_CUTOFF_VELOCITY_SENS
TVF_RESONANCE = (294, 0, 127, 0, 127, 'Sets the resonance of the filter. Higher settings result in a more...
TVF_RESONANCE_VELOCITY_SENS
TVF_ENV_DEPTH
TVF_ENV_VELOCITY_CURVE_TYPE
TVF_ENV_VELOCITY_SENS
TVF_ENV_TIME_1_VELOCITY_SENS
TVF_ENV_TIME_4_VELOCITY_SENS
TVF_ENV_TIME_1
TVF_ENV_TIME_2
TVF_ENV_TIME_3
TVF_ENV_TIME_4
TVF_ENV_LEVEL_0
TVF_ENV_LEVEL_1
TVF_ENV_LEVEL_2
TVF_ENV_LEVEL_3
TVF_ENV_LEVEL_4
TVA_LEVEL_VELOCITY_CURVE
TVA_LEVEL_VELOCITY_SENS
TVA_ENV_TIME_1_VELOCITY_SENS
TVA_ENV_TIME_4_VELOCITY_SENS
TVA_ENV_TIME_1
TVA_ENV_TIME_2
TVA_ENV_TIME_3
TVA_ENV_TIME_4
TVA_ENV_LEVEL_1
TVA_ENV_LEVEL_2
TVA_ENV_LEVEL_3
ONE_SHOT_MODE
RELATIVE_LEVEL
DRUM_PART = (112, 1, 5, 1, 5, 'Sets the drum partial. 1 - 5')
DRUM_GROUP = (47, 1, 5, 1, 5, 'Sets the drum group. 1 - 5')
validate_value(value: int) int[source]

Validate and convert parameter value to MIDI range (0-127) :param value: int The value :return: int The validated value

convert_to_midi_old(value: int) int[source]

Convert the value to MIDI range (0-127) for sending via MIDI.

Parameters:

value – int value to convert

Returns:

int MIDI value

convert_from_display(display_value: int) int[source]

Convert from display value to MIDI value (0-127) :param display_value: int The display value :return: int The MIDI value

get_display_value() Tuple[int, int][source]

Get the display range for the parameter :return: Tuple[int, int] The display range

get_address_for_partial(partial_index: int) tuple[source]

Get the address for address drum partial by index :param partial_index: int The partial index :return: tuple The address

static get_address_for_partial_name(partial_name: str) int[source]

Get parameter area and address adjusted for partial number. :param partial_name: str The partial name :return: int The address

static get_by_name(param_name: str) object | None[source]

Get the AnalogParameter by name. :param param_name: str The parameter name :return: Optional[AddressParameterDrumPartial] The parameter Return the parameter member by name, or None if not found

convert_from_midi(midi_value: int) int[source]

Convert from MIDI value to display value :param midi_value: int The MIDI value :return: int The display value

get_envelope_param_type()[source]

Returns a envelope_param_type, if the parameter is part of an envelope, otherwise returns None.

Returns:

Optional[str] The envelope parameter type