jdxi_editor.ui.widgets.pitch.envelope

ADSR Widget for Roland JD-Xi

This widget provides address visual interface for editing ADSR (Attack, Decay, Sustain, Release) envelope parameters. It includes: - Interactive sliders for each ADSR parameter - Visual envelope plot - Real-time parameter updates - MIDI parameter integration via SynthParameter objects

The widget supports both analog and digital synth parameters and provides visual feedback through an animated envelope curve.

Classes

EnvelopeControlSpec

PitchEnvWidget

Pitch Envelope Class

Module Contents

class jdxi_editor.ui.widgets.pitch.envelope.EnvelopeControlSpec[source]
param: picomidi.sysex.parameter.address.AddressParameter[source]
env_param: str[source]
min_value: int[source]
max_value: int[source]
label: str[source]
units: str = ''[source]
enabled: bool = True[source]
class jdxi_editor.ui.widgets.pitch.envelope.PitchEnvWidget(attack_param: picomidi.sysex.parameter.address.AddressParameter, decay_param: picomidi.sysex.parameter.address.AddressParameter, depth_param: picomidi.sysex.parameter.address.AddressParameter, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, create_parameter_slider: Callable = None, controls: dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget] = None, address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None, parent: PySide6.QtWidgets.QWidget | None = None, analog: bool = False)[source]

Bases: jdxi_editor.ui.widgets.envelope.base.EnvelopeWidgetBase

Pitch Envelope Class

envelope_changed[source]
controls[source]
_create_parameter_slider = None[source]
envelope[source]
_control_widgets = [][source]
layout[source]
plot[source]
_create_control_layout(specs: list[EnvelopeControlSpec]) PySide6.QtWidgets.QGridLayout[source]

Create Control Layout

update_envelope_from_controls()[source]

Update envelope values from slider controls.

Returns:

update_controls_from_envelope()[source]

Update slider controls from envelope values.

Returns:

None

refresh_plot_from_controls()[source]