jdxi_editor.ui.editors.helpers.preset

preset retrieval

Example: >>> get_preset_parameter_value(parameter=”msb”, id=”001”) 95 >>> get_preset_parameter_value(parameter=”lsb”, id=”010”) 64

Functions

preset_to_jdxi_bank_pc(→ Tuple[int, int, int])

Convert preset (msb, lsb, pc) to JD-Xi bank select + program change format.

get_preset_list_number_by_name(→ Optional[int])

Retrieve a program's number (without bank letter) by its name using regex search

get_preset_parameter_value(→ Union[Optional[int], Any])

Retrieve a specific parameter value from a preset by its ID.

Module Contents

jdxi_editor.ui.editors.helpers.preset.preset_to_jdxi_bank_pc(msb: int, lsb: int, pc: int) Tuple[int, int, int][source]

Convert preset (msb, lsb, pc) to JD-Xi bank select + program change format.

The JD-Xi uses LSB 64 for presets 1-128 and LSB 65 for presets 129-256. MIDI Program Change is 0-127, so presets 129+ must use the second bank.

Parameters:
  • msb – Bank MSB from preset (e.g. 95 for Digital Synth)

  • lsb – Bank LSB from preset (typically 64 in preset data)

  • pc – Preset number 1-based (1-256 for Digital Synth)

Returns:

(msb, lsb, midi_pc) where midi_pc is 0-127

jdxi_editor.ui.editors.helpers.preset.get_preset_list_number_by_name(preset_name: str, preset_list: List[Dict[str, str]]) int | None[source]

Retrieve a program’s number (without bank letter) by its name using regex search

Parameters:
  • preset_name – str

  • preset_list – list

Returns:

int preset id

jdxi_editor.ui.editors.helpers.preset.get_preset_parameter_value(parameter: str, id: str | int, preset_list: list = None) int | None | Any[source]

Retrieve a specific parameter value from a preset by its ID.

Parameters:
  • parameter – Name of the parameter to retrieve.

  • id – Preset ID (e.g., “001” or integer 1).

  • preset_list – List of preset dictionaries or dictionary format (PROGRAM_CHANGE).

Returns:

The parameter value, or None if not found.