www.pudn.com > DVDUpdate.rar > DVDUpdateView.h


// DVDUpdateView.h : interface of the CDVDUpdateView class 
// 
///////////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_DVDUPDATEVIEW_H__31F12F73_C6BE_4529_8B7C_EC3AE989E22C__INCLUDED_) 
#define AFX_DVDUPDATEVIEW_H__31F12F73_C6BE_4529_8B7C_EC3AE989E22C__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
 
class CDVDUpdateView : public CFormView 
{ 
protected: // create from serialization only 
	CDVDUpdateView(); 
	DECLARE_DYNCREATE(CDVDUpdateView) 
 
public: 
	//{{AFX_DATA(CDVDUpdateView) 
	enum { IDD = IDD_DVDUPDATE_FORM }; 
	CSpinButtonCtrl	m_SpinVobucstart; 
	CSpinButtonCtrl	m_SpinVobucount; 
	CButton	m_RadioPhysical; 
	CButton	m_RadioParse; 
	CButton	m_RadioMix; 
	CButton	m_RadioLogical; 
	CListCtrl	m_ListVobu; 
	CListCtrl	m_ListVdo; 
	CListCtrl	m_ListSubpic; 
	CListCtrl	m_ListPack; 
	CListCtrl	m_ListAdo; 
	CComboBox	m_ComboSubpicstrmid; 
	CComboBox	m_ComboRange; 
	CComboBox	m_ComboAdostrmid; 
	CComboBox	m_ComboAdocodec; 
	CButton	m_ButtonUpdate; 
	BOOL	m_CheckCellid; 
	BOOL	m_CheckCount; 
	BOOL	m_CheckLinkvobu; 
	BOOL	m_CheckStart; 
	BOOL	m_CheckVobid; 
	int		m_EditVobucount; 
	int		m_EditVobustart; 
	//}}AFX_DATA 
 
// Attributes 
public: 
	CDVDUpdateDoc* GetDocument(); 
	void ShowFolderVro(CString foldername); 
	void ShowFolderVob(CString foldername); 
	 
 
// Operations 
public: 
 
// Overrides 
	// ClassWizard generated virtual function overrides 
	//{{AFX_VIRTUAL(CDVDUpdateView) 
	public: 
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 
	protected: 
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support 
	virtual void OnInitialUpdate(); // called first time after construct 
	//}}AFX_VIRTUAL 
 
// Implementation 
public:	 
	void CreatLog(); 
	CString m_OutputName; 
	char* CreatName(int n,char* files,CString file); 
	CString GetReplace(char packhead[20]); 
	void StreamDivide(); 
 
	int m_nIndex; 
	CString m_SaveFile; 
	CString m_OpenFolder; 
	CString m_OpenFile; 
	int m_MaxPack,m_StartPack,m_Count,m_Vobid,m_Cellid; 
	CString m_UpdateFiles[9];//按下update就要解析的文件(需要完整路径) 
	CString	m_ComboShowFiles[MAX_PATH];//在combo中显示的文件名(有合并情况) 
	CString m_ComboShowLinkFiles[MAX_PATH][9];//combo中显示的每一项对应的文件 
 
    typedef struct Cpack{ 
		int       m_Pack_ID;   //此Pack的序号,从零开始计 
		enum type{NV_PCK, RDI_PCK, V_Pack, A_Pack, SP_Pack, Error_Pack}  m_Pack_Type;//此Pack的类型 
		int       m_VOBU_ID;        //此Pack的VOBU号 
		int       m_Pack_para1;    //用以传递Pack参数一 
		int       m_Pack_para2;    //用以传递Pack参数二 
		int       m_Pack_para3;    //用以传递Pack参数三 
		int       m_Pack_para4;    //用以传递Pack参数四 
		struct  Cpack  *next;       //下一个存储地址的指针 
    }LNode, *Linklist; 
 
	Linklist head, LastPack; 
     
	bool OnePackView(Linklist L,  
		             int VOBUStart, 
					 int VOBUCount, 
					 CString AStreamID, 
					 CString ACodec, 
					 CString SPStreamID); 
 
