You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.0 KiB
103 lines
2.0 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef WAVEBROWSER_H
|
||
|
#define WAVEBROWSER_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "mxtk/mxListView.h"
|
||
|
#include "commctrl.h"
|
||
|
#include "utldict.h"
|
||
|
|
||
|
class CWorkspace;
|
||
|
class CProject;
|
||
|
class CScene;
|
||
|
class CVCDFile;
|
||
|
class CWaveFile;
|
||
|
|
||
|
class CWaveList;
|
||
|
class CWorkspaceManager;
|
||
|
class CWaveFilterTab;
|
||
|
class CWaveOptionsWindow;
|
||
|
class CWaveFileTree;
|
||
|
|
||
|
class CWaveBrowser : public mxWindow
|
||
|
{
|
||
|
typedef mxWindow BaseClass;
|
||
|
public:
|
||
|
|
||
|
CWaveBrowser( mxWindow *parent, CWorkspaceManager *manager, int id );
|
||
|
|
||
|
virtual int handleEvent( mxEvent *event );
|
||
|
virtual void OnDelete();
|
||
|
|
||
|
CWorkspaceManager *GetManager();
|
||
|
|
||
|
void RepopulateTree();
|
||
|
|
||
|
void BuildSelectionList( CUtlVector< CWaveFile * >& selected );
|
||
|
|
||
|
void OnPlay();
|
||
|
|
||
|
void JumpToItem( CWaveFile *wav );
|
||
|
|
||
|
CWaveFile *FindEntry( char const *wavname, bool jump = false );
|
||
|
|
||
|
|
||
|
int GetSoundCount() const;
|
||
|
CWaveFile *GetSound( int index );
|
||
|
|
||
|
void OnSearch();
|
||
|
|
||
|
private:
|
||
|
|
||
|
char const *GetSearchString();
|
||
|
|
||
|
bool LoadWaveFilesInDirectory( CUtlDict< CWaveFile *, int >& soundlist, char const* pDirectoryName, int nDirectoryNameLen );
|
||
|
bool InitDirectoryRecursive( CUtlDict< CWaveFile *, int >& soundlist, char const* pDirectoryName );
|
||
|
|
||
|
void OnWaveProperties();
|
||
|
void OnEnableVoiceDucking();
|
||
|
void OnDisableVoiceDucking();
|
||
|
void OnCheckout();
|
||
|
void OnCheckin();
|
||
|
|
||
|
void OnImportSentence();
|
||
|
void OnExportSentence();
|
||
|
|
||
|
void OnGetSentence();
|
||
|
|
||
|
void PopulateTree( char const *subdirectory, bool textsearch = false );
|
||
|
|
||
|
void ShowContextMenu( void );
|
||
|
|
||
|
void LoadAllSounds();
|
||
|
void RemoveAllSounds();
|
||
|
|
||
|
CWaveList *m_pListView;
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
NUM_BITMAPS = 6,
|
||
|
};
|
||
|
|
||
|
CWorkspaceManager *m_pManager;
|
||
|
|
||
|
CUtlDict< CWaveFile *, int > m_AllSounds;
|
||
|
CUtlSymbolTable m_ScriptTable;
|
||
|
|
||
|
CUtlVector< CUtlSymbol > m_Scripts;
|
||
|
|
||
|
CWaveOptionsWindow *m_pOptions;
|
||
|
CWaveFileTree *m_pFileTree;
|
||
|
|
||
|
CUtlVector< CWaveFile * > m_CurrentSelection;
|
||
|
};
|
||
|
|
||
|
#endif // WAVEBROWSER_H
|