VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/dls1.h@ 19982

Last change on this file since 19982 was 16477, checked in by vboxsync, 16 years ago

LGPL disclaimer by filemuncher

  • Property svn:eol-style set to native
File size: 5.9 KB
Line 
1/* Defines and Structures for Instrument Collection Form RIFF DLS1
2 *
3 * Copyright (C) 2003-2004 Rok Mandeljc
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) 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 GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20/*
21 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
22 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
23 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
24 * a choice of LGPL license versions is made available with the language indicating
25 * that LGPLv2 or any later version may be used, or where a choice of which version
26 * of the LGPL is applied is otherwise unspecified.
27 */
28
29#ifndef __WINE_INCLUDE_DLS1_H
30#define __WINE_INCLUDE_DLS1_H
31
32/*****************************************************************************
33 * FOURCCs
34 */
35#define FOURCC_DLS mmioFOURCC('D','L','S',' ')
36#define FOURCC_DLID mmioFOURCC('d','l','i','d')
37#define FOURCC_COLH mmioFOURCC('c','o','l','h')
38#define FOURCC_WVPL mmioFOURCC('w','v','p','l')
39#define FOURCC_PTBL mmioFOURCC('p','t','b','l')
40#define FOURCC_PATH mmioFOURCC('p','a','t','h')
41#define FOURCC_wave mmioFOURCC('w','a','v','e')
42#define FOURCC_LINS mmioFOURCC('l','i','n','s')
43#define FOURCC_INS mmioFOURCC('i','n','s',' ')
44#define FOURCC_INSH mmioFOURCC('i','n','s','h')
45#define FOURCC_LRGN mmioFOURCC('l','r','g','n')
46#define FOURCC_RGN mmioFOURCC('r','g','n',' ')
47#define FOURCC_RGNH mmioFOURCC('r','g','n','h')
48#define FOURCC_LART mmioFOURCC('l','a','r','t')
49#define FOURCC_ART1 mmioFOURCC('a','r','t','1')
50#define FOURCC_WLNK mmioFOURCC('w','l','n','k')
51#define FOURCC_WSMP mmioFOURCC('w','s','m','p')
52#define FOURCC_VERS mmioFOURCC('v','e','r','s')
53
54/*****************************************************************************
55 * Flags
56 */
57
58#define CONN_DST_NONE 0x000
59#define CONN_DST_ATTENUATION 0x001
60#define CONN_DST_PITCH 0x003
61#define CONN_DST_PAN 0x004
62
63#define CONN_DST_LFO_FREQUENCY 0x104
64#define CONN_DST_LFO_STARTDELAY 0x105
65
66#define CONN_DST_EG1_ATTACKTIME 0x206
67#define CONN_DST_EG1_DECAYTIME 0x207
68#define CONN_DST_EG1_RELEASETIME 0x209
69#define CONN_DST_EG1_SUSTAINLEVEL 0x20A
70
71#define CONN_DST_EG2_ATTACKTIME 0x30A
72#define CONN_DST_EG2_DECAYTIME 0x30B
73#define CONN_DST_EG2_RELEASETIME 0x30D
74#define CONN_DST_EG2_SUSTAINLEVEL 0x30E
75
76#define CONN_SRC_NONE 0x000
77#define CONN_SRC_LFO 0x001
78#define CONN_SRC_KEYONVELOCITY 0x002
79#define CONN_SRC_KEYNUMBER 0x003
80#define CONN_SRC_EG1 0x004
81#define CONN_SRC_EG2 0x005
82#define CONN_SRC_PITCHWHEEL 0x006
83
84#define CONN_SRC_CC1 0x081
85#define CONN_SRC_CC7 0x087
86#define CONN_SRC_CC10 0x08A
87#define CONN_SRC_CC11 0x08B
88
89#define CONN_TRN_NONE 0x000
90#define CONN_TRN_CONCAVE 0x001
91
92#define F_INSTRUMENT_DRUMS 0x80000000
93
94#define F_RGN_OPTION_SELFNONEXCLUSIVE 0x1
95
96#define F_WAVELINK_PHASE_MASTER 0x1
97
98#define F_WSMP_NO_TRUNCATION 0x1
99#define F_WSMP_NO_COMPRESSION 0x2
100
101#define POOL_CUE_NULL 0xFFFFFFFF
102
103#define WAVELINK_CHANNEL_LEFT 0x1
104#define WAVELINK_CHANNEL_RIGHT 0x2
105
106#define WLOOP_TYPE_FORWARD 0x0
107
108/*****************************************************************************
109 * Structures
110 */
111/* typedef definitions */
112typedef struct _DLSID DLSID, *LPDLSID;
113typedef struct _DLSVERSION DLSVERSION, *LPDLSVERSION;
114typedef struct _CONNECTION CONNECTION, *LPCONNECTION;
115typedef struct _CONNECTIONLIST CONNECTIONLIST, *LPCONNECTIONLIST;
116typedef struct _RGNRANGE RGNRANGE, *LPRGNRANGE;
117typedef struct _MIDILOCALE MIDILOCALE, *LPMIDILOCALE;
118typedef struct _RGNHEADER RGNHEADER, *LPRGNHEADER;
119typedef struct _INSTHEADER INSTHEADER, *LPINSTHEADER;
120typedef struct _DLSHEADER DLSHEADER, *LPDLSHEADER;
121typedef struct _WAVELINK WAVELINK, *LPWAVELINK;
122typedef struct _POOLCUE POOLCUE, *LPPOOLCUE;
123typedef struct _POOLTABLE POOLTABLE, *LPPOOLTABLE;
124typedef struct _rwsmp WSMPL, *LPWSMPL;
125typedef struct _rloop WLOOP, *LPWLOOP;
126
127/* actual structures */
128struct _DLSID {
129 ULONG ulData1;
130 USHORT usData2;
131 USHORT usData3;
132 BYTE abData4[8];
133};
134
135struct _DLSVERSION {
136 DWORD dwVersionMS;
137 DWORD dwVersionLS;
138};
139
140struct _CONNECTION {
141 USHORT usSource;
142 USHORT usControl;
143 USHORT usDestination;
144 USHORT usTransform;
145 LONG lScale;
146};
147
148struct _CONNECTIONLIST {
149 ULONG cbSize;
150 ULONG cConnections;
151};
152
153struct _RGNRANGE {
154 USHORT usLow;
155 USHORT usHigh;
156};
157
158struct _MIDILOCALE {
159 ULONG ulBank;
160 ULONG ulInstrument;
161};
162
163struct _RGNHEADER {
164 RGNRANGE RangeKey;
165 RGNRANGE RangeVelocity;
166 USHORT fusOptions;
167 USHORT usKeyGroup;
168};
169
170struct _INSTHEADER {
171 ULONG cRegions;
172 MIDILOCALE Locale;
173};
174
175struct _DLSHEADER {
176 ULONG cInstruments;
177};
178
179struct _WAVELINK {
180 USHORT fusOptions;
181 USHORT usPhaseGroup;
182 ULONG ulChannel;
183 ULONG ulTableIndex;
184};
185
186struct _POOLCUE {
187 ULONG ulOffset;
188};
189
190struct _POOLTABLE {
191 ULONG cbSize;
192 ULONG cCues;
193};
194
195struct _rwsmp {
196 ULONG cbSize;
197 USHORT usUnityNote;
198 SHORT sFineTune;
199 LONG lAttenuation;
200 ULONG fulOptions;
201 ULONG cSampleLoops;
202};
203
204struct _rloop {
205 ULONG cbSize;
206 ULONG ulType;
207 ULONG ulStart;
208 ULONG ulLength;
209};
210
211#endif /* __WINE_INCLUDE_DLS1_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette