1sptbl["osc"] = {
2
3    files = {
4        module = "osc.c",
5        header = "osc.h",
6        example = "ex_osc.c",
7    },
8
9    func = {
10        create = "sp_osc_create",
11        destroy = "sp_osc_destroy",
12        init = "sp_osc_init",
13        compute = "sp_osc_compute",
14    },
15
16    params = {
17        mandatory = {
18            {
19                name = "tbl",
20                type = "sp_ftbl *",
21                description = "Wavetable to read from. Note: the size of this table must be a power of 2.",
22                default = "N/A"
23            },
24            {
25                name = "phase",
26                type = "SPFLOAT",
27                description ="Initial phase of waveform, expects a value 0-1",
28                default = 0
29            }
30        },
31        optional = {
32            {
33                name = "freq",
34                type = "SPFLOAT",
35                description = "Frequency (in Hz)",
36                default = 440
37            },
38            {
39                name = "amp",
40                type = "SPFLOAT",
41                description ="Amplitude (typically a value between 0 and 1).",
42                default = 0.2
43            },
44        }
45    },
46
47    modtype = "module",
48
49    description = [[ Table-lookup oscilator with linear interpolation]],
50
51    ninputs = 0,
52    noutputs = 1,
53
54    inputs = {
55        {
56            name = "dummy",
57            description = "This does nothing."
58        },
59    },
60
61    outputs = {
62        {
63            name = "out",
64            description = "Signal output."
65        },
66    }
67
68}
69