drum

This module defines plot widgets for drum envelope visualization: - DrumPitchEnvPlot: Visualizes drum pitch envelope - DrumTVFEnvPlot: Visualizes drum TVF (Time Variant Filter) envelope - DrumTVAEnvPlot: Visualizes drum TVA (Time Variant Amplifier) envelope

All plots digital 5-level, 4-time-segment envelope curves with interactive visualization.

Classes

DrumPitchEnvPlot

Plot widget for drum pitch envelope visualization.

DrumTVFEnvPlot

Plot widget for drum TVF envelope visualization.

DrumTVAEnvPlot

Plot widget for drum TVA envelope visualization.

Functions

midi_to_pitch_level(→ float)

Convert MIDI value (1-127, representing -63 to +63) to pitch level (-63.0 to +63.0).

midi_to_cutoff_level(→ float)

Convert MIDI value (0-127) to cutoff frequency level (0.0 to 127.0).

midi_to_time_normalized(→ float)

Convert MIDI value (0-127) to normalized time (0.0 to max_time seconds).

Module Contents

drum.midi_to_pitch_level(midi_value: int) float[source]

Convert MIDI value (1-127, representing -63 to +63) to pitch level (-63.0 to +63.0).

drum.midi_to_cutoff_level(midi_value: int) float[source]

Convert MIDI value (0-127) to cutoff frequency level (0.0 to 127.0).

drum.midi_to_time_normalized(midi_value: int, max_time: float = 10.0) float[source]

Convert MIDI value (0-127) to normalized time (0.0 to max_time seconds).

class drum.DrumPitchEnvPlot(width: int = JDXi.UI.Style.ADSR_PLOT_WIDTH, height: int = JDXi.UI.Style.ADSR_PLOT_HEIGHT, envelope: dict = None, parent: PySide6.QtWidgets.QWidget = None)[source]

Bases: jdxi_editor.ui.widgets.plot.base.BasePlotWidget

Plot widget for drum pitch 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 pitch envelope plot

class drum.DrumTVFEnvPlot(width: int = JDXi.UI.Style.ADSR_PLOT_WIDTH, height: int = JDXi.UI.Style.ADSR_PLOT_HEIGHT, envelope: dict = None, parent: PySide6.QtWidgets.QWidget = None)[source]

Bases: jdxi_editor.ui.widgets.plot.base.BasePlotWidget

Plot widget for drum TVF 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 TVF envelope plot

class drum.DrumTVAEnvPlot(width: int = JDXi.UI.Style.ADSR_PLOT_WIDTH, height: int = JDXi.UI.Style.ADSR_PLOT_HEIGHT, envelope: dict = None, parent: PySide6.QtWidgets.QWidget = None)[source]

Bases: jdxi_editor.ui.widgets.plot.base.BasePlotWidget

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