Added 3 more verbose log detail to DirectSound plugin
Added WAVEFORMAT_CHANNEL, WAVEFORMAT_TAG, and DS_BCAPS
This commit is contained in:
parent
553883322c
commit
1607c5a386
|
@ -114,9 +114,8 @@ struct X_CDirectSoundBuffer
|
|||
LONG Xb_VolumeMixbin;
|
||||
DWORD Xb_dwHeadroom;
|
||||
X_DSENVOLOPEDESC Xb_EnvolopeDesc;
|
||||
};
|
||||
};
|
||||
|
||||
#define WAVE_FORMAT_XBOX_ADPCM 0x0069
|
||||
//Custom flags (4 bytes support up to 31 shifts,starting from 0)
|
||||
#define DSE_FLAG_PCM (1 << 0)
|
||||
#define DSE_FLAG_XADPCM (1 << 1)
|
||||
|
|
|
@ -34,6 +34,30 @@
|
|||
|
||||
#include "Logging.h"
|
||||
#include "DirectSoundLogging.hpp"
|
||||
#include <mmreg.h>
|
||||
|
||||
namespace XTL {
|
||||
#include "..\XbDSoundTypes.h"
|
||||
}
|
||||
|
||||
FLAGS2STR_START(DS_BCAPS)
|
||||
FLAG2STR(DSBCAPS_PRIMARYBUFFER)
|
||||
FLAG2STR(DSBCAPS_STATIC)
|
||||
FLAG2STR(DSBCAPS_LOCHARDWARE)
|
||||
FLAG2STR(DSBCAPS_LOCSOFTWARE)
|
||||
FLAG2STR(DSBCAPS_CTRL3D)
|
||||
FLAG2STR(DSBCAPS_CTRLFREQUENCY)
|
||||
FLAG2STR(DSBCAPS_CTRLPAN)
|
||||
FLAG2STR(DSBCAPS_CTRLVOLUME)
|
||||
FLAG2STR(DSBCAPS_CTRLPOSITIONNOTIFY)
|
||||
FLAG2STR(DSBCAPS_CTRLFX)
|
||||
FLAG2STR(DSBCAPS_STICKYFOCUS)
|
||||
FLAG2STR(DSBCAPS_GLOBALFOCUS)
|
||||
FLAG2STR(DSBCAPS_GETCURRENTPOSITION2)
|
||||
FLAG2STR(DSBCAPS_MUTE3DATMAXDISTANCE)
|
||||
FLAG2STR(DSBCAPS_LOCDEFER)
|
||||
FLAG2STR(DSBCAPS_TRUEPLAYPOSITION)
|
||||
FLAGS2STR_END_and_LOGRENDER(DS_BCAPS)
|
||||
|
||||
ENUM2STR_START(DS_RESULT)
|
||||
ENUM2STR_CASE(DS_OK)
|
||||
|
@ -63,11 +87,35 @@ ENUM2STR_START(DS_RESULT)
|
|||
ENUM2STR_CASE(DSERR_FXUNAVAILABLE)
|
||||
ENUM2STR_END_and_LOGRENDER(DS_RESULT)
|
||||
|
||||
ENUM2STR_START(WAVEFORMAT_TAG)
|
||||
ENUM2STR_CASE(WAVE_FORMAT_PCM)
|
||||
ENUM2STR_CASE(WAVE_FORMAT_ADPCM)
|
||||
ENUM2STR_CASE(WAVE_FORMAT_XBOX_ADPCM)
|
||||
ENUM2STR_CASE(WAVE_FORMAT_EXTENSIBLE)
|
||||
ENUM2STR_END_and_LOGRENDER(WAVEFORMAT_TAG)
|
||||
|
||||
#define WFC_MONO 1
|
||||
#define WFC_STEREO 2
|
||||
#define WFC_2POINT1 3
|
||||
#define WFC_QUAD 4
|
||||
#define WFC_5POINT0 5
|
||||
#define WFC_5POINT1 6
|
||||
|
||||
ENUM2STR_START(WAVEFORMAT_CHANNEL)
|
||||
ENUM2STR_CASE(WFC_MONO)
|
||||
ENUM2STR_CASE(WFC_STEREO)
|
||||
ENUM2STR_CASE(WFC_2POINT1)
|
||||
ENUM2STR_CASE(WFC_QUAD)
|
||||
ENUM2STR_CASE(WFC_5POINT0)
|
||||
ENUM2STR_CASE(WFC_5POINT1)
|
||||
ENUM2STR_END_and_LOGRENDER(WAVEFORMAT_CHANNEL)
|
||||
|
||||
LOGRENDER(WAVEFORMATEX)
|
||||
{
|
||||
// TODO: Implement case for different type of structure data.
|
||||
return os
|
||||
LOGRENDER_MEMBER(wFormatTag)
|
||||
LOGRENDER_MEMBER(nChannels)
|
||||
LOGRENDER_MEMBER_TYPE(WAVEFORMAT_TAG, wFormatTag)
|
||||
LOGRENDER_MEMBER_TYPE(WAVEFORMAT_CHANNEL, nChannels)
|
||||
LOGRENDER_MEMBER(nSamplesPerSec)
|
||||
LOGRENDER_MEMBER(nAvgBytesPerSec)
|
||||
LOGRENDER_MEMBER(nBlockAlign)
|
||||
|
@ -80,7 +128,7 @@ LOGRENDER(DSBUFFERDESC)
|
|||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwSize)
|
||||
LOGRENDER_MEMBER(dwFlags)
|
||||
LOGRENDER_MEMBER_TYPE(DS_BCAPS, dwFlags)
|
||||
LOGRENDER_MEMBER(dwBufferBytes)
|
||||
LOGRENDER_MEMBER(dwReserved)
|
||||
LOGRENDER_MEMBER_TYPE(LPWAVEFORMATEX, lpwfxFormat)
|
||||
|
|
|
@ -37,8 +37,14 @@
|
|||
#include <dsound.h>
|
||||
#include "Logging.h"
|
||||
|
||||
enum DS_BCAPS;
|
||||
enum DS_RESULT;
|
||||
enum WAVEFORMAT_CHANNEL;
|
||||
enum WAVEFORMAT_TAG;
|
||||
FLAGS2STR_HEADER(DS_BCAPS)
|
||||
ENUM2STR_HEADER(DS_RESULT)
|
||||
ENUM2STR_HEADER(WAVEFORMAT_CHANNEL)
|
||||
ENUM2STR_HEADER(WAVEFORMAT_TAG)
|
||||
|
||||
LOGRENDER_HEADER(WAVEFORMATEX)
|
||||
LOGRENDER_HEADER(DSBUFFERDESC)
|
||||
|
|
|
@ -302,7 +302,7 @@ LOGRENDER(X_DSBUFFERDESC)
|
|||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwSize)
|
||||
LOGRENDER_MEMBER(dwFlags)
|
||||
LOGRENDER_MEMBER(dwFlags) // TODO: Need custom flags setup
|
||||
LOGRENDER_MEMBER(dwBufferBytes)
|
||||
LOGRENDER_MEMBER_TYPE(LPWAVEFORMATEX, lpwfxFormat)
|
||||
LOGRENDER_MEMBER(lpMixBins)
|
||||
|
@ -314,7 +314,7 @@ LOGRENDER(X_DSBUFFERDESC)
|
|||
LOGRENDER(X_DSSTREAMDESC)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwFlags)
|
||||
LOGRENDER_MEMBER(dwFlags) // TODO: Need custom flags setup
|
||||
LOGRENDER_MEMBER(dwMaxAttachedPackets)
|
||||
LOGRENDER_MEMBER_TYPE(LPWAVEFORMATEX, lpwfxFormat)
|
||||
LOGRENDER_MEMBER_TYPE(void*, lpfnCallback)
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
// TODO: Also need to use fixed size to able support cross-platform without extra work.
|
||||
// Such as uint32_t, uint16_t, etc.
|
||||
|
||||
#define WAVE_FORMAT_XBOX_ADPCM 0x0069
|
||||
|
||||
// EmuIDirectSoundBuffer_Play flags
|
||||
#define X_DSBPLAY_LOOPING 0x00000001
|
||||
#define X_DSBPLAY_FROMSTART 0x00000002
|
||||
|
|
Loading…
Reference in New Issue