home *** CD-ROM | disk | FTP | other *** search
- /* SAMPLER.H
- *
- * (c) 12-20-85 Todor Fay
- */
-
- struct EnvelopeInfo {
- struct EnvelopeInfo *next;
- unsigned char index;
- struct IOAudio *startmsg, *loopmsg, *flushmsg;
- unsigned char port;
- unsigned char stage;
- unsigned char value;
- unsigned char channel;
- long rate1, rate2, rate3, rate4;
- long level1, leve2, level3;
- unsigned short volume;
- unsigned short period;
- unsigned char amplitude;
- char posslope;
- long pad[8];
- };
-
- struct SoundData {
- char *data;
- UWORD loopstart;
- UWORD loopend;
- UWORD length;
- UWORD start;
- };
-
- struct ChannelData {
- int rate1, rate2, rate3, rate4;
- int level1, level2, level3;
- long pad[8]; /* Future expansion! */
- unsigned short sensitivity;
- unsigned short start;
- unsigned short loopstart;
- unsigned short loopend;
- unsigned short pbendamount; /* Current pitchbend index. */
- unsigned short pbendrange; /* Current pitchbend range. */
- short tune; /* Tuning factor. */
- struct SoundData sounddata[10];
- unsigned short pbend[129]; /* Tuned, scaled pitchbend. */
- char name[20];
- char transpose;
- char status;
- char type;
- };
-
- #define CD_TMASK 0x0F
- #define CD_DOLOOPS 0x10
- #define CD_DOUBLE 0x20
- #define CD_SAVED 0x40
- #define CD_MARK 0x80
- #define CD_EMPTY 0x00
-
- struct SamplerState {
- long length;
- char namesfile[40];
- struct ChannelData *channeldata[16];
- struct Envelopeinfo *envelopeinfo;
- struct MsgPort *soundport;
- long addchannel;
- };
-
-