jdxi_editor.ui.editors.drum.partial.base

This module defines the DrumOutputSection class, which provides a PySide6-based user interface for editing drum output parameters in the Roland JD-Xi synthesizer. It extends the QWidget base class and integrates MIDI communication for real-time parameter adjustments and preset management.

Key Features:

  • Provides a graphical editor for modifying drum output parameters, including from PySide6.QtCore import Qt

from PySide6.QtWidgets import (

QFormLayout, QGroupBox, QScrollArea, QSizePolicy, QVBoxLayout, QWidget,

)

partial output level, partial chorus send level, partial reverb send level, and partial output assign.

Dependencies:

  • PySide6 (for UI components and event handling)

  • MIDIHelper (for handling MIDI communication)

  • PresetHandler (for managing synth presets)

  • Various custom enums and helper classes (AnalogParameter, AnalogCommonParameter, etc.)

Usage:

The DrumOutputSection 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() editor = DrumOutputSection(midi_helper) editor.show()

Classes

DrumBaseSection

Drum Output Section for the JDXI Editor, giving consistent UI for drum sections

Module Contents

class jdxi_editor.ui.editors.drum.partial.base.DrumBaseSection(controls: dict = None, midi_helper=None, **kwargs)[source]

Bases: jdxi_editor.ui.widgets.editor.section_base.SectionBaseWidget

Drum Output Section for the JDXI Editor, giving consistent UI for drum sections

vlayout: PySide6.QtWidgets.QVBoxLayout | None = None[source]
scrolled_layout: PySide6.QtWidgets.QVBoxLayout | None = None[source]
get_layout(margins: tuple[int, int, int, int] = None, spacing: int = None) PySide6.QtWidgets.QVBoxLayout[source]

Override to return the scrolled layout instead of a regular layout. This allows ParameterSectionBase.setup_ui() to work normally with the scrolled layout.

_setup_ui()[source]

Override to prevent ParameterSectionBase from creating a default tab widget. Drum sections implement their own setup_ui() methods with custom tab widgets.

_setup_scrolled_layout_with_icons() tuple[PySide6.QtWidgets.QVBoxLayout, PySide6.QtWidgets.QVBoxLayout][source]

Set up scrolled layout with icons row