Prepare to use DSVOICEPROPS for buffer/stream classes.
This commit is contained in:
parent
7039332abd
commit
ced70f2334
|
@ -105,6 +105,7 @@ struct X_CDirectSoundBuffer
|
|||
LONG Xb_VolumeMixbin;
|
||||
DWORD Xb_dwHeadroom;
|
||||
X_DSENVOLOPEDESC Xb_EnvolopeDesc;
|
||||
X_DSVOICEPROPS Xb_VoiceProperties;
|
||||
};
|
||||
|
||||
//Custom flags (4 bytes support up to 31 shifts,starting from 0)
|
||||
|
@ -256,6 +257,7 @@ class X_CDirectSoundStream
|
|||
LONG Xb_VolumeMixbin;
|
||||
DWORD Xb_dwHeadroom;
|
||||
X_DSENVOLOPEDESC Xb_EnvolopeDesc;
|
||||
X_DSVOICEPROPS Xb_VoiceProperties;
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
|
|
|
@ -318,7 +318,7 @@ LOGRENDER(X_DSBUFFERDESC)
|
|||
LOGRENDER_MEMBER_TYPE(DSBCAPS_FLAG, dwFlags)
|
||||
LOGRENDER_MEMBER(dwBufferBytes)
|
||||
LOGRENDER_MEMBER_TYPE(LPWAVEFORMATEX, lpwfxFormat)
|
||||
LOGRENDER_MEMBER(lpMixBins) // TODO: Need loop support since lpMixBins is dynamic array.
|
||||
LOGRENDER_MEMBER(lpMixBinsOutput) // TODO: Need loop support since lpMixBinsOutput is dynamic array.
|
||||
LOGRENDER_MEMBER(dwInputMixBin)
|
||||
;
|
||||
}
|
||||
|
@ -332,7 +332,7 @@ LOGRENDER(X_DSSTREAMDESC)
|
|||
LOGRENDER_MEMBER_TYPE(LPWAVEFORMATEX, lpwfxFormat)
|
||||
LOGRENDER_MEMBER_TYPE(void*, lpfnCallback)
|
||||
LOGRENDER_MEMBER(lpvContext)
|
||||
LOGRENDER_MEMBER(lpMixBins) // TODO: Need loop support since lpMixBins is dynamic array.
|
||||
LOGRENDER_MEMBER(lpMixBinsOutput) // TODO: Need loop support since lpMixBinsOutput is dynamic array.
|
||||
;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,32 @@
|
|||
|
||||
#define WAVE_FORMAT_XBOX_ADPCM 0x0069
|
||||
|
||||
// XDSMIXBIN Flags
|
||||
#define XDSMIXBIN_FRONT_LEFT 0
|
||||
#define XDSMIXBIN_FRONT_RIGHT 1
|
||||
#define XDSMIXBIN_FRONT_CENTER 2
|
||||
#define XDSMIXBIN_LOW_FREQUENCY 3
|
||||
#define XDSMIXBIN_BACK_LEFT 4
|
||||
#define XDSMIXBIN_BACK_RIGHT 5
|
||||
#define XDSMIXBIN_SPEAKERS_MAX 6 // Max count for speakers
|
||||
// Other flags are used
|
||||
|
||||
// ******************************************************************
|
||||
// * X_DSMIXBINVOLUMEPAIR
|
||||
// ******************************************************************
|
||||
typedef struct _XDSMIXBINVOLUMEPAIR {
|
||||
DWORD dwMixBin;
|
||||
LONG lVolume;
|
||||
} X_DSMIXBINVOLUMEPAIR, *X_LPDSMIXBINVOLUMEPAIR;
|
||||
|
||||
// ******************************************************************
|
||||
// * X_DSMIXBINS
|
||||
// ******************************************************************
|
||||
typedef struct _XDSMIXBINS {
|
||||
DWORD dwCount;
|
||||
X_LPDSMIXBINVOLUMEPAIR lpMixBinVolumePairs;
|
||||
} X_DSMIXBINS, *X_LPDSMIXBINS;
|
||||
|
||||
// EmuIDirectSoundBuffer_Play flags
|
||||
#define X_DSBPLAY_LOOPING 0x00000001
|
||||
#define X_DSBPLAY_FROMSTART 0x00000002
|
||||
|
@ -92,7 +118,7 @@ struct X_DSBUFFERDESC
|
|||
DWORD dwFlags;
|
||||
DWORD dwBufferBytes;
|
||||
LPWAVEFORMATEX lpwfxFormat;
|
||||
LPVOID lpMixBins; // TODO: Implement
|
||||
X_LPDSMIXBINS lpMixBinsOutput;
|
||||
DWORD dwInputMixBin;
|
||||
};
|
||||
|
||||
|
@ -133,7 +159,7 @@ struct X_DSSTREAMDESC
|
|||
LPWAVEFORMATEX lpwfxFormat;
|
||||
LPFNXMOCALLBACK lpfnCallback;
|
||||
LPVOID lpvContext;
|
||||
PVOID lpMixBins; // TODO: Implement
|
||||
X_LPDSMIXBINS lpMixBinsOutput;
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -184,32 +210,6 @@ XMEDIAINFO, *PXEIDIAINFO, *LPXMEDIAINFO;
|
|||
#define XMO_STREAMF_IN_PLACE 0x00000010 // The object supports in-place modification of data
|
||||
#define XMO_STREAMF_MASK 0x0000001F
|
||||
|
||||
// XDSMIXBIN Flags
|
||||
#define XDSMIXBIN_FRONT_LEFT 0
|
||||
#define XDSMIXBIN_FRONT_RIGHT 1
|
||||
#define XDSMIXBIN_FRONT_CENTER 2
|
||||
#define XDSMIXBIN_LOW_FREQUENCY 3
|
||||
#define XDSMIXBIN_BACK_LEFT 4
|
||||
#define XDSMIXBIN_BACK_RIGHT 5
|
||||
#define XDSMIXBIN_SPEAKERS_MAX 6 // Max count for speakers
|
||||
// Other flags are used
|
||||
|
||||
// ******************************************************************
|
||||
// * X_DSMIXBINVOLUMEPAIR
|
||||
// ******************************************************************
|
||||
typedef struct _XDSMIXBINVOLUMEPAIR {
|
||||
DWORD dwMixBin;
|
||||
LONG lVolume;
|
||||
} X_DSMIXBINVOLUMEPAIR, *X_LPDSMIXBINVOLUMEPAIR;
|
||||
|
||||
// ******************************************************************
|
||||
// * X_DSMB
|
||||
// ******************************************************************
|
||||
typedef struct _XDSMIXBINS {
|
||||
DWORD dwCount;
|
||||
X_LPDSMIXBINVOLUMEPAIR lpMixBinVolumePairs;
|
||||
} X_DSMIXBINS, *X_LPDSMIXBINS;
|
||||
|
||||
// ******************************************************************
|
||||
// * X_DSFILTERDESC
|
||||
// ******************************************************************
|
||||
|
|
Loading…
Reference in New Issue