xref: /reactos/sdk/include/dxsdk/dls1.h (revision c2c66aff)
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
159