jdxi_editor.ui.editors.base.panel
Digital Partial Editor Module
This module defines the DigitalPartialEditor class, a specialized editor for managing a single digital partial in a synthesizer. It extends the PartialEditor class, providing a structured UI to control and modify parameters related to oscillators, filters, amplifiers, and modulation sources.
- Classes:
DigitalPartialEditor: A QWidget subclass that allows users to modify digital synthesis parameters using a tabbed interface with various control sections.
- Features:
Supports editing a single partial within a digital synth part.
Provides categorized parameter sections: Oscillator, Filter, Amp, LFO, and Mod LFO.
Integrates with MIDIHelper for real-time MIDI parameter updates.
Uses icons for waveform selection, filter controls, and modulation settings.
Stores UI controls for easy access and interaction.
- Usage:
```python from PySide6.QtWidgets import QApplication from midi_helper import MIDIHelper
app = QApplication([]) midi_helper = MIDIHelper() editor = DigitalPartialEditor(midi_helper=midi_helper) editor.show() app.exec() ```
- Dependencies:
PySide6 (for UI components)
MIDIHelper (for MIDI communication)
DigitalParameter, DigitalCommonParameter (for parameter management)
WaveformButton (for waveform selection UI)
QIcons generated from waveform base64 data
Classes
Editor for a single Digital Synth partial |
Module Contents
- class jdxi_editor.ui.editors.base.panel.BasePartialPanel(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, synth_number: int = 1, partial_number: int = 1, preset_type: jdxi_editor.core.synth.type.JDXiSynth | None = None, parent: jdxi_editor.ui.common.QWidget | None = None)[source]
Bases:
jdxi_editor.ui.editors.synth.partial.PartialPanelEditor for a single Digital Synth partial
- controls: dict[jdxi_editor.midi.data.parameter.digital.partial.DigitalPartialParam | jdxi_editor.midi.data.parameter.digital.DigitalCommonParam, jdxi_editor.ui.common.QWidget][source]
- property lfo_depth_controls: dict[source]
Get a dictionary of LFO depth controls filtered from the main controls dictionary. This provides compatibility with the base class’s _update_partial_lfo_depth method.
- Returns:
dict mapping LFO depth parameters to their control widgets
- _on_waveform_selected(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalWaveOsc) None[source]
on waveform selected (harmonised Theme API)