jdxi_editor.ui.editors.digital.partial.oscillator

Digital Oscillator Section for the JDXI Editor

Classes

DigitalOscillatorSection

Digital Oscillator Section for the JDXI Editor

Module Contents

class jdxi_editor.ui.editors.digital.partial.oscillator.DigitalOscillatorSection(create_parameter_slider: Callable, create_parameter_switch: Callable, create_parameter_combo_box: Callable, send_midi_parameter: Callable, partial_number: int, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper, controls: dict[picomidi.sysex.parameter.address.AddressParameter, PySide6.QtWidgets.QWidget], address: jdxi_editor.midi.data.address.address.RolandSysExAddress)[source]

Bases: PySide6.QtWidgets.QWidget

Digital Oscillator Section for the JDXI Editor

pwm_widget = None[source]
partial_number[source]
midi_helper[source]
controls[source]
_create_parameter_slider[source]
_create_parameter_switch[source]
_create_parameter_combo_box[source]
send_midi_parameter[source]
address[source]
setup_ui()[source]

Setup the oscillator section UI.

create_waveform_buttons() PySide6.QtWidgets.QHBoxLayout[source]

Create waveform buttons layout

_create_tuning_pitch_widget() PySide6.QtWidgets.QWidget[source]

Create tuning and pitch widget combining Tuning and Pitch Envelope

_create_tuning_group() PySide6.QtWidgets.QGroupBox[source]

Create tuning group

_create_pitch_env_group() PySide6.QtWidgets.QGroupBox[source]

Create pitch envelope group

_create_pw_group() PySide6.QtWidgets.QGroupBox[source]

Create pulse width group

_create_pcm_group() PySide6.QtWidgets.QGroupBox[source]

Create PCM wave group

_on_waveform_selected(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]

Handle waveform button clicks

_update_waveform_controls_enabled_states(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]

_update_waveform_controls_states

Parameters:

waveform – DigitalOscWave

Returns:

None

Update control visibility and enabled state based on the selected waveform.

update_waves()[source]

Update PCM waves based on selected category

_update_pw_controls_enabled_state(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]

Update pulse width controls enabled state based on waveform

_update_pcm_controls_enabled_state(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]

Update PCM wave controls visibility based on waveform

_update_supersaw_controls_enabled_state(waveform: jdxi_editor.midi.data.digital.oscillator.DigitalOscWave)[source]

Update supersaw controls visibility based on waveform