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