jdxi_editor.ui.editors.drum.partial.tva

This module defines the DrumTVASection class, which provides a PySide6-based user interface for editing drum TVA parameters in the Roland JD-Xi synthesizer. It extends the QWidget base class and integrates MIDI communication for real-time parameter adjustments and preset management.

Key Features:

  • Provides a graphical editor for modifying drum TVA parameters, including level velocity curve, level velocity sens, env time1 velocity sens, env time4 velocity sens, env time1, env time2, env time3, env time4, env level1, env level2, env level3, and env level4.

Dependencies:

  • PySide6 (for UI components and event handling)

  • MIDIHelper (for handling MIDI communication)

  • PresetHandler (for managing synth presets)

  • Various custom enums and helper classes (AnalogParameter, AnalogCommonParameter, etc.)

Usage:

The DrumTVASection class can be instantiated as part of a larger PySide6 application. It requires a MIDIHelper instance for proper communication with the synthesizer.

Example:

midi_helper = MIDIHelper() editor = DrumTVASection(midi_helper) editor.show()

Classes

DrumTVAEnvPlot

Plot widget for drum TVA envelope visualization.

DrumTVASection

Drum TVA Section for the JDXI Editor

Module Contents

class jdxi_editor.ui.editors.drum.partial.tva.DrumTVAEnvPlot(width: int = JDXiStyle.ADSR_PLOT_WIDTH, height: int = JDXiStyle.ADSR_PLOT_HEIGHT, envelope: dict = None, parent: PySide6.QtWidgets.QWidget = None)[source]

Bases: PySide6.QtWidgets.QWidget

Plot widget for drum TVA envelope visualization.

enabled = True[source]
envelope[source]
sample_rate = 256[source]
setEnabled(enabled)[source]
set_values(envelope: dict) None[source]

Update envelope values and refresh plot.

paintEvent(event)[source]

Paint the TVA envelope plot

class jdxi_editor.ui.editors.drum.partial.tva.DrumTVASection(controls: dict[jdxi_editor.midi.data.parameter.drum.partial.DrumPartialParam, PySide6.QtWidgets.QWidget], create_parameter_combo_box: Callable, create_parameter_slider: Callable, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper)[source]

Bases: PySide6.QtWidgets.QWidget

Drum TVA Section for the JDXI Editor

envelope_changed[source]
controls[source]
_create_parameter_slider[source]
_create_parameter_combo_box[source]
midi_helper[source]
envelope[source]
setup_ui()[source]

setup UI

_create_tva_spin() PySide6.QtWidgets.QWidget[source]
_create_tva_group()[source]

TVA Group

_create_tva_plot()[source]
_update_envelope(key: str, value: int, param: jdxi_editor.midi.data.parameter.drum.partial.DrumPartialParam = None) None[source]

Update envelope value and refresh plot

Parameters:
  • key – str Envelope parameter key

  • value – int Display value from slider

  • param – AddressParameterDrumPartial Parameter object for conversion