jdxi_editor.midi.data.parameter.digital

Submodules

Classes

DigitalCommonParam

Common parameters for Digital/SuperNATURAL synth tones.

DigitalModifyParam

Modify parameters for Digital/SuperNATURAL synth tones.

DigitalPartialParam

Digital synth parameters with their addresses and value ranges

Package Contents

class jdxi_editor.midi.data.parameter.digital.DigitalCommonParam(address: int, min_val: int, max_val: int, display_min: int | None = None, display_max: int | None = None, description: str | None = None, display_name: str | None = None, options: list | None = None, values: list | None = None)[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Common parameters for Digital/SuperNATURAL synth tones. These parameters are shared across all partials.

address
min_val
max_val
tooltip
display_min
display_max
_display_name = None
options = None
values = None
get_tooltip() str[source]

Return tooltip string for UI. Base may return options list; we always return self.tooltip.

TONE_NAME_1
TONE_NAME_2
TONE_NAME_3
TONE_NAME_4
TONE_NAME_5
TONE_NAME_6
TONE_NAME_7
TONE_NAME_8
TONE_NAME_9
TONE_NAME_10
TONE_NAME_11
TONE_NAME_12
TONE_LEVEL
PORTAMENTO_SWITCH
PORTAMENTO_TIME
MONO_SWITCH
OCTAVE_SHIFT
PITCH_BEND_UP
PITCH_BEND_DOWN
PARTIAL1_SWITCH
PARTIAL1_SELECT
PARTIAL2_SWITCH
PARTIAL2_SELECT
PARTIAL3_SWITCH
PARTIAL3_SELECT
RING_SWITCH
UNISON_SWITCH
PORTAMENTO_MODE
LEGATO_SWITCH
ANALOG_FEEL
WAVE_SHAPE
TONE_CATEGORY
UNISON_SIZE
property display_name: str

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

property is_switch: bool

Returns True if parameter is address binary/enum switch

get_switch_text(value: int) str[source]

Get digital text for switch values

validate_value(value: int) int[source]

Validate and convert parameter 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)[source]

Get the Parameter by name.

get_address_for_partial(partial_number: int = 0)[source]
class jdxi_editor.midi.data.parameter.digital.DigitalModifyParam(address: int, min_val: int, max_val: int, display_min: int = None, display_max: int = None, description: str = None, display_name: str = None, options: list | None = None, values: list | None = None)[source]

Bases: picomidi.sysex.parameter.address.AddressParameter

Modify parameters for Digital/SuperNATURAL synth tones. These parameters are shared across all partials.

address
min_val
max_val
tooltip
display_min
display_max
_display_name = None
options = None
values = None
ATTACK_TIME_INTERVAL_SENS
RELEASE_TIME_INTERVAL_SENS
PORTAMENTO_TIME_INTERVAL_SENS
ENVELOPE_LOOP_MODE
ENVELOPE_LOOP_SYNC_NOTE
CHROMATIC_PORTAMENTO
property display_name: str

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

get_switch_text(value: int) str[source]

Get digital text for switch values

static get_by_name(param_name)[source]

Get the Parameter by name.

validate_value(value: int) int[source]

Validate and convert parameter value

get_address_for_partial(partial_number: int = 0)[source]
class jdxi_editor.midi.data.parameter.digital.DigitalPartialParam(address: int, min_val: int, max_val: int, 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

Digital synth parameters with their addresses and value ranges

display_min
display_max
tooltip
_display_name = None
options = None
values = None
bipolar_parameters = ['OSC_PITCH', 'OSC_DETUNE', 'OSC_PITCH_ENV_DEPTH', 'FILTER_CUTOFF_KEYFOLLOW',...
CONVERSION_OFFSETS
get_display_value() Tuple[int, int][source]

Get the digital range for the parameter

OSC_WAVEFORM
OSC_WAVE_VARIATION
OSC_PITCH_COARSE
OSC_PITCH_FINE
OSC_PULSE_WIDTH_MOD_DEPTH
OSC_PULSE_WIDTH
OSC_PITCH_ENV_ATTACK_TIME
OSC_PITCH_ENV_DECAY_TIME
OSC_PITCH_ENV_DEPTH
FILTER_MODE_SWITCH
FILTER_SLOPE
FILTER_CUTOFF
FILTER_CUTOFF_KEYFOLLOW
FILTER_ENV_VELOCITY_SENSITIVITY
FILTER_RESONANCE
FILTER_ENV_ATTACK_TIME
FILTER_ENV_DECAY_TIME
FILTER_ENV_SUSTAIN_LEVEL
FILTER_ENV_RELEASE_TIME
FILTER_ENV_DEPTH
AMP_LEVEL
AMP_VELOCITY
AMP_ENV_ATTACK_TIME
AMP_ENV_DECAY_TIME
AMP_ENV_SUSTAIN_LEVEL
AMP_ENV_RELEASE_TIME
AMP_PAN
AMP_LEVEL_KEYFOLLOW
LFO_SHAPE
LFO_RATE
LFO_TEMPO_SYNC_SWITCH
LFO_TEMPO_SYNC_NOTE
LFO_FADE_TIME
LFO_KEY_TRIGGER
LFO_PITCH_DEPTH
LFO_FILTER_DEPTH
LFO_AMP_DEPTH
LFO_PAN_DEPTH
MOD_LFO_SHAPE
MOD_LFO_RATE
MOD_LFO_TEMPO_SYNC_SWITCH
MOD_LFO_TEMPO_SYNC_NOTE
OSC_PULSE_WIDTH_SHIFT
MOD_LFO_PITCH_DEPTH
MOD_LFO_FILTER_DEPTH
MOD_LFO_AMP_DEPTH
MOD_LFO_PAN
MOD_LFO_RATE_CTRL
CUTOFF_AFTERTOUCH
LEVEL_AFTERTOUCH
HPF_CUTOFF
SUPER_SAW_DETUNE
PCM_WAVE_GAIN
PCM_WAVE_NUMBER
property display_name: str

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

get_switch_text(value: int) str[source]

Get digital text for switch values

validate_value(value: int) int[source]

Validate and convert parameter value to MIDI range (0-127).

get_address_for_partial(partial_number: int) 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 (group, address) tuple

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

Get the DigitalParameter by name.

Parameters:

param_name – str The parameter name

Returns:

Optional[AddressParameterDigitalPartial] The parameter

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

convert_value(value: int, reverse: bool = False) int[source]

Converts value in both directions based on CONVERSION_OFFSETS

Parameters:
  • value – int The value

  • reverse – bool The reverse flag

Returns:

int The converted value

convert_to_midi(slider_value: int) int[source]

Convert from digital value to MIDI value

Parameters:

slider_value – int The digital value

Returns:

int The MIDI value

convert_from_midi(midi_value: int) int[source]

Convert from MIDI value to digital value

Parameters:

midi_value – int The MIDI value

Returns:

int The digital 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