home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio 4.94 - Over 11,000 Files
/
audio-11000.iso
/
msdos
/
sndbords
/
sndblstr
/
sb_book
/
sbdisk.exe
/
SBDISK
/
SBSIM
/
SBSIMDMO.H
< prev
next >
Wrap
Text File
|
1992-10-13
|
3KB
|
67 lines
#define VERSION 0x200
#define BUFSIZE 16535
#define FALSE 0
#define TRUE 1
#define STOPPED 0
#define PLAYING 1
#define PAUSED 2
#define HIBYTE(word) (word >> 8)
#define LOBYTE(word) (word & 0x0ff)
#define MK_FP(seg,ofs)((char _far *)((unsigned long)seg << 16) + ofs)
// SBSIM Error messages
typedef enum {SIMerr_IsBusy = 1, // SBSIM currently in use
SIMerr_BadDriver, // Bad driver specified
SIMerr_BadFunction, // Bad function specified
SIMerr_VoiceActive, // A voice process is already active
SIMerr_VMEMnoStart, // Couldn't start CT-VOICE
SIMerr_VDSKnoStart, // Couldn't start CTVDSK
SIMerr_BadSIMhandle, // Invalid SBSIM handle
SIMerr_BadBuffer, // Buffer not initialized yet
SIMerr_BadFile, // Bad file name given
SIMerr_BadFileHandle, // Bad file handle
SIMerr_NotInited, // Driver not started yet
SIMerr_NoXMS, // XMS driver not installed
SIMerr_NoSIMfree, // No free SBSIM handles
SIMerr_BadFileType, // Bad file type specified
SIMerr_BadFreeXMS, // Couldn't free XMS block
SIMerr_AuxBadSource, // Invalid source selected
SIMerr_BadPanGet, // Get pan position failed
SIMerr_BadPanSet, // Set pan position failed
SIMerr_BadVolSet, // Set volume failed
SIMerr_FPbadStart, // Couldn't start fade/pan
SIMerr_FPbadStop, // Couldn't staop fade/pan
SIMerr_FPbadPause, // Couldn't pause fade/pan
SIMerr_FPbadType, // Not a fade/pan operation
SIMerr_FPbadMode, // Bad mode for fade/pan
SIMerr_FPfailed, // Couldn't start fade/pan
SIMerr_FPnotFadePan, // Source not fading/panning
SIMerr_MusicActive, // FM or MIDI already playing
SIMerr_BadMapper // Bad MIDI mapper format
} SIMERR;
typedef enum {FM, DskVoice, MemVoice, AuxDrv, Midi} DRIVER;
typedef enum {MASTER, VOICE, SYNTH, CD, LINE, MIC} SOURCE;
//------------------------
// FUNCTION DECLARATIONS
//------------------------
unsigned FindSIM(void);
unsigned QueryVersion(void);
unsigned QueryDrivers(void);
SIMERR GetAddress(DRIVER driver, void far **address);
SIMERR GetBufferInfo(DRIVER driver, void far **address, unsigned *size);
SIMERR StartSnd(DRIVER driver, void far *ptr);
unsigned GetSndStat(DRIVER driver);
SIMERR PlaySnd(DRIVER driver);
void StopSnd(DRIVER driver);
void PauseSnd(DRIVER driver);
void ResumeSnd(DRIVER driver);
SIMERR GetVolume(SOURCE source, unsigned *volume);
SIMERR SetVolume(SOURCE source, unsigned volume);
void GetInputVol(unsigned *value);