jdxi_editor.ui.editors.program.mixer.section

Program Mixer Widget Module

This module defines the ProgramMixerWidget class, a widget for managing mixer level controls for all synthesizer parts (Master, Digital 1/2, Drums, Analog).

Classes:
ProgramMixerWidget(SynthBase)

A widget for displaying and controlling mixer levels.

Classes

TrackSpec

Track Spec

MixerTrackSpec

Track specs for the Mixer

MixerAttrs

Mixer Attributes

ProgramMixer

Widget for managing mixer level controls.

Module Contents

class jdxi_editor.ui.editors.program.mixer.section.TrackSpec[source]

Track Spec

label: str = ''[source]
synth: str = ''[source]
icon: PySide6.QtGui.QIcon = ''[source]
param: picomidi.sysex.parameter.address.AddressParameter = None[source]
class jdxi_editor.ui.editors.program.mixer.section.MixerTrackSpec[source]

Track specs for the Mixer

master: TrackSpec = None[source]
digital1: TrackSpec = None[source]
digital2: TrackSpec = None[source]
drums: TrackSpec = None[source]
analog: TrackSpec = None[source]
class jdxi_editor.ui.editors.program.mixer.section.MixerAttrs[source]

Mixer Attributes

MASTER = 'master_level_slider'[source]
ANALOG = 'analog_level_slider'[source]
DRUMS = 'drums_level_slider'[source]
DIGITAL1 = 'digital1_level_slider'[source]
DIGITAL2 = 'digital2_level_slider'[source]
class jdxi_editor.ui.editors.program.mixer.section.ProgramMixer(midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper | None = None, parent: PySide6.QtWidgets.QWidget | None = None)[source]

Bases: jdxi_editor.ui.editors.synth.base.SynthBase

Widget for managing mixer level controls.

mixer_group: PySide6.QtWidgets.QGroupBox | None = None[source]
mixer_layout: PySide6.QtWidgets.QGridLayout | None = None[source]
label_widgets[source]
controls: dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget][source]
master_level_slider: PySide6.QtWidgets.QWidget | None = None[source]
digital1_level_slider: PySide6.QtWidgets.QWidget | None = None[source]
digital2_level_slider: PySide6.QtWidgets.QWidget | None = None[source]
drums_level_slider: PySide6.QtWidgets.QWidget | None = None[source]
analog_level_slider: PySide6.QtWidgets.QWidget | None = None[source]
master_level_address: jdxi_editor.midi.data.address.program.ProgramCommonAddress | None = None[source]
digital1_level_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None[source]
digital2_level_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None[source]
drums_level_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None[source]
analog_level_address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | None = None[source]
mixer_spec[source]
_make_track(entity: jdxi_editor.ui.editors.program.track.MixerTrackEntity, param: picomidi.sysex.parameter.address.AddressParameter, synth_type: str | None, label_text: str, icon: PySide6.QtGui.QIcon, address: jdxi_editor.midi.data.address.address.JDXiSysExAddress | jdxi_editor.midi.data.address.program.ProgramCommonAddress) jdxi_editor.ui.editors.program.track.MixerTrack[source]
_build_tracks()[source]

build tracks

build_mixer_spec() MixerTrackSpec[source]

build mixer track specs

_track_from_synth_from_spec(spec: TrackSpec) jdxi_editor.ui.editors.program.track.MixerTrack[source]

Make a track from a tack spec

_track_for_synth(synth: str, name: str, param: picomidi.sysex.parameter.address.AddressParameter)[source]

track for synth

_populate_layout() None[source]
create_mixer_widget() PySide6.QtWidgets.QGroupBox[source]

Create and return the mixer group widget with all controls.

Returns:

QGroupBox containing the mixer controls

_init_synth_data(synth_type: str = JDXiSynth.DIGITAL_SYNTH_1, partial_number: int | None = 0) None[source]

Initialize synth-specific data for slider creation.

Parameters:
  • synth_type – JDXiSynth synth type

  • partial_number – int partial number (default 0)

update_tone_name_for_synth(tone_name: str, synth_type: str) None[source]

Update tone name for synth

update_program_name(program_name: str) None[source]

Update the master level label with the current program name.

Parameters:

program_name – str program name to digital

get_controls() Dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget][source]

Get the controls dictionary for access by parent.

Returns:

Dict[AddressParameter, QWidget] controls dictionary