home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio Plus 10-94
/
AUDIOPLUS.ISO
/
win3
/
players
/
soundr3b
/
dsound.h
< prev
next >
Wrap
Text File
|
1991-09-27
|
4KB
|
134 lines
/* DSOUND.H 3.0 (c) 1991 Aaron Wallace
This file provides useful prototypes and constants
for accessing DSOUND.DLL 3.0. */
/* These are the hardware devices supported: */
#define DS_INTERNAL 0
#define DS_SSOURCE 1
#define DS_SBLASTER 2
/* These constants can be used as the
defaults to PlaySound */
#define DSOUND_DEF_FREQ 22000
#define DSOUND_DEF_SAMPSIZE 0
#define DSOUND_DEF_VOLUME 10
#define DSOUND_DEF_SHIFT 4
/* These are the "reserved" delay values
that cause the use of either auto-detection
or timer use. Note that even if auto-detection
is on (EDelayValue=DS_AUTO in WIN.INI),
GetDelayValue() will return the actual
delay value that was calculated, *not* the
DS_AUTO constant. */
#define DS_TIMER 0
#define DS_INVALID 65534
#define DS_AUTO 65535
/* These define the offsets of the header of
the "simple" SOUNDER 1.0 file format.
All values are words. */
#define SND_SAMPSIZE_OFS 0
#define SND_FREQ_OFS 2
#define SND_VOLUME_OFS 4
#define SND_SHIFT_OFS 6
#define SND_SAMPLE_OFS 8
/* These define the offsets of the various
fields of the Martin Hepperle .SND format,
as used in his SoundTool application. */
#define MHSND_MAGIC_OFS 0
#define MHSND_RES_OFS 6
#define MHSND_LENGTH_OFS 8
#define MHSND_START_OFS 12
#define MHSND_END_OFS 16
#define MHSND_FREQ_OFS 20
#define MHSND_SAMPSIZE_OFS 22
#define MHSND_VOLUME_OFS 24
#define MHSND_SHIFT_OFS 26
#define MHSND_NAME_OFS 28
#define MHSND_SAMPLE_OFS 124
/* This defines the in-memory sound
format used in LoadSoundFile and PlaySoundImage
functions. Note that in allocating memory for
this structure, it reserves space for only one
sample byte. */
typedef struct _SNDHeader {
HANDLE reserved;
long length;
long start;
long end;
unsigned frequency;
unsigned sampleSize;
unsigned volume;
unsigned shift;
char name[96];
char samples[1];
} SNDHeader;
typedef SNDHeader far *LPSNDH;
/* Error codes returned from PlaySoundFile.
OK indicates no error. */
#define DS_OK 0
#define DS_FILEERROR 1
#define DS_BADFORMAT 2
#define DS_MEMERROR 3
/* Magic values for the type parameter of
PlaySoundFile. DS_GUESS will cause PSF to
try to guess the file's format, based on the
filename extension and/or header information. */
#define DS_GUESS 0
#define DS_SND 1
#define DS_MHSND 2
#define DS_SOU 3
#define DS_CANTDETECT 0
/* These are the function prototypes for all public
functions in DSOUND.DLL. */
int FAR PASCAL PlaySound(char huge *, DWORD, unsigned, unsigned, unsigned, unsigned);
int FAR PASCAL SoundFileType(LPSTR);
int FAR PASCAL PlaySoundImage(GLOBALHANDLE);
int FAR PASCAL PlaySoundResource(HANDLE);
long FAR PASCAL _llread(int, char huge *, long);
long FAR PASCAL _llwrite(int, char huge *, long);
int FAR PASCAL PlaySoundFile(LPSTR, int, unsigned, unsigned, unsigned, unsigned);
GLOBALHANDLE FAR PASCAL LoadSoundImage(LPSTR, int, unsigned, unsigned, unsigned, unsigned);
int FAR PASCAL FindBestDelay();
int FAR PASCAL GetDSoundVersion();
int FAR PASCAL GetDSoundVersionD(int);
void FAR PASCAL SetDelayValue(unsigned);
int FAR PASCAL GetDelayValue();
void FAR PASCAL SetVolume(unsigned);
int FAR PASCAL GetVolume();
int FAR PASCAL GetShiftValue();
void FAR PASCAL SetShiftValue(int);
void FAR PASCAL AboutDSound();
void FAR PASCAL AboutDSoundD(int);
BOOL FAR PASCAL UpdateClock(BOOL);
int FAR PASCAL GetSoundDevice();
void FAR PASCAL SetSoundDevice(int);
int FAR PASCAL GetSoundPort();
void FAR PASCAL SetSoundPort(int);