jdxi_editor.ui.preset.widget ============================ .. py:module:: jdxi_editor.ui.preset.widget .. autoapi-nested-parse:: Preset Widget to be used by All Editors Classes ------- .. autoapisummary:: jdxi_editor.ui.preset.widget.InstrumentPresetWidget Module Contents --------------- .. py:class:: InstrumentPresetWidget(parent: jdxi_editor.ui.editors.synth.editor.SynthEditor) Bases: :py:obj:`jdxi_editor.ui.common.QWidget` InstrumentPresetWidget .. py:attribute:: group :type: PySide6.QtWidgets.QGroupBox | None :value: None .. py:attribute:: layout :type: jdxi_editor.ui.common.QVBoxLayout | None :value: None .. py:attribute:: instrument_presets :type: jdxi_editor.ui.common.QWidget | None :value: None .. py:attribute:: widget :type: jdxi_editor.ui.common.QWidget | None :value: None .. py:attribute:: hlayout :type: PySide6.QtWidgets.QHBoxLayout | None :value: None .. py:attribute:: parent .. py:attribute:: _synth_type :type: str :value: '' .. py:attribute:: _preset_list :type: list :value: [] .. py:attribute:: instrument_selection_combo :type: Optional[jdxi_editor.ui.widgets.combo_box.searchable_filterable.SearchableFilterableComboBox] :value: None .. py:method:: _refresh_preset_list() -> None Refresh the preset combo box when SoundFont list setting changes. .. py:method:: add_image_group(group: PySide6.QtWidgets.QGroupBox) add image group .. py:method:: add_preset_group(group: PySide6.QtWidgets.QGroupBox) add groupbox for instruments .. py:method:: setup() set up the widget - creates the main vertical layout .. py:method:: create_instrument_image_group() -> tuple[PySide6.QtWidgets.QGroupBox, Any, Any] Image group .. py:method:: _add_round_action_button(icon_enum: Any, text: str, slot: Any, layout: PySide6.QtWidgets.QHBoxLayout, *, name: Optional[str] = None, checkable: bool = False) -> PySide6.QtWidgets.QPushButton Create a round button with icon + text label (same style as Transport). .. py:method:: _add_centered_round_button(icon_enum: Any, text: str, slot: Any, parent_layout: Any, name: Optional[str] = None) -> PySide6.QtWidgets.QPushButton Add a round button + label row centered in a QHBoxLayout (stretch on both sides). .. py:method:: create_instrument_preset_group(synth_type: str = 'Analog') -> PySide6.QtWidgets.QGroupBox Create the instrument preset group box with tabs for normal and cheat presets (Analog only). :param synth_type: str :return: QGroupBox .. py:method:: _add_normal_preset_content(layout: Any, synth_type: str) Add normal preset selection content to the layout. .. py:method:: _add_cheat_preset_content(layout: jdxi_editor.ui.common.QVBoxLayout) Add cheat preset content to the layout (Analog only). .. py:method:: _on_load_preset() Handle load button click for normal presets. .. py:method:: _load_cheat_preset() Load a Digital Synth preset on the Analog Synth channel (Cheat Mode). .. py:method:: setup_header_layout() -> None Top layout with title and image --- .. py:method:: add_stretch() Pad both sides by symmetry, supposedly.