jdxi_editor.midi.data.parameter.arpeggio

This module defines the ArpeggioParameter class, which represents arpeggiator-related parameters in a synthesizer. These parameters control various aspects of arpeggios, such as grid, duration, style, motif, octave range, accent rate, and velocity, as well as pattern, rhythm, and note settings.

The class provides methods to:

  • Initialize arpeggio parameters with a given address, range, and optional digital range.

  • Store the minimum and maximum values for digital and parameter validation.

  • Define a variety of arpeggio and pattern-related parameters with specific ranges, including: - Arpeggio grid (e.g., 4_, 8_, 16_) - Arpeggio duration (e.g., 30, 40, 50, 60) - Arpeggio style and motif - Arpeggio octave range (-3 to +3) - Accent rate and velocity - Arpeggio pattern, rhythm, and note settings

Parameters include: - Arpeggio grid, duration, switch, style, motif, octave range, accent rate, and velocity. - Pattern parameters (4 patterns, each with a range from 0 to 127). - Rhythm parameters (4 rhythm settings, each with a range from 0 to 127). - Note parameters (4 note settings, each with a range from 0 to 127).

```python Usage example:

# Initialize an arpeggio parameter object param = ArpeggioParameter(address=0x01, min_val=0, max_val=8)

# Access digital range values log.message(param.display_min) # Output: 0 log.message(param.display_max) # Output: 8

# Validate a value for the parameter valid_value = param.validate_value(5)

Classes

ArpeggioParam

Arpeggiator parameters with address and range

Module Contents

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

Bases: picomidi.sysex.parameter.address.AddressParameter

Arpeggiator parameters with address and range

display_min[source]
display_max[source]
tooltip = ''[source]
_display_name = None[source]
options = None[source]
values = None[source]
ARPEGGIO_GRID[source]
ARPEGGIO_DURATION[source]
ARPEGGIO_SWITCH[source]
ARPEGGIO_STYLE[source]
ARPEGGIO_MOTIF[source]
ARPEGGIO_OCTAVE_RANGE[source]
ARPEGGIO_ACCENT_RATE[source]
ARPEGGIO_VELOCITY[source]
PATTERN_1[source]
PATTERN_2[source]
PATTERN_3[source]
PATTERN_4[source]
RHYTHM_1[source]
RHYTHM_2[source]
RHYTHM_3[source]
RHYTHM_4[source]
NOTE_1[source]
NOTE_2[source]
NOTE_3[source]
NOTE_4[source]
property display_name: str[source]

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

classmethod get_by_name(param_name: str) ArpeggioParam | None[source]

Get the parameter by name.

get_address_for_partial(partial_number: int = 0)[source]