jdxi_editor.ui.editors.effects.common
Module: effects_editor
This module defines the EffectsEditor class, which provides a PySide6-based user interface for editing effects parameters on the Roland JD-Xi synthesizer. It extends SynthEditor and allows users to modify various effects settings, including Effect 1, Effect 2, Delay, and Reverb.
- Classes:
EffectsEditor: A QWidget subclass for managing and editing JD-Xi effect parameters.
- Dependencies:
os
logging
PySide6.QtWidgets (QWidget, QVBoxLayout, etc.)
PySide6.QtCore (Qt)
PySide6.QtGui (QPixmap)
jdxi_manager modules for MIDI and parameter handling
- Features:
Displays effects parameters with interactive controls.
Supports updating instrument images dynamically.
Sends MIDI messages to update effect settings in real-time.
Organizes effect parameters into categorized tabs.
AddressParameterEffect1.EFX1_PARAM_17, AddressParameterEffect1.EFX1_PARAM_18, AddressParameterEffect1.EFX1_PARAM_19, AddressParameterEffect1.EFX1_PARAM_20, AddressParameterEffect1.EFX1_PARAM_21, AddressParameterEffect1.EFX1_PARAM_22, AddressParameterEffect1.EFX1_PARAM_23, AddressParameterEffect1.EFX1_PARAM_24, AddressParameterEffect1.EFX1_PARAM_25, AddressParameterEffect1.EFX1_PARAM_26, AddressParameterEffect1.EFX1_PARAM_27, AddressParameterEffect1.EFX1_PARAM_28, AddressParameterEffect1.EFX1_PARAM_29, AddressParameterEffect1.EFX1_PARAM_30, AddressParameterEffect1.EFX1_PARAM_31,
AddressParameterEffect1.EFX2_PARAM_17, AddressParameterEffect1.EFX2_PARAM_18, AddressParameterEffect1.EFX2_PARAM_19, AddressParameterEffect1.EFX2_PARAM_20, AddressParameterEffect1.EFX2_PARAM_21, AddressParameterEffect1.EFX2_PARAM_22, AddressParameterEffect1.EFX2_PARAM_23, AddressParameterEffect1.EFX2_PARAM_24, AddressParameterEffect1.EFX2_PARAM_25, AddressParameterEffect1.EFX2_PARAM_26, AddressParameterEffect1.EFX2_PARAM_27, AddressParameterEffect1.EFX2_PARAM_28, AddressParameterEffect1.EFX2_PARAM_29, AddressParameterEffect1.EFX2_PARAM_30, AddressParameterEffect1.EFX2_PARAM_31,
Classes
Effects Editor Window |
Module Contents
- class jdxi_editor.ui.editors.effects.common.EffectsCommonEditor(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper, preset_helper: jdxi_editor.jdxi.preset.helper.JDXiPresetHelper = None, parent=None)[source]
Bases:
jdxi_editor.ui.editors.synth.simple.BasicEditorEffects Editor Window
- controls: Dict[jdxi_editor.midi.data.parameter.effects.effects.ReverbParam | jdxi_editor.midi.data.parameter.effects.common.AddressParameterEffectCommon | jdxi_editor.midi.data.parameter.effects.effects.Effect1Param | jdxi_editor.midi.data.parameter.effects.effects.Effect2Param, PySide6.QtWidgets.QWidget][source]
- showEvent(event: PySide6.QtGui.QShowEvent) None[source]
Override showEvent to request current settings from the instrument when the editor is shown. This ensures the sliders pick up the current settings from the instrument, similar to Digital 1, Digital 2, and Analog synth editors.
- Parameters:
event – QShowEvent
- update_flanger_rate_note_controls() None[source]
Update Flanger rate/note controls based on rate note switch.
- update_phaser_rate_note_controls() None[source]
Update Flanger rate/note controls based on rate note switch.
- _update_efx1_labels(effect_type: int)[source]
Update Effect 1 parameter labels based on selected effect type.
- Parameters:
effect_type – int
- Returns:
- _update_efx2_labels(effect_type: int)[source]
Update Effect 2 parameter labels based on selected effect type.
- Parameters:
effect_type – int
- _on_parameter_changed(param: picomidi.sysex.parameter.address.AddressParameter, value: int, address: jdxi_editor.midi.data.address.address.RolandSysExAddress = None)[source]
Handle parameter value changes from UI controls.