mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.8 KiB
70 lines
1.8 KiB
#ifndef __GRACE_INCLUDED__
|
|
#define __GRACE_INCLUDED__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void mxInitialize(LPDSOUND pds);
|
|
HANDLE mxTerminate(LPDSOUND pds);
|
|
void mxSignalRemix(LPDSOUND pds, DWORD dwDelay);
|
|
|
|
DSVAL mxGetPosition(LPDSBUFFER pdsb, LPDWORD pdwPlayCursor, LPDWORD pdwWriteCursor, LPDWORD pdwMixCursor);
|
|
void mxListAdd(LPDSBUFFER pdsb);
|
|
void mxListRemove(LPDSBUFFER pdsb);
|
|
BOOL mxListIsValid(LPDSOUND pds);
|
|
|
|
//
|
|
// Amount of padding we add to the write cursor returned
|
|
// by ds drivers, expressed in milliseconds
|
|
//
|
|
#define MIXER_WRITEPAD 15
|
|
|
|
//
|
|
// Maximum amount of data we will premix, expressed in milliseconds
|
|
//
|
|
#define MIXER_MAXPREMIX 1000
|
|
|
|
//
|
|
// Possible mixer signals, per ds object
|
|
//
|
|
#define DSMIXERSIGNAL_REMIX 0x00000001
|
|
|
|
//
|
|
// Possible reasons for signaling the mixer to remix, per buffer
|
|
//
|
|
#define DSBMIXERSIGNAL_SETPOSITION 0x00000001
|
|
|
|
//
|
|
// Possible states of a Direct Sound buffer being mixed
|
|
//
|
|
#define DSBMIXERSTATE_NEW 0
|
|
#define DSBMIXERSTATE_LOOPING 1
|
|
#define DSBMIXERSTATE_NOTLOOPING 2
|
|
#define DSBMIXERSTATE_ENDING_WAITINGPRIMARYWRAP 3
|
|
#define DSBMIXERSTATE_ENDING 4
|
|
|
|
#define DSBMIXERSUBSTATE_NEW 0
|
|
#define DSBMIXERSUBSTATE_STARTING_WAITINGPRIMARYWRAP 1
|
|
#define DSBMIXERSUBSTATE_STARTING 2
|
|
#define DSBMIXERSUBSTATE_STARTED 3
|
|
|
|
//
|
|
// Possible states of a Direct Sound primary buffer being mixed into
|
|
//
|
|
#define DSPBMIXERSTATE_START 0
|
|
#define DSPBMIXERSTATE_RESTART 1
|
|
#define DSPBMIXERSTATE_LOOPING 2
|
|
|
|
//
|
|
// Named events shared across Direct Sound client
|
|
// processes and the mixer thread
|
|
//
|
|
#define STRFORMAT_MIXEVENT_REMIX "%08XDirectSound_MixEvent_Remix"
|
|
#define STRFORMAT_MIXEVENT_TERMINATE "%08XDirectSound_MixEvent_Terminate"
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif
|
|
|
|
#endif /* __GRACE_INCLUDED__ */
|