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