jdxi_editor.ui.editors.base.lfo.section

LFO section of the digital partial editor.

Classes

BaseLFOSection

Abstract base class for LFO sections. All LFOs (Analog, Digital, Mod) use _create_shape_row() for exclusive wave shape selection.

Module Contents

class jdxi_editor.ui.editors.base.lfo.section.BaseLFOSection(icons_row_type: str = IconType.ADSR, analog: bool = False, send_midi_parameter: Callable = None, address: jdxi_editor.midi.data.address.address.JDXiSysExAddress = None, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper = None)[source]

Bases: jdxi_editor.ui.widgets.editor.section_base.SectionBaseWidget

Abstract base class for LFO sections. All LFOs (Analog, Digital, Mod) use _create_shape_row() for exclusive wave shape selection.

SKIP_BASE_SETUP_UI = True[source]
SYNTH_SPEC: jdxi_editor.midi.data.parameter.digital.spec.JDXiMidiDigital | jdxi_editor.midi.data.parameter.analog.spec.JDXiMidiAnalog = None[source]
rate_tab_label: str = 'Rate'[source]
depths_tab_label: str = 'Depths'[source]
widgets: jdxi_editor.ui.editors.base.lfo.widgets.LFOWidgets | None = None[source]
wave_shape_param: list | None = None[source]
send_midi_parameter: Callable | None = None[source]

Send MIDI parameter with error handling

Parameters:
  • address – RolandSysExAddress

  • param – AddressParameter the parameter to send

  • value – int value to send

Returns:

bool True on success, False otherwise

wave_shapes[source]
lfo_shape_buttons: dict[int, PySide6.QtWidgets.QPushButton][source]
generate_mode_button_specs() list[source]

generate_mode_button_specs, was generate_wave_shapes

_setup_ui()[source]

Main construction pipeline

build_widgets()[source]

Build LFO widgets (switches, depth, rate). Shape row is created in _setup_ui() via _create_shape_row(), not _create_waveform_buttons().

_build_widgets() jdxi_editor.ui.editors.base.lfo.widgets.LFOWidgets[source]

Create widgets from SLIDER_GROUPS[‘controls’] (sliders, switches, combos).

_build_analog_layout(layout)[source]
_build_digital_layout(layout)[source]
_build_layout_spec()[source]

Build layout spec