    bool LinkVideoView(Linklist L,  
		               int VOBUID); 
 
	bool LinkAudioView(Linklist L, 
		               int VOBUID, 
					   CString AStreamID,  
					   CString ACodec); 
 
	bool LinkSubPView(Linklist L, 
		              int VOBUID,  
					  CString SPStreamID); 
 
	bool ConLinkView(Linklist L, 
		             int VOBUID,  
					 CString AStreamID,  
					 CString ACodec,  
					 CString SPStreamID); 
 
	bool VideoView(Linklist L, 
		           int VOBUStart, 
				   int VOBUCount); 
 
	bool AudioView(Linklist L, 
		           CString AStreamID,  
				   CString ACodec, 
				   int VOBUStart, 
				   int VOBUCount); 
 
	bool SubPView(Linklist L,  
		          CString SPStreamID, 
				  int VOBUStart, 
				  int VOBUCount); 
 
	bool ConditionalView (Linklist L, 
		                  int VOBUStart,  
						  int VOBUCount,  
						  CString AStreamID,  
						  CString ACodec,  
						  CString SPStreamID); 
 
	bool VOBUView(Linklist L,  
		          int VOBUStart,  
				  int VOBUCount); 
 
	int GetVOBUNum(Linklist L,  
		           int PackNum); 
 
	bool SpinView(Linklist L,  
		          int VOBUStart,  
				  int VOBUCount); 
 
	bool LinkVOBUView(Linklist L,  
		              int VOBUStart,  
					  int VOBUCount); 
 
	bool StructInitial(Linklist &head, Linklist &lastaddr); 
    bool OnePackUpdate(BYTE *pbdata, Linklist &k); 
	bool NewData(Linklist &lastaddr); 
	bool PhyUpdate (int Start, int Count, CString filename[9]); 
	bool LogUpdate (int VOBID, int CELLID, CString filename[9]); 
	bool OnePackVOBJug(int VOBID, int CELLID, BYTE *pbdata, bool &flag); 
 
 
	virtual ~CDVDUpdateView(); 
#ifdef _DEBUG 
	virtual void AssertValid() const; 
	virtual void Dump(CDumpContext& dc) const; 
#endif 
 
protected: 
 
// Generated message map functions 
protected: 
	//{{AFX_MSG(CDVDUpdateView) 
	afx_msg void OnEditStrmdiv(); 
	afx_msg void OnFileOpenfl(); 
	afx_msg void OnFileOpenfld(); 
	afx_msg void OnRadioMix(); 
	afx_msg void OnRadioParse(); 
	afx_msg void OnSelchangeComboAdocodec(); 
	afx_msg void OnSelchangeComboAdostrmid(); 
	afx_msg void OnSelchangeComboSubpicstrmid(); 
	afx_msg void OnCheckLinkvobu(); 
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); 
	afx_msg void OnButtonUpdate(); 
	afx_msg void OnClickListVobu(NMHDR* pNMHDR, LRESULT* pResult); 
	afx_msg void OnRadioLogical(); 
	afx_msg void OnRadioPhysical(); 
	afx_msg void OnSelchangeComboRange(); 
	afx_msg void OnCheckCellid(); 
	afx_msg void OnCheckCount(); 
	afx_msg void OnCheckStart(); 
	afx_msg void OnCheckVobid(); 
	afx_msg void OnChangeEditVobucount(); 
	afx_msg void OnChangeEditVobustart(); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
}; 
 
#ifndef _DEBUG  // debug version in DVDUpdateView.cpp 
inline CDVDUpdateDoc* CDVDUpdateView::GetDocument() 
   { return (CDVDUpdateDoc*)m_pDocument; } 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
 
//{{AFX_INSERT_LOCATION}} 
// Microsoft Visual C++ will insert additional declarations immediately before the previous line. 
 
#endif // !defined(AFX_DVDUPDATEVIEW_H__31F12F73_C6BE_4529_8B7C_EC3AE989E22C__INCLUDED_)