jdxi_editor.ui.editors.digital.partial.pwm

This widget provides a user interface for controlling Pulse Width Modulation (PWM) parameters, with a graphical plot to visualize the modulation envelope. It includes controls for pulse width and modulation depth, and can communicate with MIDI devices.

Classes

PWMWidget

Base class for envelope widgets in the JD-Xi editor

Module Contents

class jdxi_editor.ui.editors.digital.partial.pwm.PWMWidget(pulse_width_param: picomidi.sysex.parameter.address.AddressParameter, mod_depth_param: picomidi.sysex.parameter.address.AddressParameter, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, controls: dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget] = None, address: jdxi_editor.midi.data.address.address.RolandSysExAddress | None = None, create_parameter_slider: Callable = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]

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

Base class for envelope widgets in the JD-Xi editor

mod_depth_changed[source]
pulse_width_changed[source]
envelope_changed[source]
plot = None[source]
address = None[source]
midi_helper = None[source]
_create_parameter_slider = None[source]
envelope[source]
pulse_width_control[source]
mod_depth_control[source]
_control_widgets[source]
layout[source]
on_envelope_changed(envelope: dict) None[source]

Handle envelope changes from controls

Parameters:

envelope – dict

Returns:

None

on_pulse_width_changed(val: int) None[source]

Handle pulse width changes from slider

Parameters:

val – int

Returns:

None

on_mod_depth_changed(val: int) None[source]

Handle modulation depth changes from slider

Parameters:

val – int

Returns:

None

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.