#define AnyChannel -1
#define SMSTime1 26
#define SMSTime2 30
#define SMSTime4 42

#define kNoChannel		0
#define kOneChannel		1
#define kTwoChannel		2
#define kFourChannel	4
		
pascal extern void SMSINIT(void);
pascal extern void SMSEXIT(void);
pascal extern void SMSSETMODE (short theMode);
pascal extern int SMSGETMODE (void);
pascal extern void SMSSWITCHER (EventRecord *theEvent);
pascal extern void SMSSTART (short soundID);
pascal extern void SMSSTARTLO (short soundID);
pascal extern void SMSSTARTMID (short soundID);
pascal extern void SMSSTARTHI (short soundID);
pascal extern void SMSSTARTCHAN (short soundID, short channel);
pascal extern void SMSSTARTBIND (short soundID, Ptr completionProc);
pascal extern void SMSSTARTGEN (short soundID, short channel, short priority, short repetitions, Ptr completionProc);
pascal extern void SMSSTOP (void);
pascal extern void SMSSTOPP (short priority);
pascal extern void SMSSTOPCHAN (short channel);
pascal extern void SMSSTOPGEN (short channel, short priority);
pascal extern void SMSLOAD (short soundID);
pascal extern void SMSUNLOAD (short soundID);
pascal extern void SMSLOCK (short soundID);
pascal extern void SMSUNLOCK (short soundID);
pascal extern void SMSSOUNDON (void);
pascal extern void SMSSOUNDOFF (void);
pascal extern void SMSSETSTATE (Boolean state);
pascal extern char SMSGETSTATE (void);
pascal extern char SMSCHANNELFREE (short channel);
pascal extern int SMSDECOMPRESS (Handle theSound);
pascal extern void SMSSETIMING (short oneChan, short twoChan, short threeChan);
pascal extern char SMSSOUNDMANAGER (void);