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
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