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

PitchEnvelopeWidget

Pitch Envelope Class

Module Contents

class pitch.envelope.PitchEnvelopeWidget(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.RolandSysExAddress | None = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]

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

Pitch Envelope Class

envelope_changed[source]
address = None[source]
midi_helper = None[source]
_create_parameter_slider = None[source]
envelope[source]
attack_control[source]
decay_control[source]
depth_control[source]
_control_widgets[source]
envelope_spinbox_map[source]
plot[source]
layout[source]
on_control_changed(change: dict) None[source]

Control Change callback

Parameters:

change – dict envelope

Returns:

None

Emits:

dict pitch envelope parameters

update_envelope_from_spinboxes()[source]

Update envelope values from spinboxes :emits: dict pitch envelope parameters

update_spinboxes_from_envelope()[source]

Update spinboxes from envelope values :emits: dict pitch envelope parameters

update_envelope_from_slider(slider: PySide6.QtWidgets.QSlider) None[source]

Update envelope with value from a single slider

update_envelope_from_controls() None[source]

Update envelope values from slider controls

update_controls_from_envelope() None[source]

Update slider controls from envelope values.