jdxi_editor.midi.data.parameter.program.zone

Defines the ProgramZoneParameter 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

ProgramZoneParam

Program Common parameters

Module Contents

class jdxi_editor.midi.data.parameter.program.zone.ProgramZoneParam(address: int, min_val: int | None = None, max_val: int | None = None, display_min: int | None = None, display_max: int | None = None, partial_number: int | None = 0, 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]
partial_number = 0[source]
_display_name = None[source]
options = None[source]
values = None[source]
ARPEGGIO_SWITCH[source]
ZONAL_OCTAVE_SHIFT[source]
classmethod __iter__()[source]

Iterate over zone parameters for parser.

property display_name: str[source]

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

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

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

Returns:

Tuple[int, int] The digital value range

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 parameter area and address

property is_switch: bool[source]

Returns True if parameter is address binary/enum switch

Returns:

bool True if parameter is address binary/enum switch

get_switch_text(value: int) str[source]

Get digital text for switch values

Parameters:

value – int The value

Returns:

str The digital text

validate_value(value: int) int[source]

Validate and convert parameter value

Parameters:

value – int The value

Returns:

int The validated value

set_partial_number(partial_number: int) int | None[source]

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

Parameters:

partial_number – int The partial number

Returns:

Optional[int] The partial number

get_partial_number() int | None[source]

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

Returns:

Optional[int] The partial number

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

Get the Parameter by name.

Parameters:

param_name – str The parameter name

Returns:

Optional[object] The parameter

Return the parameter member by name, or None if not found