1 /* Mixer + Trigger
2  *
3  * Copyright (C) 2013 Robin Gareus <robin@gareus.org>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2, or (at your option)
8  * any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef MIXTRI_H
20 #define MIXTRI_H
21 
22 #define MIXTRI_URI "http://gareus.org/oss/lv2/mixtri#"
23 #define MAXDELAY (192001)
24 
25 #include "lv2/lv2plug.in/ns/ext/atom/atom.h"
26 #include "lv2/lv2plug.in/ns/ext/atom/forge.h"
27 #include "lv2/lv2plug.in/ns/ext/urid/urid.h"
28 #include "lv2/lv2plug.in/ns/ext/midi/midi.h"
29 
30 typedef enum {
31 	MIXTRI_AUDIO_IN_0 = 0,
32 	MIXTRI_AUDIO_IN_1,
33 	MIXTRI_AUDIO_IN_2,
34 	MIXTRI_AUDIO_IN_3,
35 	MIXTRI_AUDIO_OUT_0,
36 	MIXTRI_AUDIO_OUT_1,
37 	MIXTRI_AUDIO_OUT_2,
38 	MIXTRI_AUDIO_OUT_T,
39 	MIXTRI_GAIN_I_0,
40 	MIXTRI_GAIN_I_1,
41 	MIXTRI_GAIN_I_2,
42 	MIXTRI_GAIN_I_3,
43 	MIXTRI_MIX_0_0,
44 	MIXTRI_MIX_0_1,
45 	MIXTRI_MIX_0_2,
46 	MIXTRI_MIX_1_0,
47 	MIXTRI_MIX_1_1,
48 	MIXTRI_MIX_1_2,
49 	MIXTRI_MIX_2_0,
50 	MIXTRI_MIX_2_1,
51 	MIXTRI_MIX_2_2,
52 	MIXTRI_MIX_3_0,
53 	MIXTRI_MIX_3_1,
54 	MIXTRI_MIX_3_2,
55 	MIXTRI_DLY_I_0,
56 	MIXTRI_DLY_I_1,
57 	MIXTRI_DLY_I_2,
58 	MIXTRI_DLY_I_3,
59 	MIXTRI_DLY_O_0,
60 	MIXTRI_DLY_O_1,
61 	MIXTRI_DLY_O_2,
62 	MIXTRI_MOD_I_0,
63 	MIXTRI_MOD_I_1,
64 	MIXTRI_MOD_I_2,
65 	MIXTRI_MOD_I_3,
66 	MIXTRI_TRIG_CHN,
67 	MIXTRI_TRIG_MODE,
68 	MIXTRI_TRIG_EDGE,
69 	MIXTRI_TRIG_LVL0,
70 	MIXTRI_TRIG_LVL1,
71 	MIXTRI_TRIG_TME0,
72 	MIXTRI_TRIG_TME1,
73 } PortIndexMixTri;
74 
75 enum {
76 	TRG_PASSTRHU = 0,
77 	TRG_LTC,
78 	TRG_EDGE,
79 	TRG_PULSEWIDTH,
80 	TRG_PULSETRAIN,
81 	TRG_WINDOW_ENTER,
82 	TRG_WINDOW_LEAVE,
83 	TRG_HYSTERESIS,
84 	TRG_RUNT,
85 	TRG_DROPOUT,
86 	TRG_DROPIN,
87 	TRG_RMS,
88 	TRG_LPF,
89 };
90 
91 #endif
92