[PSDK]
[reactos.git] / include / dxsdk / dls1.h
1
2
3 #ifndef _INC_DLS1
4 #define _INC_DLS1
5
6 #define CONN_SRC_NONE 0x0000
7 #define CONN_SRC_LFO 0x0001
8 #define CONN_SRC_KEYONVELOCITY 0x0002
9 #define CONN_SRC_KEYNUMBER 0x0003
10 #define CONN_SRC_EG1 0x0004
11 #define CONN_SRC_EG2 0x0005
12 #define CONN_SRC_PITCHWHEEL 0x0006
13 #define CONN_SRC_CC1 0x0081
14 #define CONN_SRC_CC7 0x0087
15 #define CONN_SRC_CC10 0x008a
16 #define CONN_SRC_CC11 0x008b
17 #define CONN_DST_NONE 0x0000
18 #define CONN_DST_ATTENUATION 0x0001
19 #define CONN_DST_PITCH 0x0003
20 #define CONN_DST_PAN 0x0004
21 #define CONN_DST_LFO_FREQUENCY 0x0104
22 #define CONN_DST_LFO_STARTDELAY 0x0105
23 #define CONN_DST_EG1_ATTACKTIME 0x0206
24 #define CONN_DST_EG1_DECAYTIME 0x0207
25 #define CONN_DST_EG1_RELEASETIME 0x0209
26 #define CONN_DST_EG1_SUSTAINLEVEL 0x020a
27 #define CONN_DST_EG2_ATTACKTIME 0x030a
28 #define CONN_DST_EG2_DECAYTIME 0x030b
29 #define CONN_DST_EG2_RELEASETIME 0x030d
30 #define CONN_DST_EG2_SUSTAINLEVEL 0x030e
31 #define CONN_TRN_NONE 0x0000
32 #define CONN_TRN_CONCAVE 0x0001
33 #define FOURCC_DLS mmioFOURCC('D','L','S',' ')
34 #define FOURCC_DLID mmioFOURCC('d','l','i','d')
35 #define FOURCC_COLH mmioFOURCC('c','o','l','h')
36 #define FOURCC_WVPL mmioFOURCC('w','v','p','l')
37 #define FOURCC_PTBL mmioFOURCC('p','t','b','l')
38 #define FOURCC_PATH mmioFOURCC('p','a','t','h')
39 #define FOURCC_wave mmioFOURCC('w','a','v','e')
40 #define FOURCC_LINS mmioFOURCC('l','i','n','s')
41 #define FOURCC_INS mmioFOURCC('i','n','s',' ')
42 #define FOURCC_INSH mmioFOURCC('i','n','s','h')
43 #define FOURCC_LRGN mmioFOURCC('l','r','g','n')
44 #define FOURCC_RGN mmioFOURCC('r','g','n',' ')
45 #define FOURCC_RGNH mmioFOURCC('r','g','n','h')
46 #define FOURCC_LART mmioFOURCC('l','a','r','t')
47 #define FOURCC_ART1 mmioFOURCC('a','r','t','1')
48 #define FOURCC_WLNK mmioFOURCC('w','l','n','k')
49 #define FOURCC_WSMP mmioFOURCC('w','s','m','p')
50 #define FOURCC_VERS mmioFOURCC('v','e','r','s')
51 #define F_INSTRUMENT_DRUMS 0x80000000
52 #define F_RGN_OPTION_SELFNONEXCLUSIVE 0x0001
53 #define WAVELINK_CHANNEL_LEFT 0x0001
54 #define WAVELINK_CHANNEL_RIGHT 0x0002
55 #define F_WAVELINK_PHASE_MASTER 0x0001
56 #define POOL_CUE_NULL 0xffffffff
57 #define F_WSMP_NO_TRUNCATION 0x0001l
58 #define F_WSMP_NO_COMPRESSION 0x0002l
59 #define WLOOP_TYPE_FORWARD 0
60
61 typedef struct _CONNECTION
62 {
63 USHORT usSource;
64 USHORT usControl;
65 USHORT usDestination;
66 USHORT usTransform;
67 LONG lScale;
68 }CONNECTION, *LPCONNECTION;
69
70 typedef struct _CONNECTIONLIST
71 {
72 ULONG cbSize;
73 ULONG cConnections;
74 } CONNECTIONLIST, *LPCONNECTIONLIST;
75
76 typedef struct _DLSVERSION
77 {
78 DWORD dwVersionMS;
79 DWORD dwVersionLS;
80 } DLSVERSION, *LPDLSVERSION;
81
82 typedef struct _DLSHEADER
83 {
84 ULONG cInstruments;
85 }DLSHEADER, *LPDLSHEADER;
86
87 typedef struct _DLSID
88 {
89 ULONG ulData1;
90 USHORT usData2;
91 USHORT usData3;
92 BYTE abData4[8];
93 } DLSID, FAR *LPDLSID;
94
95 typedef struct _MIDILOCALE {
96 ULONG ulBank;
97 ULONG ulInstrument;
98 } MIDILOCALE, *LPMIDILOCALE;
99
100 typedef struct _INSTHEADER
101 {
102 ULONG cRegions;
103 MIDILOCALE Locale;
104 }INSTHEADER, *LPINSTHEADER;
105
106 typedef struct _POOLCUE
107 {
108 ULONG ulOffset;
109 }POOLCUE, *LPPOOLCUE;
110
111 typedef struct _POOLTABLE
112 {
113 ULONG cbSize;
114 ULONG cCues;
115 } POOLTABLE, FAR *LPPOOLTABLE;
116
117 typedef struct _RGNRANGE
118 {
119 USHORT usLow;
120 USHORT usHigh;
121 } RGNRANGE, *LPRGNRANGE;
122
123 typedef struct _RGNHEADER
124 {
125 RGNRANGE RangeKey;
126 RGNRANGE RangeVelocity;
127 USHORT fusOptions;
128 USHORT usKeyGroup;
129 }RGNHEADER, *LPRGNHEADER;
130
131 typedef struct _rloop
132 {
133 ULONG cbSize;
134 ULONG ulType;
135 ULONG ulStart;
136 ULONG ulLength;
137 } WLOOP, *LPWLOOP;
138
139 typedef struct _rwsmp
140 {
141 ULONG cbSize;
142 USHORT usUnityNote;
143 SHORT sFineTune;
144 LONG lAttenuation;
145 ULONG fulOptions;
146 ULONG cSampleLoops;
147 } WSMPL, *LPWSMPL;
148
149 typedef struct _WAVELINK
150 {
151 USHORT fusOptions;
152 USHORT usPhaseGroup;
153 ULONG ulChannel;
154 ULONG ulTableIndex;
155 }WAVELINK, *LPWAVELINK;
156
157
158 #endif