//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef WAVEFILE_H #define WAVEFILE_H #ifdef _WIN32 #pragma once #endif #include "SoundEmitterSystem/isoundemittersystembase.h" #include "sentence.h" class CAudioSource; class CWaveFile { public: // One or both may be valid CWaveFile( char const *filename ); ~CWaveFile(); static int GetLanguageId(); char const *GetName() const; char const *GetFileName() const; char const *GetSentenceText(); int GetPhonemeCount(); int GetWordCount(); bool IsAsyncLoading() const { return m_bAsyncLoading; } void SetAsyncLoading( bool async ) { m_bAsyncLoading = async; } bool HasLoadedSentenceInfo() const; void EnsureSentence(); void Play(); bool GetVoiceDuck(); /* void SetVoiceDuck( bool duck ); void ToggleVoiceDucking(); virtual void Checkout( bool updatestateicons = true ); virtual void Checkin( bool updatestateicons = true ); bool IsCheckedOut() const; */ int GetIconIndex() const; void SetThreadLoadedSentence( CSentence& sentence ); // void ExportValveDataChunk( char const *tempfile ); // void ImportValveDataChunk( char const *tempfile ); // void GetPhonemeExportFile( char *path, int maxlen ); private: CSentence m_Sentence; enum { MAX_SOUND_NAME = 256, MAX_SCRIPT_FILE = 64, MAX_SOUND_FILENAME = 128, }; char m_szName[ MAX_SOUND_FILENAME ]; char m_szFileName[ MAX_SOUND_FILENAME ]; // CVCDFile *m_pOwner; // CSoundEntry *m_pOwnerSE; bool m_bSentenceLoaded; bool m_bAsyncLoading; }; #endif // WAVEFILE_H