
struct SOUNDOBJ {
	BYTE	*data_;
	ULONG	datalen;
	UWORD	rate;
	int	period;

	int	(*sound)();
	int	(*delete)();
};

#define SOCreate(fn)		SO_new((fn))
#define SODelete(p)		{(*(p)->delete)((p));free((char *)(p));}
#define SOSound(p)		(*(p)->sound)((p))
#define SOSetDuration(p,d)	(*(p)->duration=(d))
#define SOGetDuration(p,d)	(*(p)->duration)

extern struct SOUNDOBJ	*SO_new();

