# -- DO NOT EDIT THIS FILE DIRECTLY --
"""
Base class for Lfo
This file was auto-generated by genrv.
"""
from enum import IntEnum
from rv.controller import Controller, DependentRange, WarnOnlyRange
class BaseLfo:
name = "Lfo"
mtype = "LFO"
mgroup = "Effect"
flags = 1105
class Type(IntEnum):
amplitude = 0
panning = 1
class Waveform(IntEnum):
sin = 0
square = 1
sin2 = 2
saw = 3
saw2 = 4
random = 5
triangle = 6
random_interpolated = 7
class Channels(IntEnum):
stereo = 0
mono = 1
class FrequencyUnit(IntEnum):
hz_64 = 0
ms = 1
hz = 2
tick = 3
line = 4
line_2 = 5
line_3 = 6
class SmoothTransitions(IntEnum):
off = 0
waveform = 1
volume = Controller((0, 512), 256)
type = Controller(Type, Type.amplitude)
amplitude = Controller((0, 256), 256)
freq = Controller(
DependentRange(
"frequency_unit",
{
FrequencyUnit.hz_64: WarnOnlyRange(1, 2048),
FrequencyUnit.ms: WarnOnlyRange(1, 4000),
FrequencyUnit.hz: WarnOnlyRange(1, 16384),
FrequencyUnit.tick: WarnOnlyRange(1, 256),
FrequencyUnit.line: WarnOnlyRange(1, 256),
FrequencyUnit.line_2: WarnOnlyRange(1, 256),
FrequencyUnit.line_3: WarnOnlyRange(1, 256),
},
WarnOnlyRange(1, 2048),
),
256,
)
waveform = Controller(Waveform, Waveform.sin)
set_phase = Controller((0, 256), 0)
channels = Controller(Channels, Channels.stereo)
frequency_unit = Controller(FrequencyUnit, FrequencyUnit.hz_64)
duty_cycle = Controller((0, 256), 128)
generator = Controller(bool, False)
freq_scale_pct = Controller((0, 200), 100)
smooth_transitions = Controller(SmoothTransitions, SmoothTransitions.waveform)