www.pudn.com > VirtualVCR-src-v2.6.9.zip > CAppPropData.h


/* 
	Virtual VCR 
    Copyright (C) 2002  Shaun Faulds 
 
    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 2 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, write to the Free Software 
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
 
	Acknowledgments: 
	This application and associated filters are based on the examples 
	from the Microsoft DirectX DirectShow SDK. 
*/ 
 
 
#ifndef __AppPropData__ 
#define __AppPropData__ 
 
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include "CFilterDescription.h" 
#include "CFilterList.h" 
#include "CCodec.h" 
#include "CTVstation.h" 
 
class CAppPropData 
{ 
 
public: 
 
    CAppPropData(); 
	~CAppPropData(); 
 
	BOOL fQuitWhenDone; 
	BOOL saveSessionData(); 
	BOOL savePersistentData(LPSTR newFileName, bool defaultINI); 
	BOOL loadData(); 
	BOOL loadProfileData(LPSTR newFileName, BOOL); 
 
	void ColourFormatName(GUID guid, TCHAR *name); 
	GUID ColourFormatGUID(TCHAR *name); 
 
	// Load / Save and delete channel objects 
	int loadChannelInfo(LPSTR sourceFile); 
	int saveChannelInfo(LPSTR destinationFile); 
	int deleteChannelData(); 
 
//All the following is public 
 
    TCHAR szCaptureFile[_MAX_PATH]; 
	GUID ColourFormat;	// This is the colour format of the video 
	double FrameRate; // customer frame rate 
    BOOL fUseCustomFormat; // use customer settings or not 
    BOOL fCapAudio; 
    BOOL fWantPreview; 
	BOOL fWantCaptureStats; 
	int iMasterStream; 
    BOOL fUseTimeLimit; 
    DWORD dwTimeLimit; 
	int CustomWidth; // custome width 
	int CustomHeight; // custome height 
	BOOL CompressVideo; // flag to compress video or not 
	DWORD dwFreeSpaceLimit; 
	BOOL fUseFreeSpace; 
	int iVideoInputIndex; // This is the index of the crossbar input 
	int iCaptureStatsWindowX;	// Capture Stats Dialog window location 
	int iCaptureStatsWindowY;	// Capture Stats Dialog window location 
	int iApplicationWindowX;	// Application Location 
	int iApplicationWindowY;	// Application Location 
	BOOL UsePreFilters; 
	CFilterList *filterList; 
//	TCHAR szVideoDisplayName[1024]; 
//	TCHAR szAudioDisplayName[1024]; 
	int VideoDeviceIndex; 
	int AudioDeviceIndex; 
	BOOL appendStampToName; 
	int TunerChannel; 
	LONG tunerMode; 
	long tunerInputType; 
	int tunerCountryCode; 
	BOOL showStatsOnStop; 
	BOOL CapStatsRelativePos; 
 
	// Audio Settings 
	unsigned short Audio_nChannel; 
	unsigned long Audio_nSamplesPerSec; 
	unsigned long Audio_nAvgBytesPerSec; 
	unsigned short Audio_nBlockAlign; 
	unsigned short Audio_wBitsPerSample; 
	unsigned short Audio_wFormatTag; 
	BOOL CompressAudio; 
	int Audio_Capability_Index; 
 
	// Audio Sync settings 
	BOOL useAudioResample; 
	BOOL SyncUsingStreamOffset; 
	int audioResampleType; 
	int streamOffsetType; 
 
	BOOL ShowAudioScope; 
	int AudioDelay; 
	double ResampleAudioTo; 
 
	double audioInputLevel; 
	int audioInputIndex; 
 
	//AVI settings 
	BOOL compatAVIindex; 
 
	CCodec *VideoCodec; 
	CCodec *AudioCodec; 
 
	BOOL UseSmartTee; 
	BOOL LogAVdiff; 
 
	long Video_Brit; 
	long Video_Hue; 
	long Video_Cont; 
	long Video_Sat; 
	long Video_Colour; 
	long Video_Gamma; 
	long Video_Sharp; 
 
	BOOL ShowHistogram; 
 
	BOOL AlwaysOnTop; 
	BOOL HideBars;	 
 
	CTVstation *channels[256]; 
 
	BOOL SaveCapStats; 
 
private: 
 
	LPSTR INIfile; 
	LPSTR FilterNamesfile; 
	BOOL reloadSelectedFilters(LPSTR newFileName, bool defaultINI); 
}; 
 
#endif