VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/dmdls.h@ 104831

最後變更 在這個檔案從104831是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 6.0 KB
 
1/* DirectMusic DLS Download Definitions
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 * Oracle 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, Oracle 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
30#ifndef __WINE_DMUSIC_DLS_H
31#define __WINE_DMUSIC_DLS_H
32
33#include <dls1.h>
34
35/*****************************************************************************
36 * Typedef definitions
37 */
38typedef LONG GCENT;
39typedef LONG PCENT;
40typedef LONG PERCENT;
41typedef LONG TCENT;
42
43typedef LONGLONG REFERENCE_TIME, *LPREFERENCE_TIME;
44
45/*****************************************************************************
46 * FOURCC definition
47 */
48#ifndef mmioFOURCC
49typedef DWORD FOURCC;
50#define mmioFOURCC(ch0,ch1,ch2,ch3) \
51 ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
52 ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
53#endif
54
55/*****************************************************************************
56 * Flags
57 */
58#define DMUS_DEFAULT_SIZE_OFFSETTABLE 0x1
59
60#define DMUS_DOWNLOADINFO_INSTRUMENT 0x1
61#define DMUS_DOWNLOADINFO_WAVE 0x2
62#define DMUS_DOWNLOADINFO_INSTRUMENT2 0x3
63#define DMUS_DOWNLOADINFO_WAVEARTICULATION 0x4
64#define DMUS_DOWNLOADINFO_STREAMINGWAVE 0x5
65#define DMUS_DOWNLOADINFO_ONESHOTWAVE 0x6
66
67#define DMUS_INSTRUMENT_GM_INSTRUMENT 0x1
68
69#define DMUS_MIN_DATA_SIZE 0x4
70
71/*****************************************************************************
72 * Structures
73 */
74/* typedef definitions */
75typedef struct _DMUS_DOWNLOADINFO DMUS_DOWNLOADINFO, *LPDMUS_DOWNLOADINFO;
76typedef struct _DMUS_OFFSETTABLE DMUS_OFFSETTABLE, *LPDMUS_OFFSETTABLE;
77typedef struct _DMUS_INSTRUMENT DMUS_INSTRUMENT, *LPDMUS_INSTRUMENT;
78typedef struct _DMUS_REGION DMUS_REGION, *LPDMUS_REGION;
79typedef struct _DMUS_LFOPARAMS DMUS_LFOPARAMS, *LPDMUS_LFOPARAMS;
80typedef struct _DMUS_VEGPARAMS DMUS_VEGPARAMS, *LPDMUS_VEGPARAMS;
81typedef struct _DMUS_PEGPARAMS DMUS_PEGPARAMS, *LPDMUS_PEGPARAMS;
82typedef struct _DMUS_MSCPARAMS DMUS_MSCPARAMS, *LPDMUS_MSCPARAMS;
83typedef struct _DMUS_ARTICPARAMS DMUS_ARTICPARAMS, *LPDMUS_ARTICPARAMS;
84typedef struct _DMUS_ARTICULATION DMUS_ARTICULATION, *LPDMUS_ARTICULATION;
85typedef struct _DMUS_ARTICULATION2 DMUS_ARTICULATION2, *LPDMUS_ARTICULATION2;
86typedef struct _DMUS_EXTENSIONCHUNK DMUS_EXTENSIONCHUNK, *LPDMUS_EXTENSIONCHUNK;
87typedef struct _DMUS_COPYRIGHT DMUS_COPYRIGHT, *LPDMUS_COPYRIGHT;
88typedef struct _DMUS_WAVEDATA DMUS_WAVEDATA, *LPDMUS_WAVEDATA;
89typedef struct _DMUS_WAVE DMUS_WAVE, *LPDMUS_WAVE;
90typedef struct _DMUS_NOTERANGE DMUS_NOTERANGE, *LPDMUS_NOTERANGE;
91typedef struct _DMUS_WAVEARTDL DMUS_WAVEARTDL, *LPDMUS_WAVEARTDL;
92typedef struct _DMUS_WAVEDL DMUS_WAVEDL, *LPDMUS_WAVEDL;
93
94/* actual structures */
95struct _DMUS_DOWNLOADINFO {
96 DWORD dwDLType;
97 DWORD dwDLId;
98 DWORD dwNumOffsetTableEntries;
99 DWORD cbSize;
100};
101
102struct _DMUS_OFFSETTABLE {
103 ULONG ulOffsetTable[DMUS_DEFAULT_SIZE_OFFSETTABLE];
104};
105
106struct _DMUS_INSTRUMENT {
107 ULONG ulPatch;
108 ULONG ulFirstRegionIdx;
109 ULONG ulGlobalArtIdx;
110 ULONG ulFirstExtCkIdx;
111 ULONG ulCopyrightIdx;
112 ULONG ulFlags;
113};
114
115struct _DMUS_REGION {
116 RGNRANGE RangeKey;
117 RGNRANGE RangeVelocity;
118 USHORT fusOptions;
119 USHORT usKeyGroup;
120 ULONG ulRegionArtIdx;
121 ULONG ulNextRegionIdx;
122 ULONG ulFirstExtCkIdx;
123 WAVELINK WaveLink;
124 WSMPL WSMP;
125 WLOOP WLOOP[1];
126};
127
128struct _DMUS_LFOPARAMS {
129 PCENT pcFrequency;
130 TCENT tcDelay;
131 GCENT gcVolumeScale;
132 PCENT pcPitchScale;
133 GCENT gcMWToVolume;
134 PCENT pcMWToPitch;
135};
136
137struct _DMUS_VEGPARAMS {
138 TCENT tcAttack;
139 TCENT tcDecay;
140 PERCENT ptSustain;
141 TCENT tcRelease;
142 TCENT tcVel2Attack;
143 TCENT tcKey2Decay;
144};
145
146struct _DMUS_PEGPARAMS {
147 TCENT tcAttack;
148 TCENT tcDecay;
149 PERCENT ptSustain;
150 TCENT tcRelease;
151 TCENT tcVel2Attack;
152 TCENT tcKey2Decay;
153 PCENT pcRange;
154};
155
156struct _DMUS_MSCPARAMS {
157 PERCENT ptDefaultPan;
158};
159
160struct _DMUS_ARTICPARAMS {
161 DMUS_LFOPARAMS LFO;
162 DMUS_VEGPARAMS VolEG;
163 DMUS_PEGPARAMS PitchEG;
164 DMUS_MSCPARAMS Misc;
165};
166
167struct _DMUS_ARTICULATION {
168 ULONG ulArt1Idx;
169 ULONG ulFirstExtCkIdx;
170};
171
172struct _DMUS_ARTICULATION2 {
173 ULONG ulArtIdx;
174 ULONG ulFirstExtCkIdx;
175 ULONG ulNextArtIdx;
176};
177
178struct _DMUS_EXTENSIONCHUNK {
179 ULONG cbSize;
180 ULONG ulNextExtCkIdx;
181 FOURCC ExtCkID;
182 BYTE byExtCk[DMUS_MIN_DATA_SIZE];
183};
184
185struct _DMUS_COPYRIGHT {
186 ULONG cbSize;
187 BYTE byCopyright[DMUS_MIN_DATA_SIZE];
188};
189
190struct _DMUS_WAVEDATA {
191 ULONG cbSize;
192 BYTE byData[DMUS_MIN_DATA_SIZE];
193};
194
195struct _DMUS_WAVE {
196 ULONG ulFirstExtCkIdx;
197 ULONG ulCopyrightIdx;
198 ULONG ulWaveDataIdx;
199 WAVEFORMATEX WaveformatEx;
200};
201
202struct _DMUS_NOTERANGE {
203 DWORD dwLowNote;
204 DWORD dwHighNote;
205};
206
207struct _DMUS_WAVEARTDL {
208 ULONG ulDownloadIdIdx;
209 ULONG ulBus;
210 ULONG ulBuffers;
211 ULONG ulMasterDLId;
212 USHORT usOptions;
213};
214
215struct _DMUS_WAVEDL {
216 ULONG cbWaveData;
217};
218
219#endif /* __WINE_DMUSIC_DLS_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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