Include every documented flag/enum/struct from XbDSoundTypes.h for automate verbose output
This commit is contained in:
parent
2d7378daa4
commit
553883322c
|
@ -87,6 +87,15 @@ LOGRENDER(DSBUFFERDESC)
|
|||
;
|
||||
}
|
||||
|
||||
LOGRENDER(D3DVECTOR)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(x)
|
||||
LOGRENDER_MEMBER(y)
|
||||
LOGRENDER_MEMBER(z)
|
||||
;
|
||||
}
|
||||
|
||||
std::string DirectSoundErrorString(HRESULT hResult)
|
||||
{
|
||||
switch (hResult) {
|
||||
|
|
|
@ -42,6 +42,7 @@ ENUM2STR_HEADER(DS_RESULT)
|
|||
|
||||
LOGRENDER_HEADER(WAVEFORMATEX)
|
||||
LOGRENDER_HEADER(DSBUFFERDESC)
|
||||
LOGRENDER_HEADER(D3DVECTOR)
|
||||
|
||||
std::string DirectSoundErrorString(HRESULT hResult);
|
||||
|
||||
|
|
|
@ -32,12 +32,273 @@
|
|||
// *
|
||||
// ******************************************************************
|
||||
|
||||
#include <dsound.h> // Temporary placeholder until XbDSoundTypes.h is cross-platform + filled in the blanks
|
||||
#include "Logging.h"
|
||||
#include "XbDSoundLogging.hpp"
|
||||
|
||||
// For XTL::DSBUFFERDESC and XTL::DSSTREAMDESC temporary usage
|
||||
extern LOGRENDER_HEADER(WAVEFORMATEX)
|
||||
extern LOGRENDER_HEADER(D3DVECTOR)
|
||||
|
||||
LOGRENDER(XTL::X_DSBUFFERDESC)
|
||||
namespace XTL {
|
||||
|
||||
// DSound class usage
|
||||
ENUM2STR_START(DSMIXBIN_SPEAKER)
|
||||
ENUM2STR_CASE(XDSMIXBIN_FRONT_LEFT)
|
||||
ENUM2STR_CASE(XDSMIXBIN_FRONT_RIGHT)
|
||||
ENUM2STR_CASE(XDSMIXBIN_FRONT_CENTER)
|
||||
ENUM2STR_CASE(XDSMIXBIN_LOW_FREQUENCY)
|
||||
ENUM2STR_CASE(XDSMIXBIN_BACK_LEFT)
|
||||
ENUM2STR_CASE(XDSMIXBIN_BACK_RIGHT)
|
||||
//ENUM2STR_CASE(XDSMIXBIN_SPEAKERS_MAX) // NOTE: Only used as a counter.
|
||||
ENUM2STR_END_and_LOGRENDER(DSMIXBIN_SPEAKER)
|
||||
|
||||
FLAGS2STR_START(DSSPEAKER_FLAG)
|
||||
FLAG2STR(X_DSSPEAKER_STEREO)
|
||||
FLAG2STR(X_DSSPEAKER_MONO)
|
||||
FLAG2STR(X_DSSPEAKER_SURROUND)
|
||||
FLAG2STR(X_DSSPEAKER_ENABLE_AC3)
|
||||
FLAG2STR(X_DSSPEAKER_ENABLE_DTS)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSSPEAKER_FLAG)
|
||||
|
||||
// DSound generic flag/enum
|
||||
ENUM2STR_START(DSFILTER_MODE)
|
||||
ENUM2STR_CASE(DSFILTER_MODE_BYPASS)
|
||||
ENUM2STR_CASE(DSFILTER_MODE_DLS2)
|
||||
ENUM2STR_CASE(DSFILTER_MODE_PARAMEQ)
|
||||
ENUM2STR_CASE(DSFILTER_MODE_MULTI)
|
||||
ENUM2STR_END_and_LOGRENDER(DSFILTER_MODE)
|
||||
|
||||
// DSound Buffer flag/enum
|
||||
FLAGS2STR_START(DSBPAUSE_FLAG)
|
||||
FLAG2STR(X_DSBPAUSE_RESUME)
|
||||
FLAG2STR(X_DSBPAUSE_PAUSE)
|
||||
FLAG2STR(X_DSBPAUSE_SYNCHPLAYBACK)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSBPAUSE_FLAG)
|
||||
|
||||
FLAGS2STR_START(DSBPLAY_FLAG)
|
||||
FLAG2STR(X_DSBPLAY_LOOPING)
|
||||
FLAG2STR(X_DSBPLAY_FROMSTART)
|
||||
FLAG2STR(X_DSBPLAY_SYNCHPLAYBACK)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSBPLAY_FLAG)
|
||||
|
||||
FLAGS2STR_START(DSBSTATUS_FLAG)
|
||||
FLAG2STR(X_DSBSTATUS_PLAYING)
|
||||
FLAG2STR(X_DSBSTATUS_PAUSED)
|
||||
FLAG2STR(X_DSBSTATUS_LOOPING)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSBSTATUS_FLAG)
|
||||
|
||||
FLAGS2STR_START(DSBSTOPEX_FLAG)
|
||||
FLAG2STR(X_DSBSTOPEX_IMMEDIATE)
|
||||
FLAG2STR(X_DSBSTOPEX_ENVELOPE)
|
||||
FLAG2STR(X_DSBSTOPEX_RELEASEWAVEFORM)
|
||||
//FLAG2STR(X_DSBSTOPEX_ALL) // NOTE: Only a combine of envelope and releasewaveform flags together.
|
||||
FLAGS2STR_END_and_LOGRENDER(DSBSTOPEX_FLAG)
|
||||
|
||||
// DSound Stream flag/enum
|
||||
FLAGS2STR_START(DSSFLUSHEX_FLAG)
|
||||
FLAG2STR(X_DSSFLUSHEX_IMMEDIATE)
|
||||
FLAG2STR(X_DSSFLUSHEX_ASYNC)
|
||||
FLAG2STR(X_DSSFLUSHEX_ENVELOPE)
|
||||
FLAG2STR(X_DSSFLUSHEX_ENVELOPE2)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSSFLUSHEX_FLAG)
|
||||
|
||||
FLAGS2STR_START(DSSPAUSE_FLAG)
|
||||
FLAG2STR(X_DSSPAUSE_RESUME)
|
||||
FLAG2STR(X_DSSPAUSE_PAUSE)
|
||||
FLAG2STR(X_DSSPAUSE_SYNCHPLAYBACK)
|
||||
FLAG2STR(X_DSSPAUSE_PAUSENOACTIVATE)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSSPAUSE_FLAG)
|
||||
|
||||
FLAGS2STR_START(DSSSTATUS_FLAG)
|
||||
FLAG2STR(X_DSSSTATUS_READY)
|
||||
FLAG2STR(X_DSSSTATUS_PLAYING)
|
||||
FLAG2STR(X_DSSSTATUS_PAUSED)
|
||||
FLAG2STR(X_DSSSTATUS_STARVED)
|
||||
FLAG2STR(X_DSSSTATUS_ENVELOPECOMPLETE)
|
||||
FLAGS2STR_END_and_LOGRENDER(DSSSTATUS_FLAG)
|
||||
|
||||
// DSound XMedia flag/enum
|
||||
ENUM2STR_START(XMP_STATUS)
|
||||
ENUM2STR_CASE(XMP_STATUS_SUCCESS)
|
||||
ENUM2STR_CASE(XMP_STATUS_PENDING)
|
||||
ENUM2STR_CASE(XMP_STATUS_FLUSHED)
|
||||
ENUM2STR_CASE(XMP_STATUS_FAILURE)
|
||||
ENUM2STR_CASE(XMP_STATUS_RELEASE_CXBXR) // NOTE: Custom status for Cxbx-Reloaded.
|
||||
ENUM2STR_END_and_LOGRENDER(XMP_STATUS)
|
||||
|
||||
FLAGS2STR_START(XMO_STREAMF)
|
||||
FLAG2STR(XMO_STREAMF_FIXED_SAMPLE_SIZE)
|
||||
FLAG2STR(XMO_STREAMF_FIXED_PACKET_ALIGNMENT)
|
||||
FLAG2STR(XMO_STREAMF_INPUT_ASYNC)
|
||||
FLAG2STR(XMO_STREAMF_OUTPUT_ASYNC)
|
||||
FLAG2STR(XMO_STREAMF_IN_PLACE)
|
||||
FLAG2STR(XMO_STREAMF_MASK)
|
||||
FLAGS2STR_END_and_LOGRENDER(XMO_STREAMF)
|
||||
|
||||
// DSound class usage
|
||||
LOGRENDER(X_DSCAPS)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwFree2DBuffers)
|
||||
LOGRENDER_MEMBER(dwFree3DBuffers)
|
||||
LOGRENDER_MEMBER(dwFreeBufferSGEs)
|
||||
LOGRENDER_MEMBER(dwMemoryAllocated)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSI3DL2LISTENER)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(lRoom)
|
||||
LOGRENDER_MEMBER(lRoomHF)
|
||||
LOGRENDER_MEMBER(flRoomRolloffFactor)
|
||||
LOGRENDER_MEMBER(flDecayTime)
|
||||
LOGRENDER_MEMBER(flDecayHFRatio)
|
||||
LOGRENDER_MEMBER(lReflections)
|
||||
LOGRENDER_MEMBER(flReflectionsDelay)
|
||||
LOGRENDER_MEMBER(lReverb)
|
||||
LOGRENDER_MEMBER(flReverbDelay)
|
||||
LOGRENDER_MEMBER(flDiffusion)
|
||||
LOGRENDER_MEMBER(flDensity)
|
||||
LOGRENDER_MEMBER(flHFReference)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSMIXBINS)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwCount)
|
||||
// TODO: Need to make a loop somehow for complete output base on dwCount variable.
|
||||
LOGRENDER_MEMBER_TYPE(X_LPDSMIXBINSVOLUMEPAIR, lpMixBinVolumePairs)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSMIXBINSVOLUMEPAIR)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwMixBin)
|
||||
LOGRENDER_MEMBER(lVolume)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSOUTPUTLEVELS)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwAnalogLeftTotalPeak)
|
||||
LOGRENDER_MEMBER(dwAnalogRightTotalPeak)
|
||||
LOGRENDER_MEMBER(dwAnalogLeftTotalRMS)
|
||||
LOGRENDER_MEMBER(dwAnalogRightTotalRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontLeftPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontCenterPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontRightPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalBackLeftPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalBackRightPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalLowFrequencyPeak)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontLeftRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontCenterRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalFrontRightRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalBackLeftRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalBackRightRMS)
|
||||
LOGRENDER_MEMBER(dwDigitalLowFrequencyRMS)
|
||||
;
|
||||
}
|
||||
|
||||
// DSound generic class usage
|
||||
LOGRENDER(X_DS3DBUFFER)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwSize)
|
||||
LOGRENDER_MEMBER_TYPE(D3DVECTOR, vPosition)
|
||||
LOGRENDER_MEMBER_TYPE(D3DVECTOR, vVelocity)
|
||||
LOGRENDER_MEMBER(dwInsideConeAngle)
|
||||
LOGRENDER_MEMBER(dwOutsideConeAngle)
|
||||
LOGRENDER_MEMBER_TYPE(D3DVECTOR, vConeOrientation)
|
||||
LOGRENDER_MEMBER(lConeOutsideVolume)
|
||||
LOGRENDER_MEMBER(flMinDistance)
|
||||
LOGRENDER_MEMBER(flMaxDistance)
|
||||
LOGRENDER_MEMBER(dwMode)
|
||||
LOGRENDER_MEMBER(flDistanceFactor)
|
||||
LOGRENDER_MEMBER(flRolloffFactor)
|
||||
LOGRENDER_MEMBER(flDopplerFactor)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSENVOLOPEDESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwEnvelopGenerator)
|
||||
LOGRENDER_MEMBER(dwMode)
|
||||
LOGRENDER_MEMBER(dwDelay)
|
||||
LOGRENDER_MEMBER(dwAttack)
|
||||
LOGRENDER_MEMBER(dwHold)
|
||||
LOGRENDER_MEMBER(dwDecay)
|
||||
LOGRENDER_MEMBER(dwRelease)
|
||||
LOGRENDER_MEMBER(dwSustain)
|
||||
LOGRENDER_MEMBER(lPitchScale)
|
||||
LOGRENDER_MEMBER(lFilterCutOff)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSFILTERDESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER_TYPE(DSFILTER_MODE, dwMode)
|
||||
LOGRENDER_MEMBER(dwQCoefficient)
|
||||
LOGRENDER_MEMBER(adwCoefficients)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSI3DL2BUFFER)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(lDirect)
|
||||
LOGRENDER_MEMBER(lDirectHF)
|
||||
LOGRENDER_MEMBER(lRoom)
|
||||
LOGRENDER_MEMBER(lRoomHF)
|
||||
LOGRENDER_MEMBER(flRoomRolloffFactor)
|
||||
LOGRENDER_MEMBER_TYPE(X_DSI3DL2OBSTRUCTION, Obstruction)
|
||||
LOGRENDER_MEMBER_TYPE(X_DSI3DL2OCCLUSION, Occlusion)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSI3DL2OBSTRUCTION)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(lHFLevel)
|
||||
LOGRENDER_MEMBER(flLFRatio)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(X_DSI3DL2OCCLUSION)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(lHFLevel)
|
||||
LOGRENDER_MEMBER(flLFRatio)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(DSLFODESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwLFO)
|
||||
LOGRENDER_MEMBER(dwDelay)
|
||||
LOGRENDER_MEMBER(dwDelta)
|
||||
LOGRENDER_MEMBER(lPitchModulation)
|
||||
LOGRENDER_MEMBER(lFilterCutOffRange)
|
||||
LOGRENDER_MEMBER(lAmplitudeModulation)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(XBOXADPCMWAVEFORMAT)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER_TYPE(WAVEFORMATEX, wfx)
|
||||
LOGRENDER_MEMBER(wSamplesPerBlock)
|
||||
;
|
||||
}
|
||||
|
||||
// DSound Buffer class usage
|
||||
LOGRENDER(X_DSBUFFERDESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwSize)
|
||||
|
@ -49,7 +310,8 @@ LOGRENDER(XTL::X_DSBUFFERDESC)
|
|||
;
|
||||
}
|
||||
|
||||
LOGRENDER(XTL::X_DSSTREAMDESC)
|
||||
// DSound Stream class usage
|
||||
LOGRENDER(X_DSSTREAMDESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwFlags)
|
||||
|
@ -60,3 +322,30 @@ LOGRENDER(XTL::X_DSSTREAMDESC)
|
|||
LOGRENDER_MEMBER(lpMixBins)
|
||||
;
|
||||
}
|
||||
|
||||
// DSound XMedia class usage
|
||||
LOGRENDER(XMEDIAINFO)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwFlags)
|
||||
LOGRENDER_MEMBER(dwInputSize)
|
||||
LOGRENDER_MEMBER(dwOutputSize)
|
||||
LOGRENDER_MEMBER(dwMaxLookahead)
|
||||
;
|
||||
}
|
||||
|
||||
LOGRENDER(XMEDIAPACKET)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(pvBuffer)
|
||||
LOGRENDER_MEMBER(dwMaxSize)
|
||||
LOGRENDER_MEMBER(pdwCompletedSize)
|
||||
LOGRENDER_MEMBER_TYPE(XMO_STREAMF*, pdwStatus)
|
||||
// NOTE: hCompletionEvent and pContext are a union.
|
||||
//LOGRENDER_MEMBER(hCompletionEvent)
|
||||
//LOGRENDER_MEMBER(pContext)
|
||||
LOGRENDER_MEMBER(prtTimestamp)
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -37,9 +37,60 @@
|
|||
#include "Logging.h"
|
||||
namespace XTL {
|
||||
#include "XbDSoundTypes.h"
|
||||
|
||||
// DSound flag/enum
|
||||
enum DSMIXBIN_SPEAKER;
|
||||
enum DSSPEAKER_FLAG;
|
||||
// DSound generic flag/enum
|
||||
enum DSFILTER_MODE;
|
||||
// DSound Buffer flag/enum
|
||||
enum DSBPAUSE_FLAG;
|
||||
enum DSBPLAY_FLAG;
|
||||
enum DSBSTATUS_FLAG;
|
||||
enum DSBSTOPEX_FLAG;
|
||||
// DSound Stream flag/enum
|
||||
enum DSSFLUSHEX_FLAG;
|
||||
enum DSSPAUSE_FLAG;
|
||||
enum DSSSTATUS_FLAG;
|
||||
// DSound XMedia flag/enum
|
||||
enum XMP_STATUS;
|
||||
enum XMO_STREAMF;
|
||||
|
||||
// DSound flag/enum
|
||||
FLAGS2STR_HEADER(DSSPEAKER_FLAG)
|
||||
// DSound generic flag/enum
|
||||
ENUM2STR_HEADER(DSFILTER_MODE)
|
||||
// DSound Buffer flag/enum
|
||||
FLAGS2STR_HEADER(DSBPAUSE_FLAG)
|
||||
FLAGS2STR_HEADER(DSBPLAY_FLAG)
|
||||
FLAGS2STR_HEADER(DSBSTATUS_FLAG)
|
||||
FLAGS2STR_HEADER(DSBSTOPEX_FLAG)
|
||||
// DSound Stream flag/enum
|
||||
FLAGS2STR_HEADER(DSSFLUSHEX_FLAG)
|
||||
FLAGS2STR_HEADER(DSSPAUSE_FLAG)
|
||||
FLAGS2STR_HEADER(DSSSTATUS_FLAG)
|
||||
|
||||
// DSound class usage
|
||||
LOGRENDER_HEADER(X_DSCAPS)
|
||||
LOGRENDER_HEADER(X_DSI3DL2LISTENER)
|
||||
LOGRENDER_HEADER(X_DSMIXBINS)
|
||||
LOGRENDER_HEADER(X_DSMIXBINSVOLUMEPAIR)
|
||||
LOGRENDER_HEADER(X_DSOUTPUTLEVELS)
|
||||
// DSound generic class usage
|
||||
LOGRENDER_HEADER(X_DS3DBUFFER)
|
||||
LOGRENDER_HEADER(X_DSENVOLOPEDESC)
|
||||
LOGRENDER_HEADER(X_DSFILTERDESC)
|
||||
LOGRENDER_HEADER(X_DSI3DL2BUFFER)
|
||||
LOGRENDER_HEADER(X_DSI3DL2OBSTRUCTION)
|
||||
LOGRENDER_HEADER(X_DSI3DL2OCCLUSION)
|
||||
LOGRENDER_HEADER(DSLFODESC)
|
||||
LOGRENDER_HEADER(XBOXADPCMWAVEFORMAT)
|
||||
// DSound Buffer class usage
|
||||
LOGRENDER_HEADER(X_DSBUFFERDESC)
|
||||
// DSound Stream class usage
|
||||
LOGRENDER_HEADER(X_DSSTREAMDESC)
|
||||
// DSound XMedia class usage
|
||||
LOGRENDER_HEADER(XMEDIAINFO)
|
||||
LOGRENDER_HEADER(XMEDIAPACKET)
|
||||
}
|
||||
|
||||
LOGRENDER_HEADER(XTL::X_DSSTREAMDESC)
|
||||
LOGRENDER_HEADER(XTL::X_DSBUFFERDESC)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -162,7 +162,7 @@ typedef struct _XMEDIAINFO
|
|||
DWORD dwInputSize;
|
||||
DWORD dwOutputSize;
|
||||
DWORD dwMaxLookahead;
|
||||
}
|
||||
}
|
||||
XMEDIAINFO, *PXEIDIAINFO, *LPXMEDIAINFO;
|
||||
|
||||
// XMEDIAINFO Flags
|
||||
|
|
Loading…
Reference in New Issue