summaryrefslogtreecommitdiffstats
path: root/arm-wt-22k/lib_src/dls.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm-wt-22k/lib_src/dls.h')
-rw-r--r--arm-wt-22k/lib_src/dls.h536
1 files changed, 268 insertions, 268 deletions
diff --git a/arm-wt-22k/lib_src/dls.h b/arm-wt-22k/lib_src/dls.h
index ca1d4c7..0a9e302 100644
--- a/arm-wt-22k/lib_src/dls.h
+++ b/arm-wt-22k/lib_src/dls.h
@@ -1,268 +1,268 @@
- /*
-
- dls.h
-
- Description:
-
- Interface defines and structures for the Instrument Collection Form
- RIFF DLS.
-
- Written by Sonic Foundry 1996. Released for public use.
-
- */
-
- #ifndef _INC_DLS
- #define _INC_DLS
-
- /*
-
- Layout of an instrument collection:
-
-
- RIFF [] 'DLS ' [colh,INSTLIST,WAVEPOOL,INFOLIST]
-
- INSTLIST
- LIST [] 'lins'
- LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
- LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
- LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
-
- RGNLIST
- LIST [] 'lrgn'
- LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
- LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
- LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
-
- ARTLIST
- LIST [] 'lart'
- 'art1' level 1 Articulation connection graph
- 'art2' level 2 Articulation connection graph
- '3rd1' Possible 3rd party articulation structure 1
- '3rd2' Possible 3rd party articulation structure 2 .... and so on
-
- WAVEPOOL
- ptbl [] [pool table]
- LIST [] 'wvpl'
- [path],
- [path],
- LIST [] 'wave',RIFFWAVE
- LIST [] 'wave',RIFFWAVE
- LIST [] 'wave',RIFFWAVE
- LIST [] 'wave',RIFFWAVE
- LIST [] 'wave',RIFFWAVE
-
- INFOLIST
- LIST [] 'INFO'
- 'icmt' 'One of those crazy comments.'
- 'icop' 'Copyright (C) 1996 Sonic Foundry'
-
- */
-
-
- /*
- FOURCC's used in the DLS file
- */
-/* shree */
-//#define FAR
-
-/* shree
-
- #define FOURCC_DLS mmioFOURCC('D','L','S',' ')
- #define FOURCC_COLH mmioFOURCC('c','o','l','h')
- #define FOURCC_WVPL mmioFOURCC('w','v','p','l')
- #define FOURCC_PTBL mmioFOURCC('p','t','b','l')
- #define FOURCC_PATH mmioFOURCC('p','a','t','h')
- #define FOURCC_wave mmioFOURCC('w','a','v','e')
- #define FOURCC_LINS mmioFOURCC('l','i','n','s')
- #define FOURCC_INS mmioFOURCC('i','n','s',' ')
- #define FOURCC_INSH mmioFOURCC('i','n','s','h')
- #define FOURCC_LRGN mmioFOURCC('l','r','g','n')
- #define FOURCC_RGN mmioFOURCC('r','g','n',' ')
- #define FOURCC_RGNH mmioFOURCC('r','g','n','h')
- #define FOURCC_LART mmioFOURCC('l','a','r','t')
- #define FOURCC_ART1 mmioFOURCC('a','r','t','1')
- #define FOURCC_WLNK mmioFOURCC('w','l','n','k')
- #define FOURCC_WSMP mmioFOURCC('w','s','m','p')
- #define FOURCC_VERS mmioFOURCC('v','e','r','s')
-*/
- /*
- Articulation connection graph definitions
- */
-
- /* Generic Sources */
- #define CONN_SRC_NONE 0x0000
- #define CONN_SRC_LFO 0x0001
- #define CONN_SRC_KEYONVELOCITY 0x0002
- #define CONN_SRC_KEYNUMBER 0x0003
- #define CONN_SRC_EG1 0x0004
- #define CONN_SRC_EG2 0x0005
- #define CONN_SRC_PITCHWHEEL 0x0006
-
- /* Midi Controllers 0-127 */
- #define CONN_SRC_CC1 0x0081
- #define CONN_SRC_CC7 0x0087
- #define CONN_SRC_CC10 0x008a
- #define CONN_SRC_CC11 0x008b
-
- /* Registered Parameter Numbers */
- #define CONN_SRC_RPN0 0x0100
- #define CONN_SRC_RPN1 0x0101
- #define CONN_SRC_RPN2 0x0102
-
- /* Generic Destinations */
- #define CONN_DST_NONE 0x0000
- #define CONN_DST_ATTENUATION 0x0001
- #define CONN_DST_RESERVED 0x0002
- #define CONN_DST_PITCH 0x0003
- #define CONN_DST_PAN 0x0004
-
- /* LFO Destinations */
- #define CONN_DST_LFO_FREQUENCY 0x0104
- #define CONN_DST_LFO_STARTDELAY 0x0105
-
- /* EG1 Destinations */
- #define CONN_DST_EG1_ATTACKTIME 0x0206
- #define CONN_DST_EG1_DECAYTIME 0x0207
- #define CONN_DST_EG1_RESERVED 0x0208
- #define CONN_DST_EG1_RELEASETIME 0x0209
- #define CONN_DST_EG1_SUSTAINLEVEL 0x020a
-
- /* EG2 Destinations */
- #define CONN_DST_EG2_ATTACKTIME 0x030a
- #define CONN_DST_EG2_DECAYTIME 0x030b
- #define CONN_DST_EG2_RESERVED 0x030c
- #define CONN_DST_EG2_RELEASETIME 0x030d
- #define CONN_DST_EG2_SUSTAINLEVEL 0x030e
-
- #define CONN_TRN_NONE 0x0000
- #define CONN_TRN_CONCAVE 0x0001
-
- typedef struct _DLSVERSION {
- DWORD dwVersionMS;
- DWORD dwVersionLS;
- }DLSVERSION, FAR *LPDLSVERSION;
-
-
- typedef struct _CONNECTION {
- USHORT usSource;
- USHORT usControl;
- USHORT usDestination;
- USHORT usTransform;
- LONG lScale;
- }CONNECTION, FAR *LPCONNECTION;
-
-
- /* Level 1 Articulation Data */
-
- typedef struct _CONNECTIONLIST {
- ULONG cbSize; /* size of the connection list structure */
- ULONG cConnections; /* count of connections in the list */
- } CONNECTIONLIST, FAR *LPCONNECTIONLIST;
-
-
-
- /*
- Generic type defines for regions and instruments
- */
-
- typedef struct _RGNRANGE {
- USHORT usLow;
- USHORT usHigh;
- }RGNRANGE, FAR * LPRGNRANGE;
-
- #define F_INSTRUMENT_DRUMS 0x80000000
-
- typedef struct _MIDILOCALE {
- ULONG ulBank;
- ULONG ulInstrument;
- }MIDILOCALE, FAR *LPMIDILOCALE;
-
- /*
- Header structures found in an DLS file for collection, instruments, and
- regions.
- */
-
- #define F_RGN_OPTION_SELFNONEXCLUSIVE 0x0001
-
- typedef struct _RGNHEADER {
- RGNRANGE RangeKey; /* Key range */
- RGNRANGE RangeVelocity; /* Velocity Range */
- USHORT fusOptions; /* Synthesis options for this range */
- USHORT usKeyGroup; /* Key grouping for non simultaneous play
- 0 = no group, 1 up is group
- for Level 1 only groups 1-15 are allowed */
- }RGNHEADER, FAR *LPRGNHEADER;
-
- typedef struct _INSTHEADER {
- ULONG cRegions; /* Count of regions in this instrument */
- MIDILOCALE Locale; /* Intended MIDI locale of this instrument */
- }INSTHEADER, FAR *LPINSTHEADER;
-
- typedef struct _DLSHEADER {
- ULONG cInstruments; /* Count of instruments in the collection */
- }DLSHEADER, FAR *LPDLSHEADER;
-
- /*
- definitions for the Wave link structure
- */
-
- /***** For level 1 only WAVELINK_CHANNEL_MONO is valid ****
- ulChannel allows for up to 32 channels of audio with each bit position
- specifiying a channel of playback */
-
- #define WAVELINK_CHANNEL_LEFT 0x0001
- #define WAVELINK_CHANNEL_RIGHT 0x0002
-
- #define F_WAVELINK_PHASE_MASTER 0x0001
-
- typedef struct _WAVELINK { /* any paths or links are stored right after struct */
- USHORT fusOptions; /* options flags for this wave */
- USHORT usPhaseGroup; /* Phase grouping for locking channels */
- ULONG ulChannel; /* channel placement */
- ULONG ulTableIndex; /* index into the wave pool table, 0 based */
- }WAVELINK, FAR *LPWAVELINK;
-
- #define POOL_CUE_NULL 0xffffffff
-
- typedef struct _POOLCUE {
- // ULONG ulEntryIndex; /* Index entry in the list */
- ULONG ulOffset; /* Offset to the entry in the list */
- }POOLCUE, FAR *LPPOOLCUE;
-
- typedef struct _POOLTABLE {
- ULONG cbSize; /* size of the pool table structure */
- ULONG cCues; /* count of cues in the list */
- } POOLTABLE, FAR *LPPOOLTABLE;
-
- /*
- Structures for the "wsmp" chunk
- */
-
- #define F_WSMP_NO_TRUNCATION 0x0001
- #define F_WSMP_NO_COMPRESSION 0x0002
-
-
- typedef struct _rwsmp {
- ULONG cbSize;
- USHORT usUnityNote; /* MIDI Unity Playback Note */
- SHORT sFineTune; /* Fine Tune in log tuning */
- LONG lAttenuation; /* Overall Attenuation to be applied to data */
- ULONG fulOptions; /* Flag options */
- ULONG cSampleLoops; /* Count of Sample loops, 0 loops is one shot */
- } WSMPL, FAR *LPWSMPL;
-
-
- /* This loop type is a normal forward playing loop which is continually
- played until the envelope reaches an off threshold in the release
- portion of the volume envelope */
-
- #define WLOOP_TYPE_FORWARD 0
-
- typedef struct _rloop {
- ULONG cbSize;
- ULONG ulType; /* Loop Type */
- ULONG ulStart; /* Start of loop in samples */
- ULONG ulLength; /* Length of loop in samples */
- } WLOOP, FAR *LPWLOOP;
-
- #endif /* _INC_DLS */
+ /*
+
+ dls.h
+
+ Description:
+
+ Interface defines and structures for the Instrument Collection Form
+ RIFF DLS.
+
+ Written by Sonic Foundry 1996. Released for public use.
+
+ */
+
+ #ifndef _INC_DLS
+ #define _INC_DLS
+
+ /*
+
+ Layout of an instrument collection:
+
+
+ RIFF [] 'DLS ' [colh,INSTLIST,WAVEPOOL,INFOLIST]
+
+ INSTLIST
+ LIST [] 'lins'
+ LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
+ LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
+ LIST [] 'ins ' [insh,RGNLIST,ARTLIST,INFOLIST]
+
+ RGNLIST
+ LIST [] 'lrgn'
+ LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
+ LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
+ LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
+
+ ARTLIST
+ LIST [] 'lart'
+ 'art1' level 1 Articulation connection graph
+ 'art2' level 2 Articulation connection graph
+ '3rd1' Possible 3rd party articulation structure 1
+ '3rd2' Possible 3rd party articulation structure 2 .... and so on
+
+ WAVEPOOL
+ ptbl [] [pool table]
+ LIST [] 'wvpl'
+ [path],
+ [path],
+ LIST [] 'wave',RIFFWAVE
+ LIST [] 'wave',RIFFWAVE
+ LIST [] 'wave',RIFFWAVE
+ LIST [] 'wave',RIFFWAVE
+ LIST [] 'wave',RIFFWAVE
+
+ INFOLIST
+ LIST [] 'INFO'
+ 'icmt' 'One of those crazy comments.'
+ 'icop' 'Copyright (C) 1996 Sonic Foundry'
+
+ */
+
+
+ /*
+ FOURCC's used in the DLS file
+ */
+/* shree */
+//#define FAR
+
+/* shree
+
+ #define FOURCC_DLS mmioFOURCC('D','L','S',' ')
+ #define FOURCC_COLH mmioFOURCC('c','o','l','h')
+ #define FOURCC_WVPL mmioFOURCC('w','v','p','l')
+ #define FOURCC_PTBL mmioFOURCC('p','t','b','l')
+ #define FOURCC_PATH mmioFOURCC('p','a','t','h')
+ #define FOURCC_wave mmioFOURCC('w','a','v','e')
+ #define FOURCC_LINS mmioFOURCC('l','i','n','s')
+ #define FOURCC_INS mmioFOURCC('i','n','s',' ')
+ #define FOURCC_INSH mmioFOURCC('i','n','s','h')
+ #define FOURCC_LRGN mmioFOURCC('l','r','g','n')
+ #define FOURCC_RGN mmioFOURCC('r','g','n',' ')
+ #define FOURCC_RGNH mmioFOURCC('r','g','n','h')
+ #define FOURCC_LART mmioFOURCC('l','a','r','t')
+ #define FOURCC_ART1 mmioFOURCC('a','r','t','1')
+ #define FOURCC_WLNK mmioFOURCC('w','l','n','k')
+ #define FOURCC_WSMP mmioFOURCC('w','s','m','p')
+ #define FOURCC_VERS mmioFOURCC('v','e','r','s')
+*/
+ /*
+ Articulation connection graph definitions
+ */
+
+ /* Generic Sources */
+ #define CONN_SRC_NONE 0x0000
+ #define CONN_SRC_LFO 0x0001
+ #define CONN_SRC_KEYONVELOCITY 0x0002
+ #define CONN_SRC_KEYNUMBER 0x0003
+ #define CONN_SRC_EG1 0x0004
+ #define CONN_SRC_EG2 0x0005
+ #define CONN_SRC_PITCHWHEEL 0x0006
+
+ /* Midi Controllers 0-127 */
+ #define CONN_SRC_CC1 0x0081
+ #define CONN_SRC_CC7 0x0087
+ #define CONN_SRC_CC10 0x008a
+ #define CONN_SRC_CC11 0x008b
+
+ /* Registered Parameter Numbers */
+ #define CONN_SRC_RPN0 0x0100
+ #define CONN_SRC_RPN1 0x0101
+ #define CONN_SRC_RPN2 0x0102
+
+ /* Generic Destinations */
+ #define CONN_DST_NONE 0x0000
+ #define CONN_DST_ATTENUATION 0x0001
+ #define CONN_DST_RESERVED 0x0002
+ #define CONN_DST_PITCH 0x0003
+ #define CONN_DST_PAN 0x0004
+
+ /* LFO Destinations */
+ #define CONN_DST_LFO_FREQUENCY 0x0104
+ #define CONN_DST_LFO_STARTDELAY 0x0105
+
+ /* EG1 Destinations */
+ #define CONN_DST_EG1_ATTACKTIME 0x0206
+ #define CONN_DST_EG1_DECAYTIME 0x0207
+ #define CONN_DST_EG1_RESERVED 0x0208
+ #define CONN_DST_EG1_RELEASETIME 0x0209
+ #define CONN_DST_EG1_SUSTAINLEVEL 0x020a
+
+ /* EG2 Destinations */
+ #define CONN_DST_EG2_ATTACKTIME 0x030a
+ #define CONN_DST_EG2_DECAYTIME 0x030b
+ #define CONN_DST_EG2_RESERVED 0x030c
+ #define CONN_DST_EG2_RELEASETIME 0x030d
+ #define CONN_DST_EG2_SUSTAINLEVEL 0x030e
+
+ #define CONN_TRN_NONE 0x0000
+ #define CONN_TRN_CONCAVE 0x0001
+
+ typedef struct _DLSVERSION {
+ DWORD dwVersionMS;
+ DWORD dwVersionLS;
+ }DLSVERSION, FAR *LPDLSVERSION;
+
+
+ typedef struct _CONNECTION {
+ USHORT usSource;
+ USHORT usControl;
+ USHORT usDestination;
+ USHORT usTransform;
+ LONG lScale;
+ }CONNECTION, FAR *LPCONNECTION;
+
+
+ /* Level 1 Articulation Data */
+
+ typedef struct _CONNECTIONLIST {
+ ULONG cbSize; /* size of the connection list structure */
+ ULONG cConnections; /* count of connections in the list */
+ } CONNECTIONLIST, FAR *LPCONNECTIONLIST;
+
+
+
+ /*
+ Generic type defines for regions and instruments
+ */
+
+ typedef struct _RGNRANGE {
+ USHORT usLow;
+ USHORT usHigh;
+ }RGNRANGE, FAR * LPRGNRANGE;
+
+ #define F_INSTRUMENT_DRUMS 0x80000000
+
+ typedef struct _MIDILOCALE {
+ ULONG ulBank;
+ ULONG ulInstrument;
+ }MIDILOCALE, FAR *LPMIDILOCALE;
+
+ /*
+ Header structures found in an DLS file for collection, instruments, and
+ regions.
+ */
+
+ #define F_RGN_OPTION_SELFNONEXCLUSIVE 0x0001
+
+ typedef struct _RGNHEADER {
+ RGNRANGE RangeKey; /* Key range */
+ RGNRANGE RangeVelocity; /* Velocity Range */
+ USHORT fusOptions; /* Synthesis options for this range */
+ USHORT usKeyGroup; /* Key grouping for non simultaneous play
+ 0 = no group, 1 up is group
+ for Level 1 only groups 1-15 are allowed */
+ }RGNHEADER, FAR *LPRGNHEADER;
+
+ typedef struct _INSTHEADER {
+ ULONG cRegions; /* Count of regions in this instrument */
+ MIDILOCALE Locale; /* Intended MIDI locale of this instrument */
+ }INSTHEADER, FAR *LPINSTHEADER;
+
+ typedef struct _DLSHEADER {
+ ULONG cInstruments; /* Count of instruments in the collection */
+ }DLSHEADER, FAR *LPDLSHEADER;
+
+ /*
+ definitions for the Wave link structure
+ */
+
+ /***** For level 1 only WAVELINK_CHANNEL_MONO is valid ****
+ ulChannel allows for up to 32 channels of audio with each bit position
+ specifiying a channel of playback */
+
+ #define WAVELINK_CHANNEL_LEFT 0x0001
+ #define WAVELINK_CHANNEL_RIGHT 0x0002
+
+ #define F_WAVELINK_PHASE_MASTER 0x0001
+
+ typedef struct _WAVELINK { /* any paths or links are stored right after struct */
+ USHORT fusOptions; /* options flags for this wave */
+ USHORT usPhaseGroup; /* Phase grouping for locking channels */
+ ULONG ulChannel; /* channel placement */
+ ULONG ulTableIndex; /* index into the wave pool table, 0 based */
+ }WAVELINK, FAR *LPWAVELINK;
+
+ #define POOL_CUE_NULL 0xffffffff
+
+ typedef struct _POOLCUE {
+ // ULONG ulEntryIndex; /* Index entry in the list */
+ ULONG ulOffset; /* Offset to the entry in the list */
+ }POOLCUE, FAR *LPPOOLCUE;
+
+ typedef struct _POOLTABLE {
+ ULONG cbSize; /* size of the pool table structure */
+ ULONG cCues; /* count of cues in the list */
+ } POOLTABLE, FAR *LPPOOLTABLE;
+
+ /*
+ Structures for the "wsmp" chunk
+ */
+
+ #define F_WSMP_NO_TRUNCATION 0x0001
+ #define F_WSMP_NO_COMPRESSION 0x0002
+
+
+ typedef struct _rwsmp {
+ ULONG cbSize;
+ USHORT usUnityNote; /* MIDI Unity Playback Note */
+ SHORT sFineTune; /* Fine Tune in log tuning */
+ LONG lAttenuation; /* Overall Attenuation to be applied to data */
+ ULONG fulOptions; /* Flag options */
+ ULONG cSampleLoops; /* Count of Sample loops, 0 loops is one shot */
+ } WSMPL, FAR *LPWSMPL;
+
+
+ /* This loop type is a normal forward playing loop which is continually
+ played until the envelope reaches an off threshold in the release
+ portion of the volume envelope */
+
+ #define WLOOP_TYPE_FORWARD 0
+
+ typedef struct _rloop {
+ ULONG cbSize;
+ ULONG ulType; /* Loop Type */
+ ULONG ulStart; /* Start of loop in samples */
+ ULONG ulLength; /* Length of loop in samples */
+ } WLOOP, FAR *LPWLOOP;
+
+ #endif /* _INC_DLS */