jdxi_editor.midi.data.parameter.program.common

Defines the ProgramCommonParameter class for managing common program-level parameters in the JD-Xi synthesizer.

This class provides attributes and methods for handling program-wide settings, such as program name, level, tempo, and vocal effects. It also includes methods for retrieving digital values, validating parameter values, and handling partial-specific addressing.

Example usage:

# Create an instance for Program Level program_level = ProgramCommonParameter(*ProgramCommonParameter.PROGRAM_LEVEL)

# Validate a value within range validated_value = program_level.validate_value(100)

# Get the digital name of a parameter display_name = program_level.display_name # “Program Level”

# Get digital value range display_range = program_level.get_display_value() # (0, 127)

# Retrieve a parameter by name param = ProgramCommonParameter.get_by_name(“PROGRAM_TEMPO”) if param:

print(param.name, param.min_val, param.max_val)

# Get switch text representation switch_text = program_level.get_switch_text(1) # “ON” or “—”

Classes

SystemCommonParam

Program Common parameters

ProgramCommonParam

Program Common parameters

Module Contents

class jdxi_editor.midi.data.parameter.program.common.SystemCommonParam(address: int, min_val: int | None = None, max_val: int | None = None, display_min: int | None = None, display_max: int | None = None, tooltip: str | None = None, display_name: str | None = None, options: list | None = None, values: list | None = None)[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Program Common parameters

display_min[source]
display_max[source]
tooltip[source]
_display_name = None[source]
options = None[source]
values = None[source]
MASTER_TUNE[source]
MASTER_KEY_SHIFT[source]
MASTER_LEVEL[source]
get_display_value() Tuple[int, int][source]

Get the digital value range (min, max) for the parameter

property display_name: str[source]

Get digital name for the parameter (from ParameterSpec or fallback).

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

Get parameter area and address adjusted for partial number.

Parameters:

partial_number – int The partial number

Returns:

Tuple[int, int] The address

property is_switch: bool[source]

Returns True if parameter is address binary/enum switch

get_switch_text(value: int) str[source]

Get digital text for switch values :param value: int The value :return: str The digital text

validate_value(value: int) int[source]

Validate and convert parameter value :param value: int The value :return: int The validated value

get_partial_number() int | None[source]

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

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

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

class jdxi_editor.midi.data.parameter.program.common.ProgramCommonParam(address: int, min_val: int | None = None, max_val: int | None = None, display_min: int | None = None, display_max: int | None = None, tooltip: str | None = None, display_name: str | None = None)[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Program Common parameters

display_min[source]
display_max[source]
tooltip[source]
_display_name = None[source]
TONE_NAME_1[source]
TONE_NAME_2[source]
TONE_NAME_3[source]
TONE_NAME_4[source]
TONE_NAME_5[source]
TONE_NAME_6[source]
TONE_NAME_7[source]
TONE_NAME_8[source]
TONE_NAME_9[source]
TONE_NAME_10[source]
TONE_NAME_11[source]
TONE_NAME_12[source]
PROGRAM_LEVEL[source]
PROGRAM_TEMPO[source]
VOCAL_EFFECT[source]
VOCAL_EFFECT_NUMBER[source]
VOCAL_EFFECT_PART[source]
AUTO_NOTE_SWITCH[source]
get_display_value() Tuple[int, int][source]

Get the digital value range (min, max) for the parameter

property display_name: str[source]

Get digital name for the parameter (from ParameterSpec or fallback).

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

Get parameter area and address adjusted for partial number.

Parameters:

partial_number – int The partial number

Returns:

Tuple[int, int] The address

property is_switch: bool[source]

Returns True if parameter is address binary/enum switch

get_switch_text(value: int) str[source]

Get digital text for switch values :param value: int The value :return: str The digital text

validate_value(value: int) int[source]

Validate and convert parameter value :param value: int The value :return: int The validated value

get_partial_number() int | None[source]

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

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

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