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.

Attributes

app

Classes

WMTEnvelopeWidget

Pitch Envelope Editor for JD-Xi

Module Contents

class envelope.WMTEnvelopeWidget(fade_lower_param: picomidi.sysex.parameter.address.AddressParameter, range_lower_param: picomidi.sysex.parameter.address.AddressParameter, depth_param: picomidi.sysex.parameter.address.AddressParameter, range_upper_param: picomidi.sysex.parameter.address.AddressParameter, fade_upper_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)[source]

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

Pitch Envelope Editor for JD-Xi

envelope_changed[source]
address = None[source]
midi_helper = None[source]
_create_parameter_slider = None[source]
controls: dict[picomidi.sysex.parameter.address.AddressParameter, jdxi_editor.ui.widgets.pitch.slider_spinbox.PitchEnvSliderSpinbox][source]
envelope[source]
_control_widgets: list[jdxi_editor.ui.widgets.pitch.slider_spinbox.PitchEnvSliderSpinbox] = [][source]
layout[source]
plot[source]
envelope_spinbox_map[source]
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]

Update plot based on current envelope values

envelope.app[source]