//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
//=============================================================================

#ifndef SCENEPREVIEWDLG_H
#define SCENEPREVIEWDLG_H
#ifdef _WIN32
#pragma once
#endif


class CChoreoScene;


class CScenePreviewDlg : public CDialog
{
// Construction
public:
	// Note: the dialog now owns the scene and it'll delete it when it goes away.
	CScenePreviewDlg( CChoreoScene *pScene, const char *pSceneFilename, CWnd* pParent = NULL );   // standard constructor
	virtual ~CScenePreviewDlg();
	
// Dialog Data
	//{{AFX_DATA(CSoundBrowser)
	DECLARE_MESSAGE_MAP()
	enum { IDD = IDD_SCENE_PREVIEW };


protected:
	BOOL OnInitDialog();
	virtual LRESULT DefWindowProc( UINT message, WPARAM wParam, LPARAM lParam );
	virtual void OnCancel(void);


private:
	static DWORD WINAPI StaticIdleThread( LPVOID pParameter );
	DWORD IdleThread();
	
	void OnIdle();
	void EndThread();
	
	
private:
	CChoreoScene *m_pScene;

	HANDLE m_hExitThreadEvent;
	HANDLE m_hIdleEventHandledEvent;
	
	HANDLE m_hIdleThread;
	
	int m_iLastEventPlayed;	// Last sound event we handled.
	double m_flStartTime;	// When we started playing the scene.
	char m_SceneFilename[MAX_PATH];
};


#endif // SCENEPREVIEWDLG_H