home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio Version 4.94
/
audioversion4.94knowledgemediaresourcelibraryoctober1994.iso
/
amiga
/
utils
/
exp_iv
/
song.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-05-12
|
2KB
|
95 lines
/* 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;
};