Source code for rv.modules.base.vibrato

# -- DO NOT EDIT THIS FILE DIRECTLY --
"""
Base class for Vibrato
This file was auto-generated by genrv.
"""
from enum import IntEnum

from rv.controller import Controller, DependentRange, WarnOnlyRange


class BaseVibrato:
    name = "Vibrato"
    mtype = "Vibrato"
    mgroup = "Effect"
    flags = 1105

    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

    volume = Controller((0, 256), 256)
    amplitude = Controller((0, 256), 16)
    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, 2048),
                FrequencyUnit.line: WarnOnlyRange(1, 2048),
                FrequencyUnit.line_2: WarnOnlyRange(1, 2048),
                FrequencyUnit.line_3: WarnOnlyRange(1, 2048),
            },
            WarnOnlyRange(1, 2048),
        ),
        256,
    )
    channels = Controller(Channels, Channels.stereo)
    set_phase = Controller((0, 256), 0)
    frequency_unit = Controller(FrequencyUnit, FrequencyUnit.hz_64)
    exponential_amplitude = Controller(bool, False)