1*f81fb7c4SAndroid Build Coastguard Worker /* 2*f81fb7c4SAndroid Build Coastguard Worker 3*f81fb7c4SAndroid Build Coastguard Worker dls2.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 DLS2 extensions of DLS. 8*f81fb7c4SAndroid Build Coastguard Worker 9*f81fb7c4SAndroid Build Coastguard Worker 10*f81fb7c4SAndroid Build Coastguard Worker Written by Microsoft 1998. 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_DLS2 15*f81fb7c4SAndroid Build Coastguard Worker #define _INC_DLS2 16*f81fb7c4SAndroid Build Coastguard Worker 17*f81fb7c4SAndroid Build Coastguard Worker /* 18*f81fb7c4SAndroid Build Coastguard Worker FOURCC's used in the DLS2 file, in addition to DLS1 chunks 19*f81fb7c4SAndroid Build Coastguard Worker */ 20*f81fb7c4SAndroid Build Coastguard Worker 21*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_RGN2 mmioFOURCC('r','g','n','2') 22*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_LAR2 mmioFOURCC('l','a','r','2') 23*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_ART2 mmioFOURCC('a','r','t','2') 24*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_CDL mmioFOURCC('c','d','l',' ') 25*f81fb7c4SAndroid Build Coastguard Worker #define FOURCC_DLID mmioFOURCC('d','l','i','d') 26*f81fb7c4SAndroid Build Coastguard Worker 27*f81fb7c4SAndroid Build Coastguard Worker /* 28*f81fb7c4SAndroid Build Coastguard Worker Articulation connection graph definitions. These are in addition to 29*f81fb7c4SAndroid Build Coastguard Worker the definitions in the DLS1 header. 30*f81fb7c4SAndroid Build Coastguard Worker */ 31*f81fb7c4SAndroid Build Coastguard Worker 32*f81fb7c4SAndroid Build Coastguard Worker /* Generic Sources (in addition to DLS1 sources. */ 33*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_POLYPRESSURE 0x0007 /* Polyphonic Pressure */ 34*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CHANNELPRESSURE 0x0008 /* Channel Pressure */ 35*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_VIBRATO 0x0009 /* Vibrato LFO */ 36*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_MONOPRESSURE 0x000a /* MIDI Mono pressure */ 37*f81fb7c4SAndroid Build Coastguard Worker 38*f81fb7c4SAndroid Build Coastguard Worker 39*f81fb7c4SAndroid Build Coastguard Worker /* Midi Controllers */ 40*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC91 0x00db /* Reverb Send */ 41*f81fb7c4SAndroid Build Coastguard Worker #define CONN_SRC_CC93 0x00dd /* Chorus Send */ 42*f81fb7c4SAndroid Build Coastguard Worker 43*f81fb7c4SAndroid Build Coastguard Worker 44*f81fb7c4SAndroid Build Coastguard Worker /* Generic Destinations */ 45*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_GAIN 0x0001 /* Same as CONN_DST_ ATTENUATION, but more appropriate terminology. */ 46*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_KEYNUMBER 0x0005 /* Key Number Generator */ 47*f81fb7c4SAndroid Build Coastguard Worker 48*f81fb7c4SAndroid Build Coastguard Worker /* Audio Channel Output Destinations */ 49*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_LEFT 0x0010 /* Left Channel Send */ 50*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_RIGHT 0x0011 /* Right Channel Send */ 51*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_CENTER 0x0012 /* Center Channel Send */ 52*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_LEFTREAR 0x0013 /* Left Rear Channel Send */ 53*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_RIGHTREAR 0x0014 /* Right Rear Channel Send */ 54*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_LFE_CHANNEL 0x0015 /* LFE Channel Send */ 55*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_CHORUS 0x0080 /* Chorus Send */ 56*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_REVERB 0x0081 /* Reverb Send */ 57*f81fb7c4SAndroid Build Coastguard Worker 58*f81fb7c4SAndroid Build Coastguard Worker /* Vibrato LFO Destinations */ 59*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_VIB_FREQUENCY 0x0114 /* Vibrato Frequency */ 60*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_VIB_STARTDELAY 0x0115 /* Vibrato Start Delay */ 61*f81fb7c4SAndroid Build Coastguard Worker 62*f81fb7c4SAndroid Build Coastguard Worker /* EG1 Destinations */ 63*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_DELAYTIME 0x020B /* EG1 Delay Time */ 64*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_HOLDTIME 0x020C /* EG1 Hold Time */ 65*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG1_SHUTDOWNTIME 0x020D /* EG1 Shutdown Time */ 66*f81fb7c4SAndroid Build Coastguard Worker 67*f81fb7c4SAndroid Build Coastguard Worker 68*f81fb7c4SAndroid Build Coastguard Worker /* EG2 Destinations */ 69*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_DELAYTIME 0x030F /* EG2 Delay Time */ 70*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_EG2_HOLDTIME 0x0310 /* EG2 Hold Time */ 71*f81fb7c4SAndroid Build Coastguard Worker 72*f81fb7c4SAndroid Build Coastguard Worker 73*f81fb7c4SAndroid Build Coastguard Worker /* Filter Destinations */ 74*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_FILTER_CUTOFF 0x0500 /* Filter Cutoff Frequency */ 75*f81fb7c4SAndroid Build Coastguard Worker #define CONN_DST_FILTER_Q 0x0501 /* Filter Resonance */ 76*f81fb7c4SAndroid Build Coastguard Worker 77*f81fb7c4SAndroid Build Coastguard Worker 78*f81fb7c4SAndroid Build Coastguard Worker /* Transforms */ 79*f81fb7c4SAndroid Build Coastguard Worker #define CONN_TRN_CONVEX 0x0002 /* Convex Transform */ 80*f81fb7c4SAndroid Build Coastguard Worker #define CONN_TRN_SWITCH 0x0003 /* Switch Transform */ 81*f81fb7c4SAndroid Build Coastguard Worker 82*f81fb7c4SAndroid Build Coastguard Worker 83*f81fb7c4SAndroid Build Coastguard Worker /* Conditional chunk operators */ 84*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_AND 0x0001 /* X = X & Y */ 85*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_OR 0x0002 /* X = X | Y */ 86*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_XOR 0x0003 /* X = X ^ Y */ 87*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_ADD 0x0004 /* X = X + Y */ 88*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_SUBTRACT 0x0005 /* X = X - Y */ 89*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_MULTIPLY 0x0006 /* X = X * Y */ 90*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_DIVIDE 0x0007 /* X = X / Y */ 91*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_LOGICAL_AND 0x0008 /* X = X && Y */ 92*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_LOGICAL_OR 0x0009 /* X = X || Y */ 93*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_LT 0x000A /* X = (X < Y) */ 94*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_LE 0x000B /* X = (X <= Y) */ 95*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_GT 0x000C /* X = (X > Y) */ 96*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_GE 0x000D /* X = (X >= Y) */ 97*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_EQ 0x000E /* X = (X == Y) */ 98*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_NOT 0x000F /* X = !X */ 99*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_CONST 0x0010 /* 32-bit constant */ 100*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_QUERY 0x0011 /* 32-bit value returned from query */ 101*f81fb7c4SAndroid Build Coastguard Worker #define DLS_CDL_QUERYSUPPORTED 0x0012 /* 32-bit value returned from query */ 102*f81fb7c4SAndroid Build Coastguard Worker 103*f81fb7c4SAndroid Build Coastguard Worker /* 104*f81fb7c4SAndroid Build Coastguard Worker Loop and release 105*f81fb7c4SAndroid Build Coastguard Worker */ 106*f81fb7c4SAndroid Build Coastguard Worker 107*f81fb7c4SAndroid Build Coastguard Worker #define WLOOP_TYPE_RELEASE 1 108*f81fb7c4SAndroid Build Coastguard Worker 109*f81fb7c4SAndroid Build Coastguard Worker /* 110*f81fb7c4SAndroid Build Coastguard Worker DLSID queries for <cdl-ck> 111*f81fb7c4SAndroid Build Coastguard Worker */ 112*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_GMInHardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12); 113*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_GSInHardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12); 114*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_XGInHardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12); 115*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_SupportsDLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12); 116*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_SupportsDLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6); 117*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12); 118*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_ManufacturersID, 0xb03e1181, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8); 119*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_ProductID, 0xb03e1182, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8); 120*f81fb7c4SAndroid Build Coastguard Worker DEFINE_DLSID(DLSID_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8); 121*f81fb7c4SAndroid Build Coastguard Worker #endif /* _INC_DLS2 */ 122*f81fb7c4SAndroid Build Coastguard Worker 123