home *** CD-ROM | disk | FTP | other *** search
- /* song.h */
-
- /* internal data structures for the soundtracker player routine....
- * will have little in common with the binary format
- */
-
- /* $Author: Espie $
- * $Date: 91/05/12 19:55:19 $
- * $Revision: 1.12 $
- * $Log: song.h,v $
- * Revision 1.12 91/05/12 19:55:19 Espie
- * Shortened events.
- *
- * Revision 1.11 91/05/06 23:35:29 Espie
- * Changed finetune from UBYTE to BYTE.
- *
- * Revision 1.10 91/05/05 04:00:56 Espie
- * Changed the definition of the number of samples.
- *
- * Revision 1.9 91/05/02 01:31:31 Espie
- * A new sample.
- *
- * Revision 1.8 91/04/30 00:35:59 Espie
- * Stable version III.
- *
- * Revision 1.7 91/04/28 22:54:07 Espie
- * Changed the misleading command to parameters.
- *
- * Revision 1.6 91/04/23 21:30:12 Espie
- * New cleanup field (see load.c).
- *
- * Revision 1.5 91/04/21 20:05:58 Espie
- * Notes added.
- *
- * Revision 1.4 91/04/21 12:11:57 Espie
- * Stable version, known as bunch II.
- * Also features ``right'' log description.
- *
- * Revision 1.3 91/04/19 13:22:27 Espie
- *
- * Revision 1.2 91/04/18 02:25:13 Espie
- * bunch I.
- *
- * Revision 1.1 91/04/17 18:52:32 Espie
- * Initial revision
- *
- */
-
- #define NUMBER_SAMPLES 32
- #define BLOCK_LENGTH 64
- #define NUMBER_TRACKS 4
-
- struct sample_info
- {
- char *name;
- UWORD length, rp_offset, rp_length;
- UBYTE volume;
- BYTE finetune;
- UWORD *start, *rp_start;
- };
-
- struct event
- {
- UBYTE sample_number;
- UBYTE note;
- UBYTE effect;
- UBYTE parameters;
- };
-
- struct block
- {
- struct event e[NUMBER_TRACKS][BLOCK_LENGTH];
- };
-
-
- struct song_info
- {
- UBYTE length;
- struct block * *pblocks;
-
- UBYTE total;
- struct block *physical;
- UBYTE thing;
- };
-
- struct song
- {
- char *title;
- CLEAN clear;
- /* sample 0 is always a dummy sample */
- struct sample_info *samples[NUMBER_SAMPLES];
- struct song_info *info;
- };
-
-