jdxi_editor.midi.data.parameter.drum.partial

Module for defining drum kit parameters in the Roland JD-Xi editor.

This module provides the DrumPartialParameter class, which extends SynthParameter to define the addresses, value ranges, and characteristics of drum partial parameters. It includes various attributes representing different drum-related parameters, such as tuning, level, panning, and effects settings.

Classes:
DrumPartialParameter – Represents a drum partial parameter with its address,

value range, and optional display range.

DRUM_GROUP_MAP -- Mapping of drum groups.
DRUM_ADDRESS_MAP -- Mapping of parameter names to MIDI addresses.
Example usage:

drum_param = DrumPartialParameter(0x0F, 0, 127) print(drum_param.address) # Output: 0x0F print(drum_param.min_val) # Output: 0 print(drum_param.max_val) # Output: 127

Classes

DrumPartialParam

Drum kit parameters with their addresses and value ranges

Module Contents

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