Source code for rv.modules.base.filter

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

from rv.controller import Controller


class BaseFilter:
    name = "Filter"
    mtype = "Filter"
    mgroup = "Effect"
    flags = 1105

    class Type(IntEnum):
        lp = 0
        hp = 1
        bp = 2
        notch = 3

    class Mode(IntEnum):
        hq = 0
        hq_mono = 1
        lq = 2
        lq_mono = 3

    class RollOff(IntEnum):
        db_12 = 0
        db_24 = 1
        db_36 = 2
        db_48 = 3

    class LfoFreqUnit(IntEnum):
        hz_0_02 = 0
        ms = 1
        hz = 2
        tick = 3
        line = 4
        line_2 = 5
        line_3 = 6

    class LfoWaveform(IntEnum):
        sin = 0
        saw = 1
        saw2 = 2
        square = 3
        random = 4

    volume = Controller((0, 256), 256)
    freq = Controller((0, 14000), 14000)
    resonance = Controller((0, 1530), 0)
    type = Controller(Type, Type.lp)
    response = Controller((0, 256), 8)
    mode = Controller(Mode, Mode.hq)
    impulse = Controller((0, 14000), 0)
    mix = Controller((0, 256), 256)
    lfo_freq = Controller((0, 1024), 8)
    lfo_amp = Controller((0, 256), 0)
    set_lfo_phase = Controller((0, 256), 0)
    exponential_freq = Controller(bool, False)
    roll_off = Controller(RollOff, RollOff.db_12)
    lfo_freq_unit = Controller(LfoFreqUnit, LfoFreqUnit.hz_0_02)
    lfo_waveform = Controller(LfoWaveform, LfoWaveform.sin)