6 #define DMUS_DOWNLOADINFO_INSTRUMENT 1
7 #define DMUS_DOWNLOADINFO_WAVE 2
8 #define DMUS_DOWNLOADINFO_INSTRUMENT2 3
9 #define DMUS_DOWNLOADINFO_WAVEARTICULATION 4
10 #define DMUS_DOWNLOADINFO_STREAMINGWAVE 5
11 #define DMUS_DOWNLOADINFO_ONESHOTWAVE 6
12 #define DMUS_DEFAULT_SIZE_OFFSETTABLE 1
13 #define DMUS_INSTRUMENT_GM_INSTRUMENT (1 << 0)
14 #define DMUS_MIN_DATA_SIZE 4
20 typedef LONGLONG REFERENCE_TIME
;
21 typedef REFERENCE_TIME
*LPREFERENCE_TIME
;
24 #define MAKEFOURCC(ch0, ch1, ch2, ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
29 typedef struct _DMUS_LFOPARAMS
39 typedef struct _DMUS_VEGPARAMS
49 typedef struct _DMUS_PEGPARAMS
60 typedef struct _DMUS_MSCPARAMS
65 typedef struct _DMUS_DOWNLOADINFO
69 DWORD dwNumOffsetTableEntries
;
73 typedef struct _DMUS_OFFSETTABLE
75 ULONG ulOffsetTable
[DMUS_DEFAULT_SIZE_OFFSETTABLE
];
78 typedef struct _DMUS_INSTRUMENT
81 ULONG ulFirstRegionIdx
;
83 ULONG ulFirstExtCkIdx
;
88 typedef struct _DMUS_REGION
91 RGNRANGE RangeVelocity
;
95 ULONG ulNextRegionIdx
;
96 ULONG ulFirstExtCkIdx
;
102 typedef struct _DMUS_NOTERANGE
106 } DMUS_NOTERANGE
, *LPDMUS_NOTERANGE
;
108 typedef struct _DMUS_COPYRIGHT
111 BYTE byCopyright
[DMUS_MIN_DATA_SIZE
];
115 typedef struct _DMUS_EXTENSIONCHUNK
118 ULONG ulNextExtCkIdx
;
120 BYTE byExtCk
[DMUS_MIN_DATA_SIZE
];
121 } DMUS_EXTENSIONCHUNK
;
124 typedef struct _DMUS_WAVE
126 ULONG ulFirstExtCkIdx
;
127 ULONG ulCopyrightIdx
;
129 WAVEFORMATEX WaveformatEx
;
132 typedef struct _DMUS_WAVEDATA
135 BYTE byData
[DMUS_MIN_DATA_SIZE
];
138 typedef struct _DMUS_ARTICULATION
141 ULONG ulFirstExtCkIdx
;
144 typedef struct _DMUS_ARTICULATION2
147 ULONG ulFirstExtCkIdx
;
149 } DMUS_ARTICULATION2
;
151 typedef struct _DMUS_WAVEDL
154 } DMUS_WAVEDL
, *LPDMUS_WAVEDL
;
156 typedef struct _DMUS_ARTICPARAMS
159 DMUS_VEGPARAMS VolEG
;
160 DMUS_PEGPARAMS PitchEG
;
164 typedef struct _DMUS_WAVEARTDL
166 ULONG ulDownloadIdIdx
;
171 } DMUS_WAVEARTDL
, *LPDMUS_WAVEARTDL
;