aboutsummaryrefslogtreecommitdiff
path: root/samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h
diff options
context:
space:
mode:
authorDave Clark <[email protected]>2018-02-28 17:22:22 -0500
committerDave Clark <[email protected]>2018-02-28 17:22:22 -0500
commit25528fd230f5f4298c35123a833cdb112675808e (patch)
treef5aca3f5ee5a7734df41e7b974a04c37ddff528e /samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h
parentPush GfeSDK #173 (diff)
downloadgfesdk-25528fd230f5f4298c35123a833cdb112675808e.tar.xz
gfesdk-25528fd230f5f4298c35123a833cdb112675808e.zip
Push SDK # 1.1.186
Documentation updates.
Diffstat (limited to 'samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h')
-rw-r--r--samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h b/samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h
new file mode 100644
index 0000000..66f6fbf
--- /dev/null
+++ b/samples/DX_APIUsage/DXUT/Optional/SDKwavefile.h
@@ -0,0 +1,59 @@
+//-----------------------------------------------------------------------------
+// File: WaveFile.h
+//
+// Copyright (c) Microsoft Corp. All rights reserved.
+//-----------------------------------------------------------------------------
+#ifndef DXUTWAVEFILE_H
+#define DXUTWAVEFILE_H
+
+//-----------------------------------------------------------------------------
+// Typing macros
+//-----------------------------------------------------------------------------
+#define WAVEFILE_READ 1
+#define WAVEFILE_WRITE 2
+
+//-----------------------------------------------------------------------------
+// Name: class CWaveFile
+// Desc: Encapsulates reading or writing sound data to or from a wave file
+//-----------------------------------------------------------------------------
+class CWaveFile
+{
+public:
+ WAVEFORMATEX* m_pwfx; // Pointer to WAVEFORMATEX structure
+ HMMIO m_hmmio; // MM I/O handle for the WAVE
+ MMCKINFO m_ck; // Multimedia RIFF chunk
+ MMCKINFO m_ckRiff; // Use in opening a WAVE file
+ DWORD m_dwSize; // The size of the wave file
+ MMIOINFO m_mmioinfoOut;
+ DWORD m_dwFlags;
+ BOOL m_bIsReadingFromMemory;
+ BYTE* m_pbData;
+ BYTE* m_pbDataCur;
+ ULONG m_ulDataSize;
+ CHAR* m_pResourceBuffer;
+
+protected:
+ HRESULT ReadMMIO();
+ HRESULT WriteMMIO( WAVEFORMATEX* pwfxDest );
+
+public:
+ CWaveFile();
+ ~CWaveFile();
+
+ HRESULT Open( LPWSTR strFileName, WAVEFORMATEX* pwfx, DWORD dwFlags );
+ HRESULT OpenFromMemory( BYTE* pbData, ULONG ulDataSize, WAVEFORMATEX* pwfx, DWORD dwFlags );
+ HRESULT Close();
+
+ HRESULT Read( BYTE* pBuffer, DWORD dwSizeToRead, DWORD* pdwSizeRead );
+ HRESULT Write( UINT nSizeToWrite, BYTE* pbData, UINT* pnSizeWrote );
+
+ DWORD GetSize();
+ HRESULT ResetFile();
+ WAVEFORMATEX* GetFormat()
+ {
+ return m_pwfx;
+ };
+};
+
+
+#endif // DXUTWAVEFILE_H