jdxi_editor.ui.editors.digital.partial.editor
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 address single partial |
Module Contents
- class jdxi_editor.ui.editors.digital.partial.editor.DigitalPartialEditor(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, synth_number: int = 1, partial_number: int = 1, preset_type: jdxi_editor.jdxi.synth.type.JDXiSynth = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]
Bases:
jdxi_editor.ui.editors.synth.partial.PartialEditorEditor for address single partial
- filter_mode_switch = None[source]
Initialize the DigitalPartialEditor
- Parameters:
midi_helper – MidiIOHelper
synth_number – int
partial_number – int
preset_type – JDXiSynth
parent – QWidget
- controls: Dict[jdxi_editor.midi.data.parameter.digital.partial.DigitalPartialParam | jdxi_editor.midi.data.parameter.digital.DigitalCommonParam, PySide6.QtWidgets.QWidget][source]
- update_filter_controls_state(mode: int)[source]
Update filter controls enabled state based on mode
- Parameters:
mode – int
- _on_waveform_selected(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]
Handle waveform button clicks
- Parameters:
waveform – DigitalOscWave