jdxi_editor.ui.editors.analog.editor
This module defines the AnalogSynthEditor class, which provides a PySide6-based user interface for editing analog synthesizer parameters in the Roland JD-Xi synthesizer. It extends the SynthEditor base class and integrates MIDI communication for real-time parameter adjustments and preset management.
Key Features:
Provides a graphical editor for modifying analog synth parameters, including oscillator, filter, amp, LFO, and envelope settings.
Supports MIDI communication to send and receive real-time parameter changes.
Allows selection of different analog synth presets from a dropdown menu.
Displays an instrument image that updates based on the selected preset.
Includes a scrollable layout for managing a variety of parameter controls.
Implements bipolar parameter handling for proper UI representation.
Supports waveform selection with custom buttons and icons.
Provides a “Send Read Request to Synth” button to retrieve current synth settings.
Enables MIDI-triggered updates via incoming program changes and parameter adjustments.
Dependencies:
PySide6 (for UI components and event handling)
MIDIHelper (for handling MIDI communication)
PresetHandler (for managing synth presets)
Various custom enums and helper classes (Analog.Parameter, AnalogCommonParameter, etc.)
Usage:
The AnalogSynthEditor 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() preset_helper = PresetHandler() editor = AnalogSynthEditor(midi_helper, preset_helper) editor.show()
Attributes
Classes
Analog Synth Editor UI. |
Module Contents
- class jdxi_editor.ui.editors.analog.editor.AnalogSynthEditor(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, preset_helper: jdxi_editor.ui.preset.helper.JDXiPresetHelper | None = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]
Bases:
jdxi_editor.ui.editors.base.editor.BaseSynthEditorAnalog Synth Editor UI.
- _create_sections()[source]
Create the sections for the Analog Synth Editor. Each section in its own try/except so one failure does not prevent others from showing.
- _build_parameter_mappings()[source]
Populate adsr_mapping, pitch_env_mapping, pwm_mapping only when the corresponding sections exist.