diff --git a/Sources/Plasma/PubUtilLib/plAudio/CMakeLists.txt b/Sources/Plasma/PubUtilLib/plAudio/CMakeLists.txt
index 23c90923..27da66ce 100644
--- a/Sources/Plasma/PubUtilLib/plAudio/CMakeLists.txt
+++ b/Sources/Plasma/PubUtilLib/plAudio/CMakeLists.txt
@@ -16,7 +16,6 @@ set(plAudio_SOURCES
plSound.cpp
plSoundEvent.cpp
plVoiceChat.cpp
- plWAVClipBuffer.cpp
plWin32GroupedSound.cpp
plWin32Sound.cpp
plWin32StaticSound.cpp
@@ -34,7 +33,6 @@ set(plAudio_HEADERS
plSound.h
plSoundEvent.h
plVoiceChat.h
- plWAVClipBuffer.h
plWin32GroupedSound.h
plWin32Sound.h
plWin32StaticSound.h
diff --git a/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.cpp b/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.cpp
deleted file mode 100644
index cc34aea2..00000000
--- a/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/*==LICENSE==*
-
-CyanWorlds.com Engine - MMOG client, server and tools
-Copyright (C) 2011 Cyan Worlds, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-
-You can contact Cyan Worlds, Inc. by email legal@cyan.com
- or by snail mail at:
- Cyan Worlds, Inc.
- 14617 N Newport Hwy
- Mead, WA 99021
-
-*==LICENSE==*/
-//////////////////////////////////////////////////////////////////////////////
-// //
-// plWAVClipBuffer - Helper class for writing out WAV data in a buffered //
-// manner, with support for clipping off the specified //
-// amount at the end, but without knowing beforehand //
-// exactly how much data we'll have. //
-// //
-// The algorithm goes something like this: we keep two buffers, both the //
-// size of the amount we want to clip. We then start filling in the first //
-// buffer, overflowing into the second buffer and wrapping back to the //
-// first again in a circular fashion. When we fill up one buffer and are //
-// about to advance to the next, we write that next buffer out. Why? //
-// Because we know that, even if we got no more data in, we have enough //
-// data in the first buffer to clip out the amount we want, so the other //
-// half (which will have older data, being a circular buffer) can be //
-// written out safely. //
-// //
-//////////////////////////////////////////////////////////////////////////////
-
-#include "hsTypes.h"
-#include "plWAVClipBuffer.h"
-#include "hsStream.h"
-#include "hsUtils.h"
-
-#include "plAudioCore/plWavFile.h"
-
-
-//// Constructor/Destructor //////////////////////////////////////////////////
-
-plWAVClipBuffer::plWAVClipBuffer( UInt32 clipSize, CWaveFile *outFile )
-{
- fBuffers[ 0 ] = fBuffers[ 1 ] = nil;
- fFlushCalled = true;
- Init( clipSize, outFile );
-}
-
-plWAVClipBuffer::~plWAVClipBuffer()
-{
- IShutdown();
-}
-
-//// Init & IShutdown ////////////////////////////////////////////////////////
-
-void plWAVClipBuffer::Init( UInt32 clipSize, CWaveFile *outFile )
-{
- IShutdown();
- if( clipSize > 0 )
- {
- fBuffers[ 0 ] = TRACKED_NEW UInt8[ clipSize ];
- fBuffers[ 1 ] = TRACKED_NEW UInt8[ clipSize ];
- memset( fBuffers[ 0 ], 0, clipSize );
- memset( fBuffers[ 1 ], 0, clipSize );
- }
- fWhichBuffer = 0;
- fBufferSize = clipSize;
- fCursor = 0;
- fFirstFlip = true;
- fOutFile = outFile;
- fFlushCalled = false;
-}
-
-void plWAVClipBuffer::IShutdown( void )
-{
- hsAssert( fFlushCalled, "WAVClipBuffer shut down without flushing it!!!" );
-
- delete [] fBuffers[ 0 ];
- delete [] fBuffers[ 1 ];
-}
-
-//// WriteData ///////////////////////////////////////////////////////////////
-// The main workhorse; call this to add data to the buffer.
-
-hsBool plWAVClipBuffer::WriteData( UInt32 size, UInt8 *data )
-{
- while( size > 0 )
- {
- UInt32 toWrite = fBufferSize - fCursor;
- if( size < toWrite )
- {
- // Just write, haven't filled a buffer yet
- memcpy( fBuffers[ fWhichBuffer ] + fCursor, data, size );
- data += size;
- fCursor += size;
- return true; // All done!
- }
-
- // Fill up to the end of a buffer, then flip
- memcpy( fBuffers[ fWhichBuffer ] + fCursor, data, toWrite );
- data += toWrite;
- fCursor += toWrite;
- size -= toWrite;
-
- // Flip now...
- fWhichBuffer = 1 - fWhichBuffer;
- fCursor = 0;
-
- // Now we can write out this buffer, since it'll be old data and
- // we have enough in the other buffer to clip with. The *only*
- // time we don't want to do this is the first time we flip, since
- // at that point, the buffer we just flipped to hasn't been filled yet.
- // (Every time afterwards, we'll always be flipping to a buffer with old
- // data).
- if( fFirstFlip )
- fFirstFlip = false;
- else
- {
- // Write it out before we overwrite it!
- UINT written;
- HRESULT hr = fOutFile->Write( fBufferSize, fBuffers[ fWhichBuffer ], &written );
-
- if( FAILED( hr ) )
- {
- hsAssert( false, "ERROR writing WMA stream to WAV file" );
- return false;
- }
- else if( written != fBufferSize )
- {
- hsAssert( false, "Unable to write all of WMA stream to WAV file" );
- return false;
- }
- }
- }
-
- // Cleanly got here, so just return success
- return true;
-}
-
-//// Flush ///////////////////////////////////////////////////////////////////
-// Writes out the remaining data, minus our clip value (which is fBufferSize)
-// So here's our situation: at this point, one of two things could be true:
-//
-// 1) We haven't received enough data to clip by, at which point we don't
-// write any more and bail (this will be true if fFirstFlip is still true)
-//
-// 2) Our cursor is at 0, which means we have one filled buffer that hasn't been
-// written out and our current buffer is empty. At this point, we discard the
-// filled buffer (which is precisely the length we want to clip by) and we're done.
-//
-// 3) The buffer we're on should be partially filled, while the other one is older
-// data. So, we want to write out the older data and the partial buffer all the way,
-// except for the clip size. Since we can therefore never write out any data in the
-// partial buffer (since that count will always be less than the clip size and thus be
-// the second half of what we clip), we simply figure out how much of the other one we
-// clip and write out the rest.
-
-hsBool plWAVClipBuffer::Flush( void )
-{
- fFlushCalled = true;
-
- if( fFirstFlip )
- return false; // We failed--not enough data to clip with
-
- if( fCursor == 0 )
- {
- // Our current buffer is empty, so the other buffer is precisely what we clip.
- // So just discard and return successfully
- return true;
- }
-
- // The hard case--we always discard the partial buffer we're on, so figure out
- // how much we want to save of the other buffer. The math is:
- // Partial buffer amount we're clipping = fCursor
- // Amount of other buffer we're clipping = fBufferSize - fCursor
- // Amount of other buffer we're writing = fBufferSize - ( fBufferSize - fCursor ) = fCursor
- // Go figure :)
-
- UInt32 toWrite = fCursor;
-
- UINT written;
- HRESULT hr = fOutFile->Write( toWrite, fBuffers[ 1 - fWhichBuffer ], &written );
-
- if( FAILED( hr ) )
- {
- hsAssert( false, "ERROR writing WMA stream to WAV file" );
- return false;
- }
- else if( written != toWrite )
- {
- hsAssert( false, "Unable to write all of WMA stream to WAV file" );
- return false;
- }
-
- // All done!
- return true;
-}
diff --git a/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.h b/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.h
deleted file mode 100644
index a631c703..00000000
--- a/Sources/Plasma/PubUtilLib/plAudio/plWAVClipBuffer.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*==LICENSE==*
-
-CyanWorlds.com Engine - MMOG client, server and tools
-Copyright (C) 2011 Cyan Worlds, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-
-You can contact Cyan Worlds, Inc. by email legal@cyan.com
- or by snail mail at:
- Cyan Worlds, Inc.
- 14617 N Newport Hwy
- Mead, WA 99021
-
-*==LICENSE==*/
-//////////////////////////////////////////////////////////////////////////////
-// //
-// plWAVClipBuffer - Helper class for writing out WAV data in a buffered //
-// manner, with support for clipping off the specified //
-// amount at the end, but without knowing beforehand //
-// exactly how much data we'll have. //
-// //
-// The algorithm goes something like this: we keep two buffers, both the //
-// size of the amount we want to clip. We then start filling in the first //
-// buffer, overflowing into the second buffer and wrapping back to the //
-// first again in a circular fashion. When we fill up one buffer and are //
-// about to advance to the next, we write that next buffer out. Why? //
-// Because we know that, even if we got no more data in, we have enough //
-// data in the first buffer to clip out the amount we want, so the other //
-// half (which will have older data, being a circular buffer) can be //
-// written out safely. //
-// //
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef _plWAVClipBuffer_h
-#define _plWAVClipBuffer_h
-
-//// Class Definition ////////////////////////////////////////////////////////
-
-class CWaveFile;
-class plWAVClipBuffer
-{
-public:
-
- plWAVClipBuffer( UInt32 clipSize, CWaveFile *outFile );
- ~plWAVClipBuffer();
-
- // Inits the buffer. Can re-init if you wish
- void Init( UInt32 clipSize, CWaveFile *outFile );
-
- // Writes/adds data to the buffer
- hsBool WriteData( UInt32 size, UInt8 *data );
-
- // Call at the end, flushes the buffer and performs the clipping
- hsBool Flush( void );
-
-protected:
- UInt8 *fBuffers[ 2 ];
- UInt8 fWhichBuffer; // 0 or 1
- UInt32 fCursor, fBufferSize;
- hsBool fFirstFlip, fFlushCalled;
-
- CWaveFile *fOutFile;
-
- void IShutdown( void );
-};
-
-#endif //_plWAVClipBuffer_h