"""
MIDI Waveform Types
==================
This module defines the `Waveform` enum, which represents the different waveform types available on the JD-Xi.
Constants:
- OSC_WAVE_SAW: Sawtooth waveform
- OSC_WAVE_SQUARE: Square waveform
- OSC_WAVE_TRIANGLE: Triangle waveform
- OSC_WAVE_SINE: Sine waveform
- OSC_WAVE_NOISE: Noise waveform
- OSC_WAVE_SUPER_SAW: Super saw waveform
- OSC_WAVE_PCM: PCM waveform
Usage Example:
>>> waveform = Waveform.SAW
>>> waveform.midi_value
0x00
>>> Waveform.from_midi_value(0x00)
Waveform.SAW
"""
from enum import Enum, auto
[docs]
OSC_WAVE_SAW = 0x00 # Sawtooth
[docs]
OSC_WAVE_SQUARE = 0x01 # Square
[docs]
OSC_WAVE_TRIANGLE = 0x02 # Triangle
[docs]
OSC_WAVE_SINE = 0x03 # Sine
[docs]
OSC_WAVE_NOISE = 0x04 # Noise
[docs]
OSC_WAVE_SUPER_SAW = 0x05 # Super saw
[docs]
OSC_WAVE_PCM = 0x06 # PCM waveform