adsr.adsr

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

ADSR

ADSR Widget for Roland JD-Xi

Module Contents

class adsr.adsr.ADSR(attack_param: picomidi.sysex.parameter.address.AddressParameter, decay_param: picomidi.sysex.parameter.address.AddressParameter, sustain_param: picomidi.sysex.parameter.address.AddressParameter, release_param: picomidi.sysex.parameter.address.AddressParameter, initial_param: picomidi.sysex.parameter.address.AddressParameter | None = None, peak_param: picomidi.sysex.parameter.address.AddressParameter | None = None, create_parameter_slider: Callable = None, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, address: jdxi_editor.midi.data.address.address.RolandSysExAddress | None = None, controls: Dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget] = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]

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

ADSR Widget for Roland JD-Xi

envelope_changed[source]
sysex_composer[source]

Initialize the ADSR widget

Parameters:
  • attack_param – AddressParameter

  • decay_param – AddressParameter

  • sustain_param – AddressParameter

  • release_param – AddressParameter

  • initial_param – Optional[AddressParameter]

  • peak_param – Optional[AddressParameter]

  • midi_helper – Optional[MidiIOHelper]

  • address – Optional[RolandSysExAddress]

  • parent – Optional[QWidget]

address = None[source]
midi_helper = None[source]
_create_parameter_slider = None[source]
envelope[source]
attack_control[source]
decay_control[source]
sustain_control[source]
release_control[source]
_control_widgets[source]
attack_parameter[source]
decay_parameter[source]
sustain_parameter[source]
release_parameter[source]
_control_parameters[source]
layout[source]
envelope_spinbox_map[source]
plot[source]
on_control_changed(change: dict)[source]
update_envelope_from_spinboxes()[source]

Update envelope values from spin boxes

update_spinboxes_from_envelope()[source]

Update spinboxes from envelope values