jdxi_editor.ui.editors.io.preset
PresetEditor Module
This module defines the ProgramEditor class, a PySide6-based GUI for managing and selecting MIDI programs.
It allows users to browse, filter, and load programs based on bank, genre, and program number.
The class also facilitates MIDI integration by sending Program Change (PC) and Bank Select (CC#0, CC#32) messages.
Key Features: - Graphical UI for selecting and managing MIDI programs. - Filtering options based on bank and genre. - MIDI integration for program selection and loading. - Image display for program categories. - Program list population based on predefined program data.
- Classes:
- ProgramEditor(QMainWindow)
A main window class for handling MIDI program selection and management.
- Signals:
- program_changed (int, str, int)
Emitted when a program selection changes. Parameters: - MIDI channel (int) - Preset name (str) - Program number (int)
Dependencies: - PySide6.QtWidgets - PySide6.QtCore - MIDIHelper for MIDI message handling - PresetHandler for managing program presets - JDXiProgramList.PROGRAM_LIST for predefined program data
Classes
Program Editor Window |
Module Contents
- class jdxi_editor.ui.editors.io.preset.PresetEditor(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, parent: PySide6.QtWidgets.QWidget | None = None, preset_helper: jdxi_editor.jdxi.preset.helper.JDXiPresetHelper = None)[source]
Bases:
jdxi_editor.ui.editors.synth.simple.BasicEditorProgram Editor Window
- _create_preset_selection_group() PySide6.QtWidgets.QGroupBox[source]
create_preset_selection_group
- Returns:
QGroupBox
- update_tone_name_for_synth(tone_name: str, synth_type: str) None[source]
Update the tone name.
- Parameters:
tone_name – str
synth_type – str
- load_preset_by_program_change(preset_index: int) None[source]
Load a preset by program change.
- Parameters:
preset_index – int
- _populate_presets(search_text: str = '')[source]
Populate the program list with available presets.
- Parameters:
search_text – str
- update_current_synths(program_details: dict) None[source]
Update the current synth label. :param program_details: dict