/* public_play.h */ /* the part of the play structure which is known * to everybody */ /* $Author: Espie $ * $Date: 91/05/12 16:00:00 $ * $Revision: 1.4 $ * $Log: public_play.h,v $ * Revision 1.4 91/05/12 16:00:00 Espie * Suppressed some unnecessary fields. * * Revision 1.3 91/05/09 17:38:09 Espie * Added mode (speed control) * * Revision 1.2 91/05/06 15:14:43 Espie * *** empty log message *** * * Revision 1.1 91/05/05 19:06:24 Espie * Initial revision * * */ struct pub_play { /* this is the main volume, should be in range 0-256 */ UWORD volume; /* get loaded ONLY with the right command */ UBYTE pattern, position; BOOL oneshot; ULONG command; BOOL resume; ULONG signal; struct Task *task; ULONG on_signal, signaled; struct song_info *info; struct sample_info **sample; UBYTE speed, finespeed; BYTE transpose; /* compatibility mode for speed */ BYTE mode; ULONG timebase, effectbase; /* need to know WHAT I'm trying to latch with... */ int cpu, sleep; }; #define NONE 0 #define NEWPOS 1 #define ONESHOT 2 #define AUTO_RESTART 3 #define STOP 4 #define RELOAD_INSTRUMENTS 5 /* oflags */ #define ENDED 1 #define SKIPPED 2 #define UNKNOWN 4 /* events to signal */ #define ON_END 1 #define ON_PATTERN 2 #define ON_PROBLEM 4 #define ON_SPEED_CHANGE 8 #define ON_COMMAND 16 #define ON_BLIP 32 /* states */ #define NORMAL_STATE 0 #define RESTART_STATE 1 /* for restarting audio (new note) */ #define REPLAY_STATE 2 /* for setting replay part */