jdxi_editor.ui.editors.base.lfo
Submodules
Classes
Base class for protocol classes. |
|
LFO Groups |
|
Slider Group |
|
LFO Switch Group |
|
Abstract base class for LFO sections. All LFOs (Analog, Digital, Mod) use _create_shape_row() for exclusive wave shape selection. |
Package Contents
- class jdxi_editor.ui.editors.base.lfo.LFOBehavior[source]
Bases:
ProtocolBase class for protocol classes.
Protocol classes are defined as:
class Proto(Protocol): def meth(self) -> int: ...
Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing), for example:
class C: def meth(self) -> int: return 0 def func(x: Proto) -> int: return x.meth() func(C()) # Passes static type check
See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:
class GenProto(Protocol[T]): def meth(self) -> T: ...
- class jdxi_editor.ui.editors.base.lfo.LFOGroup[source]
LFO Groups
- slider: LFOSliderGroup
- switch: LFOSwitchGroup
- class jdxi_editor.ui.editors.base.lfo.BaseLFOSection(icons_row_type: str = IconType.ADSR, analog: bool = False, send_midi_parameter: Callable = None, address: jdxi_editor.midi.data.address.address.JDXiSysExAddress = None, midi_helper: jdxi_editor.midi.io.helper.MidiIOHelper = None)[source]
Bases:
jdxi_editor.ui.widgets.editor.section_base.SectionBaseWidgetAbstract base class for LFO sections. All LFOs (Analog, Digital, Mod) use _create_shape_row() for exclusive wave shape selection.
- SKIP_BASE_SETUP_UI = True
- SYNTH_SPEC: jdxi_editor.midi.data.parameter.digital.spec.JDXiMidiDigital | jdxi_editor.midi.data.parameter.analog.spec.JDXiMidiAnalog = None
- widgets: jdxi_editor.ui.editors.base.lfo.widgets.LFOWidgets | None = None
- send_midi_parameter: Callable | None = None
Send MIDI parameter with error handling
- Parameters:
address – RolandSysExAddress
param – AddressParameter the parameter to send
value – int value to send
- Returns:
bool True on success, False otherwise
- wave_shapes
- build_widgets()[source]
Build LFO widgets (switches, depth, rate). Shape row is created in _setup_ui() via _create_shape_row(), not _create_waveform_buttons().
- _build_widgets() jdxi_editor.ui.editors.base.lfo.widgets.LFOWidgets[source]
Create widgets from SLIDER_GROUPS[‘controls’] (sliders, switches, combos).