unit SMS;

interface

	const
		AnyChannel = -1;
		SMSTime1 = 26;
		SMSTime2 = 30;
		SMSTime4 = 42;

	procedure SMSInit;
	procedure SMSExit;
	procedure SMSSetMode (TheMode: Integer);
	function SMSGetMode: Integer;
	procedure SMSSwitcher (TheEvent: EventRecord);
	procedure SMSStart (SoundID: Integer);
	procedure SMSStartLo (SoundID: Integer);
	procedure SMSStartMid (SoundID: Integer);
	procedure SMSStartHi (SoundID: Integer);
	procedure SMSStartChan (SoundID, Channel: Integer);
	procedure SMSStartBind (SoundID: Integer; CompletionProc: Ptr);
	procedure SMSStartGen (SoundID, Channel, Priority, Repetitions: Integer; CompletionProc: Ptr);
	procedure SMSStop;
	procedure SMSStopP (Priority: Integer);
	procedure SMSStopChan (Channel: Integer);
	procedure SMSStopGen (Channel, Priority: Integer);
	procedure SMSLoad (SoundID: Integer);
	procedure SMSUnload (SoundID: Integer);
	procedure SMSLock (SoundID: Integer);
	procedure SMSUnlock (SoundID: Integer);
	procedure SMSSoundOn;
	procedure SMSSoundOff;
	procedure SMSSetState (State: Boolean);
	function SMSGetState: Boolean;
	function SMSChannelFree (Channel: Integer): Boolean;
	function SMSDecompress (TheSound: Handle): Integer;
	procedure SMSSetTiming (OneChan, TwoChan, ThreeChan: Integer);
	function SMSSoundManager: Boolean;

implementation

	procedure SMSInit;
	EXTERNAL;
	procedure SMSExit;
	EXTERNAL;
	procedure SMSSetMode;
	EXTERNAL;
	function SMSGetMode;
	EXTERNAL;
	procedure SMSSwitcher;
	EXTERNAL;
	procedure SMSStart;
	EXTERNAL;
	procedure SMSStartLo;
	EXTERNAL;
	procedure SMSStartMid;
	EXTERNAL;
	procedure SMSStartHi;
	EXTERNAL;
	procedure SMSStartChan;
	EXTERNAL;
	procedure SMSStartBind;
	EXTERNAL;
	procedure SMSStartGen;
	EXTERNAL;
	procedure SMSStop;
	EXTERNAL;
	procedure SMSStopP;
	EXTERNAL;
	procedure SMSStopChan;
	EXTERNAL;
	procedure SMSStopGen;
	EXTERNAL;
	procedure SMSLoad;
	EXTERNAL;
	procedure SMSUnload;
	EXTERNAL;
	procedure SMSLock;
	EXTERNAL;
	procedure SMSUnlock;
	EXTERNAL;
	procedure SMSSoundOn;
	EXTERNAL;
	procedure SMSSoundOff;
	EXTERNAL;
	procedure SMSSetState;
	EXTERNAL;
	function SMSGetState;
	EXTERNAL;
	function SMSChannelFree;
	EXTERNAL;
	function SMSDecompress;
	EXTERNAL;
	procedure SMSSetTiming;
	EXTERNAL;
	function SMSSoundManager: Boolean;
	EXTERNAL;

end.