home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
348.lha
/
chatterbox_v1.0
/
sources
/
channels.h
< prev
next >
Wrap
Text File
|
1990-02-14
|
1KB
|
48 lines
/* channels.h - karl's smus structure that defines stuff about channels */
/* define the IOB array entries in sound structures */
#define MAX_CHANNELS 4
#define MAX_CHANNEL_IOBS 7
#define ALLOC_IOB 0 /* Use this IOB when allocating a channel */
#define ONESHOT_IOB 1 /* Used for oneshot portion of musical notes */
#define LOOP_IOB 2 /* Use to play the looped part of the sound */
#define STOP_IOB 3 /* Use this IOB to stop playing the sound */
#define PERVOL_IOB 4 /* Use to change a playing sound's period & volume */
#define PRECEDENCE_IOB 5 /* Use to change a playing sound's precedence */
#define FREE_IOB 6 /* Use to release the allocated channel */
typedef struct ChannelStruct
{
int flags;
struct SMUS_IOAudio
{
struct IOAudio smusIOB;
struct ChannelStruct *channelp;
} *IOBs[MAX_CHANNEL_IOBS];
Sample *samptr;
} Channel;
/* definitions of Amiga's sound port bits */
#define LEFT0 1
#define RIGHT0 2
#define RIGHT1 4
#define LEFT1 8
#define LEFTSIDE (LEFT0 | LEFT1)
#define RIGHTSIDE (RIGHT0 | RIGHT1)
/* flag bits for Track.flags */
#define SHOT_PLAYING 1
#define LOOP_PLAYING 2
#define PRECEDENCE_QUEUED 4
#define LEFT 8 /* user parameter, which channel? */
#define RIGHT 0 /* placeholder user parameter, opposite of LEFT */
#define EITHER 16 /* user parameter, don't care which channel */
/* end of channels.h */