1*f81fb7c4SAndroid Build Coastguard Worker /* 2*f81fb7c4SAndroid Build Coastguard Worker 3*f81fb7c4SAndroid Build Coastguard Worker dls.h 4*f81fb7c4SAndroid Build Coastguard Worker 5*f81fb7c4SAndroid Build Coastguard Worker Description: 6*f81fb7c4SAndroid Build Coastguard Worker 7*f81fb7c4SAndroid Build Coastguard Worker Interface defines and structures for the Instrument Collection Form 8*f81fb7c4SAndroid Build Coastguard Worker RIFF DLS. 9*f81fb7c4SAndroid Build Coastguard Worker 10*f81fb7c4SAndroid Build Coastguard Worker Written by Sonic Foundry 1996. Released for public use. 11*f81fb7c4SAndroid Build Coastguard Worker 12*f81fb7c4SAndroid Build Coastguard Worker */ 13*f81fb7c4SAndroid Build Coastguard Worker 14*f81fb7c4SAndroid Build Coastguard Worker #ifndef _INC_DLS 15*f81fb7c4SAndroid Build Coastguard Worker #define _INC_DLS 16*f81fb7c4SAndroid Build Coastguard Worker 17*f81fb7c4SAndroid Build Coastguard Worker /* 18*f81fb7c4SAndroid Build Coastguard Worker 19*f81fb7c4SAndroid Build Coastguard Worker Layout of an instrument collection: 20*f81fb7c4SAndroid Build Coastguard Worker 21*f81fb7c4SAndroid Build Coastguard Worker 22*f81fb7c4SAndroid Build Coastguard Worker RIFF [] 'DLS ' [colh,INSTLIST,WAVEPOOL,INFOLIST] 23*f81fb7c4SAndroid Build Coastguard Worker 24*f81fb7c4SAndroid Build Coastguard Worker INSTLIST 25*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'lins' 26*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST] 27*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST] 28*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST] 29*f81fb7c4SAndroid Build Coastguard Worker 30*f81fb7c4SAndroid Build Coastguard Worker RGNLIST 31*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'lrgn' 32*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST] 33*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST] 34*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST] 35*f81fb7c4SAndroid Build Coastguard Worker 36*f81fb7c4SAndroid Build Coastguard Worker ARTLIST 37*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'lart' 38*f81fb7c4SAndroid Build Coastguard Worker 'art1' level 1 Articulation connection graph 39*f81fb7c4SAndroid Build Coastguard Worker 'art2' level 2 Articulation connection graph 40*f81fb7c4SAndroid Build Coastguard Worker '3rd1' Possible 3rd party articulation structure 1 41*f81fb7c4SAndroid Build Coastguard Worker '3rd2' Possible 3rd party articulation structure 2 .... and so on 42*f81fb7c4SAndroid Build Coastguard Worker 43*f81fb7c4SAndroid Build Coastguard Worker WAVEPOOL 44*f81fb7c4SAndroid Build Coastguard Worker ptbl [] [pool table] 45*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wvpl' 46*f81fb7c4SAndroid Build Coastguard Worker [path], 47*f81fb7c4SAndroid Build Coastguard Worker [path], 48*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wave',RIFFWAVE 49*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wave',RIFFWAVE 50*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wave',RIFFWAVE 51*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wave',RIFFWAVE 52*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'wave',RIFFWAVE 53*f81fb7c4SAndroid Build Coastguard Worker 54*f81fb7c4SAndroid Build Coastguard Worker INFOLIST 55*f81fb7c4SAndroid Build Coastguard Worker LIST [] 'INFO' 56*f81fb7c4SAndroid Build Coastguard Worker 'icmt' 'One of those crazy comments.' 57*f81fb7c4SAndroid Build Coastguard Worker 'icop' 'Copyright (C) 1996 Sonic Foundry' 58*f81fb7c4SAndroid Build Coastguard Worker 59*f81fb7c4SAndroid Build Coastguard Worker */ 60*f81fb7c4SAndroid Build Coastguard Worker 61*f81fb7c4SAndroid Build Coastguard Worker 62*f81fb7c4SAndroid Build Coastguard Worker /* 63*f81fb7c4SAndroid Build Coastguard Worker FOURCC's used in the DLS file 64*f81fb7c4SAndroid Build Coastguard Worker */ 65*f81fb7c4SAndroid Build Coastguard Worker /* shree */ 66*f81fb7c4SAndroid Build Coastguard Worker //#define FAR 67*f81fb7c4SAndroid Build Coastguard Worker 68*f81fb7c4SAndroid Build Coastguard Worker /* shree 69*f81fb7c4SAndroid Build Coastguard Worker 70*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_DLS mmioFOURCC('D','L','S',' ') 71*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_COLH mmioFOURCC('c','o','l','h') 72*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_WVPL mmioFOURCC('w','v','p','l') 73*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_PTBL mmioFOURCC('p','t','b','l') 74*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_PATH mmioFOURCC('p','a','t','h') 75*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_wave mmioFOURCC('w','a','v','e') 76*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_LINS mmioFOURCC('l','i','n','s') 77*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_INS mmioFOURCC('i','n','s',' ') 78*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_INSH mmioFOURCC('i','n','s','h') 79*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_LRGN mmioFOURCC('l','r','g','n') 80*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_RGN mmioFOURCC('r','g','n',' ') 81*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_RGNH mmioFOURCC('r','g','n','h') 82*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_LART mmioFOURCC('l','a','r','t') 83*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_ART1 mmioFOURCC('a','r','t','1') 84*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_WLNK mmioFOURCC('w','l','n','k') 85*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_WSMP mmioFOURCC('w','s','m','p') 86*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_VERS mmioFOURCC('v','e','r','s') 87*f81fb7c4SAndroid Build Coastguard Worker */ 88*f81fb7c4SAndroid Build Coastguard Worker /* 89*f81fb7c4SAndroid Build Coastguard Worker Articulation connection graph definitions 90*f81fb7c4SAndroid Build Coastguard Worker */ 91*f81fb7c4SAndroid Build Coastguard Worker 92*f81fb7c4SAndroid Build Coastguard Worker /* Generic Sources */ 93*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_NONE 0x0000 94*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_LFO 0x0001 95*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_KEYONVELOCITY 0x0002 96*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_KEYNUMBER 0x0003 97*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_EG1 0x0004 98*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_EG2 0x0005 99*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_PITCHWHEEL 0x0006 100*f81fb7c4SAndroid Build Coastguard Worker 101*f81fb7c4SAndroid Build Coastguard Worker /* Midi Controllers 0-127 */ 102*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC1 0x0081 103*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC7 0x0087 104*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC10 0x008a 105*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC11 0x008b 106*f81fb7c4SAndroid Build Coastguard Worker 107*f81fb7c4SAndroid Build Coastguard Worker /* Registered Parameter Numbers */ 108*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_RPN0 0x0100 109*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_RPN1 0x0101 110*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_RPN2 0x0102 111*f81fb7c4SAndroid Build Coastguard Worker 112*f81fb7c4SAndroid Build Coastguard Worker /* Generic Destinations */ 113*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_NONE 0x0000 114*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_ATTENUATION 0x0001 115*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_RESERVED 0x0002 116*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_PITCH 0x0003 117*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_PAN 0x0004 118*f81fb7c4SAndroid Build Coastguard Worker 119*f81fb7c4SAndroid Build Coastguard Worker /* LFO Destinations */ 120*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_LFO_FREQUENCY 0x0104 121*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_LFO_STARTDELAY 0x0105 122*f81fb7c4SAndroid Build Coastguard Worker 123*f81fb7c4SAndroid Build Coastguard Worker /* EG1 Destinations */ 124*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_ATTACKTIME 0x0206 125*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_DECAYTIME 0x0207 126*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_RESERVED 0x0208 127*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_RELEASETIME 0x0209 128*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_SUSTAINLEVEL 0x020a 129*f81fb7c4SAndroid Build Coastguard Worker 130*f81fb7c4SAndroid Build Coastguard Worker /* EG2 Destinations */ 131*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_ATTACKTIME 0x030a 132*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_DECAYTIME 0x030b 133*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_RESERVED 0x030c 134*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_RELEASETIME 0x030d 135*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_SUSTAINLEVEL 0x030e 136*f81fb7c4SAndroid Build Coastguard Worker 137*f81fb7c4SAndroid Build Coastguard Worker #define CONN_TRN_NONE 0x0000 138*f81fb7c4SAndroid Build Coastguard Worker #define CONN_TRN_CONCAVE 0x0001 139*f81fb7c4SAndroid Build Coastguard Worker 140*f81fb7c4SAndroid Build Coastguard Worker typedef struct _DLSVERSION { 141*f81fb7c4SAndroid Build Coastguard Worker DWORD dwVersionMS; 142*f81fb7c4SAndroid Build Coastguard Worker DWORD dwVersionLS; 143*f81fb7c4SAndroid Build Coastguard Worker }DLSVERSION, FAR *LPDLSVERSION; 144*f81fb7c4SAndroid Build Coastguard Worker 145*f81fb7c4SAndroid Build Coastguard Worker 146*f81fb7c4SAndroid Build Coastguard Worker typedef struct _CONNECTION { 147*f81fb7c4SAndroid Build Coastguard Worker USHORT usSource; 148*f81fb7c4SAndroid Build Coastguard Worker USHORT usControl; 149*f81fb7c4SAndroid Build Coastguard Worker USHORT usDestination; 150*f81fb7c4SAndroid Build Coastguard Worker USHORT usTransform; 151*f81fb7c4SAndroid Build Coastguard Worker LONG lScale; 152*f81fb7c4SAndroid Build Coastguard Worker }CONNECTION, FAR *LPCONNECTION; 153*f81fb7c4SAndroid Build Coastguard Worker 154*f81fb7c4SAndroid Build Coastguard Worker 155*f81fb7c4SAndroid Build Coastguard Worker /* Level 1 Articulation Data */ 156*f81fb7c4SAndroid Build Coastguard Worker 157*f81fb7c4SAndroid Build Coastguard Worker typedef struct _CONNECTIONLIST { 158*f81fb7c4SAndroid Build Coastguard Worker ULONG cbSize; /* size of the connection list structure */ 159*f81fb7c4SAndroid Build Coastguard Worker ULONG cConnections; /* count of connections in the list */ 160*f81fb7c4SAndroid Build Coastguard Worker } CONNECTIONLIST, FAR *LPCONNECTIONLIST; 161*f81fb7c4SAndroid Build Coastguard Worker 162*f81fb7c4SAndroid Build Coastguard Worker 163*f81fb7c4SAndroid Build Coastguard Worker 164*f81fb7c4SAndroid Build Coastguard Worker /* 165*f81fb7c4SAndroid Build Coastguard Worker Generic type defines for regions and instruments 166*f81fb7c4SAndroid Build Coastguard Worker */ 167*f81fb7c4SAndroid Build Coastguard Worker 168*f81fb7c4SAndroid Build Coastguard Worker typedef struct _RGNRANGE { 169*f81fb7c4SAndroid Build Coastguard Worker USHORT usLow; 170*f81fb7c4SAndroid Build Coastguard Worker USHORT usHigh; 171*f81fb7c4SAndroid Build Coastguard Worker }RGNRANGE, FAR * LPRGNRANGE; 172*f81fb7c4SAndroid Build Coastguard Worker 173*f81fb7c4SAndroid Build Coastguard Worker #define F_INSTRUMENT_DRUMS 0x80000000 174*f81fb7c4SAndroid Build Coastguard Worker 175*f81fb7c4SAndroid Build Coastguard Worker typedef struct _MIDILOCALE { 176*f81fb7c4SAndroid Build Coastguard Worker ULONG ulBank; 177*f81fb7c4SAndroid Build Coastguard Worker ULONG ulInstrument; 178*f81fb7c4SAndroid Build Coastguard Worker }MIDILOCALE, FAR *LPMIDILOCALE; 179*f81fb7c4SAndroid Build Coastguard Worker 180*f81fb7c4SAndroid Build Coastguard Worker /* 181*f81fb7c4SAndroid Build Coastguard Worker Header structures found in an DLS file for collection, instruments, and 182*f81fb7c4SAndroid Build Coastguard Worker regions. 183*f81fb7c4SAndroid Build Coastguard Worker */ 184*f81fb7c4SAndroid Build Coastguard Worker 185*f81fb7c4SAndroid Build Coastguard Worker #define F_RGN_OPTION_SELFNONEXCLUSIVE 0x0001 186*f81fb7c4SAndroid Build Coastguard Worker 187*f81fb7c4SAndroid Build Coastguard Worker typedef struct _RGNHEADER { 188*f81fb7c4SAndroid Build Coastguard Worker RGNRANGE RangeKey; /* Key range */ 189*f81fb7c4SAndroid Build Coastguard Worker RGNRANGE RangeVelocity; /* Velocity Range */ 190*f81fb7c4SAndroid Build Coastguard Worker USHORT fusOptions; /* Synthesis options for this range */ 191*f81fb7c4SAndroid Build Coastguard Worker USHORT usKeyGroup; /* Key grouping for non simultaneous play 192*f81fb7c4SAndroid Build Coastguard Worker 0 = no group, 1 up is group 193*f81fb7c4SAndroid Build Coastguard Worker for Level 1 only groups 1-15 are allowed */ 194*f81fb7c4SAndroid Build Coastguard Worker }RGNHEADER, FAR *LPRGNHEADER; 195*f81fb7c4SAndroid Build Coastguard Worker 196*f81fb7c4SAndroid Build Coastguard Worker typedef struct _INSTHEADER { 197*f81fb7c4SAndroid Build Coastguard Worker ULONG cRegions; /* Count of regions in this instrument */ 198*f81fb7c4SAndroid Build Coastguard Worker MIDILOCALE Locale; /* Intended MIDI locale of this instrument */ 199*f81fb7c4SAndroid Build Coastguard Worker }INSTHEADER, FAR *LPINSTHEADER; 200*f81fb7c4SAndroid Build Coastguard Worker 201*f81fb7c4SAndroid Build Coastguard Worker typedef struct _DLSHEADER { 202*f81fb7c4SAndroid Build Coastguard Worker ULONG cInstruments; /* Count of instruments in the collection */ 203*f81fb7c4SAndroid Build Coastguard Worker }DLSHEADER, FAR *LPDLSHEADER; 204*f81fb7c4SAndroid Build Coastguard Worker 205*f81fb7c4SAndroid Build Coastguard Worker /* 206*f81fb7c4SAndroid Build Coastguard Worker definitions for the Wave link structure 207*f81fb7c4SAndroid Build Coastguard Worker */ 208*f81fb7c4SAndroid Build Coastguard Worker 209*f81fb7c4SAndroid Build Coastguard Worker /***** For level 1 only WAVELINK_CHANNEL_MONO is valid **** 210*f81fb7c4SAndroid Build Coastguard Worker ulChannel allows for up to 32 channels of audio with each bit position 211*f81fb7c4SAndroid Build Coastguard Worker specifiying a channel of playback */ 212*f81fb7c4SAndroid Build Coastguard Worker 213*f81fb7c4SAndroid Build Coastguard Worker #define WAVELINK_CHANNEL_LEFT 0x0001 214*f81fb7c4SAndroid Build Coastguard Worker #define WAVELINK_CHANNEL_RIGHT 0x0002 215*f81fb7c4SAndroid Build Coastguard Worker 216*f81fb7c4SAndroid Build Coastguard Worker #define F_WAVELINK_PHASE_MASTER 0x0001 217*f81fb7c4SAndroid Build Coastguard Worker 218*f81fb7c4SAndroid Build Coastguard Worker typedef struct _WAVELINK { /* any paths or links are stored right after struct */ 219*f81fb7c4SAndroid Build Coastguard Worker USHORT fusOptions; /* options flags for this wave */ 220*f81fb7c4SAndroid Build Coastguard Worker USHORT usPhaseGroup; /* Phase grouping for locking channels */ 221*f81fb7c4SAndroid Build Coastguard Worker ULONG ulChannel; /* channel placement */ 222*f81fb7c4SAndroid Build Coastguard Worker ULONG ulTableIndex; /* index into the wave pool table, 0 based */ 223*f81fb7c4SAndroid Build Coastguard Worker }WAVELINK, FAR *LPWAVELINK; 224*f81fb7c4SAndroid Build Coastguard Worker 225*f81fb7c4SAndroid Build Coastguard Worker #define POOL_CUE_NULL 0xffffffff 226*f81fb7c4SAndroid Build Coastguard Worker 227*f81fb7c4SAndroid Build Coastguard Worker typedef struct _POOLCUE { 228*f81fb7c4SAndroid Build Coastguard Worker // ULONG ulEntryIndex; /* Index entry in the list */ 229*f81fb7c4SAndroid Build Coastguard Worker ULONG ulOffset; /* Offset to the entry in the list */ 230*f81fb7c4SAndroid Build Coastguard Worker }POOLCUE, FAR *LPPOOLCUE; 231*f81fb7c4SAndroid Build Coastguard Worker 232*f81fb7c4SAndroid Build Coastguard Worker typedef struct _POOLTABLE { 233*f81fb7c4SAndroid Build Coastguard Worker ULONG cbSize; /* size of the pool table structure */ 234*f81fb7c4SAndroid Build Coastguard Worker ULONG cCues; /* count of cues in the list */ 235*f81fb7c4SAndroid Build Coastguard Worker } POOLTABLE, FAR *LPPOOLTABLE; 236*f81fb7c4SAndroid Build Coastguard Worker 237*f81fb7c4SAndroid Build Coastguard Worker /* 238*f81fb7c4SAndroid Build Coastguard Worker Structures for the "wsmp" chunk 239*f81fb7c4SAndroid Build Coastguard Worker */ 240*f81fb7c4SAndroid Build Coastguard Worker 241*f81fb7c4SAndroid Build Coastguard Worker #define F_WSMP_NO_TRUNCATION 0x0001 242*f81fb7c4SAndroid Build Coastguard Worker #define F_WSMP_NO_COMPRESSION 0x0002 243*f81fb7c4SAndroid Build Coastguard Worker 244*f81fb7c4SAndroid Build Coastguard Worker 245*f81fb7c4SAndroid Build Coastguard Worker typedef struct _rwsmp { 246*f81fb7c4SAndroid Build Coastguard Worker ULONG cbSize; 247*f81fb7c4SAndroid Build Coastguard Worker USHORT usUnityNote; /* MIDI Unity Playback Note */ 248*f81fb7c4SAndroid Build Coastguard Worker SHORT sFineTune; /* Fine Tune in log tuning */ 249*f81fb7c4SAndroid Build Coastguard Worker LONG lAttenuation; /* Overall Attenuation to be applied to data */ 250*f81fb7c4SAndroid Build Coastguard Worker ULONG fulOptions; /* Flag options */ 251*f81fb7c4SAndroid Build Coastguard Worker ULONG cSampleLoops; /* Count of Sample loops, 0 loops is one shot */ 252*f81fb7c4SAndroid Build Coastguard Worker } WSMPL, FAR *LPWSMPL; 253*f81fb7c4SAndroid Build Coastguard Worker 254*f81fb7c4SAndroid Build Coastguard Worker 255*f81fb7c4SAndroid Build Coastguard Worker /* This loop type is a normal forward playing loop which is continually 256*f81fb7c4SAndroid Build Coastguard Worker played until the envelope reaches an off threshold in the release 257*f81fb7c4SAndroid Build Coastguard Worker portion of the volume envelope */ 258*f81fb7c4SAndroid Build Coastguard Worker 259*f81fb7c4SAndroid Build Coastguard Worker #define WLOOP_TYPE_FORWARD 0 260*f81fb7c4SAndroid Build Coastguard Worker 261*f81fb7c4SAndroid Build Coastguard Worker typedef struct _rloop { 262*f81fb7c4SAndroid Build Coastguard Worker ULONG cbSize; 263*f81fb7c4SAndroid Build Coastguard Worker ULONG ulType; /* Loop Type */ 264*f81fb7c4SAndroid Build Coastguard Worker ULONG ulStart; /* Start of loop in samples */ 265*f81fb7c4SAndroid Build Coastguard Worker ULONG ulLength; /* Length of loop in samples */ 266*f81fb7c4SAndroid Build Coastguard Worker } WLOOP, FAR *LPWLOOP; 267*f81fb7c4SAndroid Build Coastguard Worker 268*f81fb7c4SAndroid Build Coastguard Worker #endif /* _INC_DLS */ 269