//---------------------------------------------------------------------------
#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "VidGrab.hpp"
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <Graphics.hpp>
#include <Menus.hpp>
#include <jpeg.hpp>
//---------------------------------------------------------------------------

const CFreeHandMouseMax = 1000;

class TfrmMainForm : public TForm
{
__published:	// IDE-managed Components
        TLabel *Label9;
        TMemo *mmoLog;
        TEdit *edtoragePath;
        TEdit *edtFrameCount;
        TEdit *edtDVDateTime;
        TVideoGrabber *VideoGrabber;
        TPageControl *pctMain;
        TTabSheet *tbsVideoDevice;
        TTabSheet *tbsAudio;
        TTabSheet *tbsRecording;
        TTabSheet *tbsASFStreaming;
        TTabSheet *tbsPlayer;
        TTabSheet *tbsFrameGrabber;
        TTabSheet *tbsClipReencoding;
        TTabSheet *TabSheet1;
        TMemo *mmoSensitivityGrid;
        TMemo *mmoMotionGrid;
        TTabSheet *tbsFrameOverlay;
        TTabSheet *tbsVideoProcessing;
        TTabSheet *tbsDisplay;
        TSpeedButton *btnSourceVideoClip;
        TEdit *edtSourceVideoClip;
        TEdit *edtDestinationVideoClip;
        TLabel *Label75;
        TLabel *Label45;
        TLabel *Label21;
        TLabel *Label53;
        TLabel *lblMotionDetectorRequiresFrameGrabber;
        TCheckBox *chkMotionDetectionEnabled;
        TCheckBox *chkReduceVideoNoise;
        TButton *btnShowGridDialog;
        TLabel *Label54;
        TCheckBox *chkCompareRed;
        TCheckBox *chkCompareGreen;
        TCheckBox *chkCompareBlue;
        TCheckBox *chk_GreyScale;
        TImage *imgMotionDetected;
        TGroupBox *grbMotionRatio;
        TShape *shpMotionDetected;
        TEdit *edtMotionRatio;
        TGroupBox *grbXYMaxMotion;
        TEdit *edtMaxMotionXY;
        TEdit *edtMaxMotionCoord;
        TGroupBox *grbCellsSensitivity;
        TLabel *Label57;
        TLabel *Label58;
        TLabel *Label59;
        TEdit *edtXCell;
        TUpDown *updXCell;
        TEdit *edtYCell;
        TUpDown *updYCell;
        TEdit *edtCellSensitivity;
        TUpDown *updCellSensitivity;
        TButton *btnSetCellsSensitivity;
        TGroupBox *grbGridSize;
        TLabel *Label55;
        TLabel *Label56;
        TEdit *edtGridColCount;
        TUpDown *updGridColCount;
        TEdit *edtGridRowCount;
        TUpDown *updGridRowCount;
        TButton *btnApplyGridSize;
        TGroupBox *grbGridString;
        TLabel *Label51;
        TLabel *lblGridValid;
        TShape *shpGridValid;
        TEdit *edtGrid;
        TUpDown *updGlobalGridSensitivity;
        TCheckBox *chkTriggered;
        TButton *btnTriggerNow;
        TGroupBox *GroupBox2;
        TLabel *Label30;
        TButton *btnStartAudioRendering;
        TButton *btnStartWAVRecording;
        TButton *btnStartMP3Recording;
        TButton *btnStopAudio;
        TCheckBox *chkUseAudioOfVideoCaptureDevice;
        TButton *btnStartASFRecording;
        TLabel *Label2;
        TRadioGroup *rdgVUMeters;
        TPanel *pnLeftVUMeter;
        TPanel *pnRightVUMeter;
        TGroupBox *grbVideoDeviceDialogs;
        TButton *btnDeviceDialog;
        TButton *btnStreamDialog;
        TButton *btnVideoQualityDialog;
        TButton *btnCameraControlDialog;
        TButton *btnVideoControlDialog;
        TButton *btnSpecialControls;
        TGroupBox *grbVMR9Adjust;
        TLabel *Label7;
        TLabel *Label28;
        TTrackBar *tbrVMR9Brightness;
        TTrackBar *tbrVMR9Contrast;
        TTrackBar *tbrVMR9Saturation;
        TTrackBar *tbrVMR9Hue;
        TCheckBox *vmr9FixRange;
        TGroupBox *grbCropping;
        TLabel *Label85;
        TLabel *Label86;
        TLabel *Label87;
        TLabel *Label84;
        TLabel *Label88;
        TCheckBox *chkCroppingEnabled;
        TTrackBar *trkCroppingX;
        TTrackBar *trkCroppingY;
        TEdit *edtCroppingWidth;
        TEdit *edtCroppingHeight;
        TTrackBar *trkCroppingZoom;
        TCheckBox *chkCroppingOutbounds;
        TButton *btnCroppingZoomReset;
        TRadioGroup *rdgDetectVideoSignal;
        TGroupBox *grbReencodingSettings;
        TCheckBox *chkIncludeVideoStream;
        TCheckBox *chkIncludeAudioStream;
        TCheckBox *chkUseCurrentVideoCompressor;
        TCheckBox *chkUseCurrentAudioCompressor;
        TCheckBox *chkUseFrameGrabber;
        TCheckBox *chkWMVOutput;
        TRadioGroup *rdgReencodingMethod;
        TButton *btnStartReencoding;
        TButton *btnStopReencoding;
        TGroupBox *grbStartStopTime;
        TLabel *Label61;
        TLabel *Label62;
        TLabel *Label63;
        TLabel *Label64;
        TEdit *edtReencStartTime;
        TEdit *edtReencDuration;
        TEdit *edtReencStopTime;
        TButton *btnDuration;
        TEdit *edtReencFrameCount;
        TEdit *edtReencStartFrame;
        TEdit *edtReencStopFrame;
        TRadioGroup *rdgNetworkStreaming;
        TRadioGroup *rdgNetworkStreamingType;
        TGroupBox *grbDirectASFStreaming;
        TLabel *Label10;
        TLabel *Label24;
        TEdit *edtNetworkPort;
        TEdit *edtNetworkMaxUsers;
        TButton *btnViewDirectNetworkStreaming;
        TLabel *Label79;
        TLabel *Label78;
        TLabel *Label40;
        TSpeedButton *btnPlayerOpenFile;
        TEdit *edtPlayerClip;
        TLabel *Label41;
        TButton *btnOpenClip;
        TButton *btnPlayerCloseClip;
        TGroupBox *grbPlayList;
        TSpeedButton *btnAddToPlaylist;
        TCheckBox *chkPlaylistLoop;
        TButton *btnPlaylistPlay;
        TButton *btnPlaylistNext;
        TButton *btnPlaylistPrevious;
        TCheckBox *chkPlaylistRandom;
        TButton *btnPlaylistStop;
        TListBox *lstPlaylist;
        TButton *btnClosePlaylist;
        TEdit *edtPlayerSpeedRatio;
        TEdit *edtPlayerFastSeekSpeed;
        TUpDown *updPlayerFastSeekSpeed;
        TLabel *Label23;
        TLabel *Label52;
        TCheckBox *chkRefreshPausedDisplay;
        TButton *btnOpenAtFrames;
        TButton *btnOpenAtTimes;
        TEdit *edtartFrame;
        TEdit *edtartTime;
        TEdit *edtopFrame;
        TEdit *edtopTime;
        TCheckBox *chkKeepBounds;
        TCheckBox *chkReopen;
        TLabel *Label89;
        TSpeedButton *btnPlayerOpenStreamingURL;
        TSpeedButton *btnOpenLastClipPlayed;
        TSpeedButton *btnOpenLastClipRecorded;
        TButton *btnGeneralInfo;
        TButton *btnHeaderInfo;
        TButton *btnGetClipDuration;
        TCheckBox *chkPlayerAudioRendering;
        TCheckBox *btnAutoPlay;
        TCheckBox *chkUseClock;
        TLabel *Label77;
        TLabel *Label80;
        TMainMenu *MainMenu1;
        TMenuItem *mnuFile;
        TMenuItem *mnuExit;
        TMenuItem *mnuSendDVCommands;
        TMenuItem *mnuDVPlay;
        TMenuItem *mnuDVStop;
        TMenuItem *mnuDVFreeze;
        TMenuItem *mnuDVThaw;
        TMenuItem *mnuDVFF;
        TMenuItem *mnuDVRew;
        TMenuItem *mnuDVRecord;
        TMenuItem *mnuDVRecordfreeze;
        TMenuItem *mnuDVRecordStrobe;
        TMenuItem *mnuDVStepFwd;
        TMenuItem *mnuDVStepRev;
        TMenuItem *mnuDVModeShuttle;
        TMenuItem *mnuDVPlayfastestfwd;
        TMenuItem *mnuDVPlayslowestfwd;
        TMenuItem *mnuDVPlayfastestrev;
        TMenuItem *mnuDVPlayslowestrev;
        TMenuItem *mnuAbout;
        TGroupBox *grbASFSettings;
        TLabel *Label39;
        TLabel *Label44;
        TLabel *Label67;
        TLabel *Label68;
        TLabel *Label69;
        TLabel *Label70;
        TLabel *Label71;
        TLabel *Label83;
        TEdit *edtASFVideoWidth;
        TEdit *edtASFVideoHeight;
        TEdit *edtASFVideoBitRate;
        TEdit *edtASFVideoMaxKeyFrameSpacing;
        TEdit *edtASFVideoQuality;
        TEdit *edtASFAudioChannels;
        TComboBox *cmbASFDeinterlaceMode;
        TCheckBox *chkASFFixedFrameRate;
        TRadioGroup *rdgProfileVersion;
        TGroupBox *GroupBox3;
        TSpeedButton *btnSelectWMV9Profile;
        TEdit *edtWM9Profile;
        TGroupBox *grbASFStreamingToWMServer;
        TLabel *Label32;
        TLabel *Label65;
        TLabel *Label66;
        TEdit *edtPublishingPoint;
        TEdit *edtPublishingPointUsername;
        TEdit *edtPublishingPointPassword;
        TGroupBox *grbASFProfiles;
        TLabel *Label34;
        TListBox *lsbProfiles;
        TButton *btnShowProfilesList;
        TEdit *edtProfileIndex;
        TGroupBox *grbAudioRendering;
        TLabel *Label17;
        TLabel *Label35;
        TTrackBar *tbrAudioVolume;
        TTrackBar *tbrAudioBalance;
        TCheckBox *chkMuteAudioRendering;
        TComboBox *cboAudioRenderers;
        TGroupBox *grbVideoSource;
        TComboBox *cboVideoSource;
        TGroupBox *grbVsVideoCaptureDevice;
        TLabel *Label4;
        TLabel *Label8;
        TLabel *Label18;
        TLabel *Label19;
        TComboBox *cboVideoInputs;
        TComboBox *cboVideoSizes;
        TComboBox *cboVideoSubtypes;
        TComboBox *cboAnalogVideoStandard;
        TComboBox *cboVideoDevices;
        TGroupBox *GroupBox1;
        TCheckBox *chkMultiplexedAutoSwitch;
        TCheckBox *chkMultiplexedInputEmulation;
        TRadioGroup *rdgPreferredVideoSize;
        TCheckBox *chkretchPreferredVideoSize;
        TCheckBox *chkRenderAudioDevice;
        TGroupBox *grbAudioCaptureDevice;
        TLabel *Label26;
        TLabel *Label49;
        TLabel *Label36;
        TComboBox *cboAudioDevices;
        TComboBox *cboAudioInputs;
        TTrackBar *tbrAudioInputLevel;
        TTrackBar *tbrAudioInputBalance;
        TCheckBox *chkAudioInputMono;
        TButton *btnDlgAudioDevice;
        TGroupBox *grbAudioSynchronization;
        TCheckBox *chkAudioSyncAdjust;
        TTrackBar *tbrAudioSyncAdjust;
        TEdit *edtAudioSyncAdjust;
        TGroupBox *grbSoftwareVideoProcessing;
        TLabel *Label31;
        TLabel *Label50;
        TLabel *Label60;
        TRadioGroup *rdgVideoRotation;
        TRadioGroup *rdgDeinterlacing;
        TCheckBox *chkFlipVertical;
        TCheckBox *chkFlipHorizontal;
        TCheckBox *chkGreyScale;
        TCheckBox *chkInvertColors;
        TButton *btnResetAll;
        TTrackBar *tbrBrightness;
        TTrackBar *tbrConstrast;
        TTrackBar *tbrSaturation;
        TTrackBar *tbrHue;
        TEdit *edtPixellization;
        TUpDown *updPixellization;
        TEdit *edtCustomRotationAngle;
        TSpeedButton *btnOpenDVD;
        TSpeedButton *btnCurrentDVDInfo;
        TTrackBar *tbrZoom;
        TTrackBar *tbrZoomX;
        TTrackBar *tbrZoomY;
        TLabel *Label105;
        TLabel *Label107;
        TLabel *Label81;
        TGroupBox *grbFreeHand;
        TLabel *Label27;
        TCheckBox *chkFreeHandEnabled;
        TButton *btnFreeHandErase;
        TCheckBox *chkChangePixels;
        TCheckBox *chkDrawGridOverFrames;
        TCheckBox *chkDrawTarget;
        TGroupBox *grbBitmapOverlay;
        TLabel *Label48;
        TSpeedButton *btnLoadImageOverlayFromFile;
        TLabel *Label25;
        TLabel *Label82;
        TLabel *Label96;
        TLabel *Label47;
        TLabel *Label102;
        TLabel *Label103;
        TRadioGroup *rdgImageOverlaySelector;
        TTrackBar *edtChromaKeyLeewayPercent;
        TCheckBox *chkImageOverlayEnabled;
        TEdit *edtImageOverlayLeft;
        TEdit *edtImageOverlayTop;
        TCheckBox *chkImageOverlayTransparent;
        TCheckBox *chkImageOverlayUseTransparentColor;
        TEdit *edtImageOverlayTransparentColorValue;
        TButton *btnImageOverlayPickupColor;
        TButton *btnImageOverlayPickupHelp;
        TEdit *edtImageOverlayWidth;
        TEdit *edtImageOverlayHeight;
        TCheckBox *chkImageOverlayAlphaBlend;
        TTrackBar *chkImageOverlayAlphablendCoeff;
        TCheckBox *chkImageOverlayChromaKey;
        TEdit *edtChromaKeyColorValue;
        TGroupBox *grbPlayerControl;
        TSpeedButton *btnPlayerBackwards;
        TSpeedButton *btnPlayerPause;
        TSpeedButton *btnPlayerStop;
        TSpeedButton *btnPlayerStartPlaying;
        TSpeedButton *btnPlayerRewind;
        TSpeedButton *btnPlayerFastForward;
        TSpeedButton *btnPlayerFrameStep;
        TTrackBar *tbrPlayerProgress;
        TCheckBox *chkPlayerTrackbarSynchrone;
        TMenuItem *Options1;
        TMenuItem *Resetvideocapturedevicesettings1;
        TLabel *lblFrameOverlayRequiresFrameGrabber;
        TRadioGroup *rdgVideoRenderer;
        TCheckBox *chkBlackMagicDecklink;
        TCheckBox *chkVideoVisibleWhenStopped;
        TCheckBox *chkAdjustPixelAspectRatio;
        TCheckBox *chkBorder;
        TCheckBox *chkChangeCursor;
        TCheckBox *chkTransparency;
        TCheckBox *chkSetLogo;
        TImage *imgLogo;
        TGroupBox *grbVsFileOrUrl;
        TSpeedButton *btnSelectFileOrUrl;
        TLabel *Label100;
        TLabel *Label101;
        TEdit *edtVideoSourceFileOrUrl;
        TEdit *VideoSourceFileOrUrl_UserName;
        TEdit *VideoSourceFileOrUrl_Password;
        TGroupBox *grbVsScreenRecording;
        TLabel *Label29;
        TLabel *Label90;
        TEdit *edtScreenRecordingWindow;
        TButton *btnScreenRecordingWindow;
        TEdit *edtMonitorNumber;
        TButton *btnMonitorNumberInfo;
        TCheckBox *chkScreenRecordingWithCursor;
        TGroupBox *grbPreview;
        TBitBtn *btnStartPreview;
        TButton *btnStopPreview;
        TButton *btnPausePreview;
        TButton *btnResumePreview;
        TGroupBox *grbFrameRate;
        TEdit *edtFrameRate;
        TButton *btnFrameRate;
        TButton *btnAboutFrameRate;
        TCheckBox *btnAutoRefreshPreview;
        TCheckBox *chkEnableSnapshotButton;
        TLabel *Label5;
        TLabel *Label11;
        TButton *btnRenewRecordingFile;
        TButton *btnStopRecording;
        TBitBtn *btnStartRecordingControlled;
        TBitBtn *btnStartRecordingImmediately;
        TCheckBox *chkAudioRecording;
        TComboBox *cboAudioFormats;
        TCheckBox *chkPreserveNativeFormat;
        TButton *btnNativeFormat;
        TCheckBox *chkAVISaveToThisFile;
        TEdit *edtRecordingFileName;
        TCheckBox *chkPreallocFile;
        TEdit *edtPreallocSize;
        TButton *btnCreatePreallocFileNow;
        TRadioGroup *rdgRecordingMethod;
        TGroupBox *GroupBox5;
        TLabel *Label1;
        TRadioGroup *grbRecordingTimer;
        TEdit *edtRecordingTimerInterval;
        TCheckBox *chkRecordingCanPause;
        TCheckBox *chkRecordingPauseCreatesNewFile;
        TCheckBox *chkRecordingOnMotion;
        TButton *btnPauseRecording;
        TButton *btnResumeRecording;
        TRadioGroup *rdgCompressMode;
        TRadioGroup *rdgCompressType;
        TLabel *Label6;
        TLabel *Label16;
        TLabel *Label38;
        TComboBox *cboVideoCompressors;
        TButton *btnVideoCompressorSettings;
        TComboBox *cboAudioCompressors;
        TButton *btnAudioCompressorSettings;
        TButton *btnSaveVideoCompressorSettings;
        TButton *btnReloadVideoCompressorSettings;
        TButton *btnSaveAudioCompressorSettings;
        TButton *btnReloadAudioCompressorSettings;
        TComboBox *cboMultiplexers;
        TButton *BtnCodecExamples;
        TButton *Button1;
        TLabel *Label97;
        TEdit *edtImageOverlayTargetDisplay;
        TButton *btnImageOverlayInfo;
        TGroupBox *grbTextOverlay;
        TLabel *Label13;
        TLabel *Label20;
        TLabel *Label22;
        TLabel *Label33;
        TLabel *Label37;
        TLabel *Label3;
        TRadioGroup *rdgTextOverlayAlign;
        TCheckBox *chkTextOverlayEnabled;
        TCheckBox *chkTextOverlayTransparent;
        TMemo *mmoTextOverlayString;
        TEdit *edtTextOverlayTop;
        TEdit *edtTextOverlayLeft;
        TEdit *edtTextOverlayRight;
        TCheckBox *chkTextOverlayShadow;
        TUpDown *updTextOverlaySize;
        TRadioGroup *rdgTextOverlaySelector;
        TButton *btnTextOverlayColor;
        TButton *btnBkgndColor;
        TCheckBox *chkTextOverlayHighResFont;
        TEdit *edtTextOverlayTargetDisplay;
        TButton *btnTargetDisplayInfo;
        TCheckBox *chkTextOverlayScrolling;
        TEdit *edtTextOverlayScrollingSpeed;
        TRadioGroup *rdgDisplaySelected;
        TCheckBox *chkDisplayActive;
        TGroupBox *grbMainVideoWindow;
        TLabel *Label74;
        TLabel *edtAssignToMonitorLabel;
        TCheckBox *chkEmbedded;
        TCheckBox *chkFullScreen;
        TCheckBox *chkStayOnTop;
        TCheckBox *chkUseVideoPort;
        TCheckBox *chkMouseMovesWindow;
        TCheckBox *chkAutoSize;
        TButton *btnNewLocation2;
        TRadioGroup *rdgAspectRatio;
        TCheckBox *chkVisible;
        TTrackBar *tbrPanScan;
        TButton *btnTestPanScan;
        TCheckBox *chkAlphablend;
        TCheckBox *chkTranspColor;
        TTrackBar *tbrAlphablend;
        TEdit *edtTranspColor;
        TEdit *edtAssignToMonitorNumber;
        TCheckBox *chkExternalAudio;
        TRadioGroup *rgdFrameGrabber;
        TLabel *Label42;
        TRadioGroup *rgdFrameGrabberFormat;
        TGroupBox *grbFileNames;
        TLabel *Label46;
        TRadioGroup *rdgAutoFileName;
        TEdit *edtAVIAutoFilePrefix;
        TGroupBox *grbOneShot;
        TEdit *edtUseThisFileName;
        TButton *btnOneShotTBitmap;
        TButton *btnOneShotBMPFile;
        TButton *btnOneShotJPEGFile;
        TCheckBox *chkUseThisFileName;
        TButton *btnOneShotClipboard;
        TLabel *Label43;
        TEdit *edtVirtualCameraNumber;
        TLabel *Label76;
        TMemo *mmoFrameCaptureLog;
        TGroupBox *grbZoomSize;
        TLabel *Label12;
        TTrackBar *tbrCaptureZoomSize;
        TEdit *edtCaptureZoomSize;
        TButton *btnResetCaptureZoomSize;
        TLabel *Label72;
        TEdit *edtFrameCaptureWidth;
        TLabel *Label73;
        TEdit *edtFrameCaptureHeight;
        TTabSheet *tbsMPE;
        TPageControl *pgcMPE;
        TTabSheet *tshMPESettings;
        TGroupBox *GroupBox6;
        TCheckBox *chkMPEStreaming;
        TEdit *edtMPEStreaming;
        TGroupBox *grbMPErecord;
        TCheckBox *chkMPERecording;
        TEdit *edtMPERecording;
        TGroupBox *GroupBox7;
        TEdit *edtMPEReencoding;
        TButton *btnStartMPEReencoding;
        TButton *btnStopMPEReencoding;
        TTabSheet *tbsMPERecordingLog;
        TLabel *lblMPERecordingProgressInfo;
        TMemo *mmoMPERecordingLog;
        TTabSheet *tbsMPEStreamingLog;
        TLabel *lblMPEStreamingProgressInfo;
        TMemo *mmoMPEStreamingLog;
        TTabSheet *tbsMPEReencodingLog;
        TMemo *mmoMPEReencodingLog;
        TLabel *lblMPEReencodingProgressInfo;
        TGroupBox *grbBurstMode;
        TLabel *Label14;
        TLabel *Label15;
        TButton *btnBurstModeBMPFile;
        TButton *btnBurstModeJPEGFile;
        TEdit *edtBurstCount;
        TEdit *edtBurstInterval;
        TButton *btnBurstModeStop;
        TButton *btnBurstModeTBitmap;
        TButton *btnBurstModeClipboard;
        TCheckBox *chkModulo;
        TButton *btnBargraphOverlay;
        TTabSheet *tbsIPCameras;
        TLabel *lblChooseIPCamera;
        TLabel *Label91;
        TLabel *Label92;
        TLabel *Label93;
        TEdit *edtIPCameraURL;
        TButton *btnIPCamStartPreview;
        TEdit *edtIPCamConnectionTimeout;
        TEdit *edtIPCamReceiveTimeout;
        TButton *btnCurrentIPCameraURL;
        TCheckBox *chkOpenURLAsync;
        TCheckBox *chkUseExternalAudioforRTSP;
        TGroupBox *GroupBox4;
        TLabel *Label94;
        TLabel *Label95;
        TEdit *edtIPCamUserName;
        TEdit *edtIPCamPassword;
        TButton *btnIPCameraStop;
        TButton *btnIPCameraStarttMP4Recording;
        TLabel *Label98;
        TRichEdit *RichEdit1;
        TCheckBox *chkAdjustOverlayAspectRatio;
        TSpeedButton *btnPIPFromAnotherTVideoGrabber;
        TButton *btnPIPStop;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall cboVideoDevicesChange(TObject *Sender);
        void __fastcall btnStartPreviewClick(TObject *Sender);
        void __fastcall btnStopPreviewClick(TObject *Sender);
        void __fastcall btnPausePreviewClick(TObject *Sender);
        void __fastcall btnResumePreviewClick(TObject *Sender);
        void __fastcall btnAutoRefreshPreviewClick(TObject *Sender);
        void __fastcall cboVideoInputsChange(TObject *Sender);
        void __fastcall cboVideoSizesChange(TObject *Sender);
        void __fastcall cboAnalogVideoStandardChange(TObject *Sender);
        void __fastcall cboVideoSubtypesChange(TObject *Sender);
        void __fastcall btnDeviceDialogClick(TObject *Sender);
        void __fastcall btnStreamDialogClick(TObject *Sender);
        void __fastcall btnCameraControlDialogClick(TObject *Sender);
        void __fastcall btnVideoQualityDialogClick(TObject *Sender);
        void __fastcall btnVideoControlDialogClick(TObject *Sender);
        void __fastcall btnFrameRateClick(TObject *Sender);
        void __fastcall VideoGrabberVideoDeviceSelected(TObject *Sender);
        void __fastcall VideoGrabberPreviewStarted(TObject *Sender);
        void __fastcall cboAudioInputsChange(TObject *Sender);
        void __fastcall cboAudioDevicesChange(TObject *Sender);
        void __fastcall tbrAudioInputLevelChange(TObject *Sender);
        void __fastcall cboAudioFormatsChange(TObject *Sender);
        void __fastcall VideoGrabberAudioDeviceSelected(TObject *Sender);
        void __fastcall chkPlayerAudioRenderingClick(TObject *Sender);
        void __fastcall btnStopRecordingClick(TObject *Sender);
        void __fastcall rdgRecordingMethodClick(TObject *Sender);
        void __fastcall chkRecordingCanPauseClick(TObject *Sender);
        void __fastcall btnPauseRecordingClick(TObject *Sender);
        void __fastcall btnResumeRecordingClick(TObject *Sender);
        void __fastcall chkPreallocFileClick(TObject *Sender);
        void __fastcall btnCreatePreallocFileNowClick(TObject *Sender);
        void __fastcall edtPreallocSizeChange(TObject *Sender);
        void __fastcall cboVideoCompressorsChange(TObject *Sender);
        void __fastcall cboAudioCompressorsChange(TObject *Sender);
        void __fastcall btnVideoCompressorSettingsClick(TObject *Sender);
        void __fastcall btnAudioCompressorSettingsClick(TObject *Sender);
        void __fastcall rdgCompressModeClick(TObject *Sender);
        void __fastcall rdgCompressTypeClick(TObject *Sender);
        void __fastcall rgdFrameGrabberClick(TObject *Sender);
        void __fastcall rgdFrameGrabberFormatClick(TObject *Sender);
        void __fastcall rdgAutoFileNameClick(TObject *Sender);
        void __fastcall edtAVIAutoFilePrefixChange(TObject *Sender);
        void __fastcall btnPlayerCloseFileClick(TObject *Sender);
        void __fastcall updPlayerFastSeekSpeedClick(TObject *Sender,
          TUDBtnType Button);
        void __fastcall btnPlayerOpenFileClick(TObject *Sender);
        void __fastcall btnPlayerPauseClick(TObject *Sender);
        void __fastcall btnPlayerStopClick(TObject *Sender);
        void __fastcall btnPlayerStartPlayingClick(TObject *Sender);
        void __fastcall btnPlayerBackwardsClick(TObject *Sender);
        void __fastcall btnPlayerRewindClick(TObject *Sender);
        void __fastcall btnPlayerFastForwardClick(TObject *Sender);
        void __fastcall btnAutoPlayClick(TObject *Sender);
        void __fastcall VideoGrabberPlayerBufferingData(TObject *Sender,
          bool StartingToBuffer);
        void __fastcall VideoGrabberPlayerEndOfStream(TObject *Sender);
        void __fastcall rdgPreferredVideoSizeClick(TObject *Sender);
        void __fastcall chkRenderAudioDeviceClick(TObject *Sender);
        void __fastcall rdgNetworkStreamingClick(TObject *Sender);
        void __fastcall edtPublishingPointChange(TObject *Sender);
        void __fastcall edtNetworkPortChange(TObject *Sender);
        void __fastcall edtNetworkMaxUsersChange(TObject *Sender);
        void __fastcall btnShowProfilesListClick(TObject *Sender);
        void __fastcall lsbProfilesClick(TObject *Sender);
        void __fastcall edtProfileIndexChange(TObject *Sender);
        void __fastcall btnOneShotTBitmapClick(TObject *Sender);
        void __fastcall btnOneShotBMPFileClick(TObject *Sender);
        void __fastcall btnOneShotJPEGFileClick(TObject *Sender);
        void __fastcall chkUseThisFileNameClick(TObject *Sender);
        void __fastcall btnBurstModeTBitmapClick(TObject *Sender);
        void __fastcall btnBurstModeBMPFileClick(TObject *Sender);
        void __fastcall btnBurstModeJPEGFileClick(TObject *Sender);
        void __fastcall btnBurstModeStopClick(TObject *Sender);
        void __fastcall edtBurstCountChange(TObject *Sender);
        void __fastcall edtBurstIntervalChange(TObject *Sender);
        void __fastcall tbrCaptureZoomSizeChange(TObject *Sender);
        void __fastcall btnResetCaptureZoomSizeClick(TObject *Sender);
        void __fastcall chkTextOverlayEnabledClick(TObject *Sender);
        void __fastcall chkTextOverlayTransparentClick(TObject *Sender);
        void __fastcall rdgTextOverlayAlignClick(TObject *Sender);
        void __fastcall mmoTextOverlayStringChange(TObject *Sender);
        void __fastcall edtTextOverlayLeftChange(TObject *Sender);
        void __fastcall edtTextOverlayTopChange(TObject *Sender);
        void __fastcall edtTextOverlayRightChange(TObject *Sender);
        void __fastcall btnFreeHandEraseClick(TObject *Sender);
        void __fastcall VideoGrabberMouseMove(TObject *Sender,
          int VideoWindow, TShiftState Shift, int X, int Y);
        void __fastcall VideoGrabberMouseDown(TObject *Sender,
          int VideoWindow, TMouseButton Button, TShiftState Shift, int X,
          int Y);
        void __fastcall VideoGrabberMouseUp(TObject *Sender,
          int VideoWindow, TMouseButton Button, TShiftState Shift, int X,
          int Y);
        void __fastcall VideoGrabberResizeVideo(TObject *Sender,
          int SourceWidth, int SourceHeight);
        void __fastcall rdgVideoRotationClick(TObject *Sender);
        void __fastcall rdgDeinterlacingClick(TObject *Sender);
        void __fastcall tbrBrightnessChange(TObject *Sender);
        void __fastcall tbrConstrastChange(TObject *Sender);
        void __fastcall tbrSaturationChange(TObject *Sender);
        void __fastcall tbrHueChange(TObject *Sender);
        void __fastcall btnResetAllClick(TObject *Sender);
        void __fastcall chkFlipVerticalClick(TObject *Sender);
        void __fastcall chkFlipHorizontalClick(TObject *Sender);
        void __fastcall chkGreyScaleClick(TObject *Sender);
        void __fastcall chkInvertColorsClick(TObject *Sender);
        void __fastcall chkBorderClick(TObject *Sender);
        void __fastcall chkTransparencyClick(TObject *Sender);
        void __fastcall rdgVideoRendererClick(TObject *Sender);
        void __fastcall chkEmbeddedClick(TObject *Sender);
        void __fastcall chkAutoSizeClick(TObject *Sender);
        void __fastcall chkFullScreenClick(TObject *Sender);
        void __fastcall chkStayOnTopClick(TObject *Sender);
        void __fastcall chkUseVideoPortClick(TObject *Sender);
        void __fastcall btnNewLocationClick(TObject *Sender);
        void __fastcall btnNewLocation2Click(TObject *Sender);
        void __fastcall edtoragePathChange(TObject *Sender);
        void __fastcall VideoGrabberLog(TObject *Sender, TLogType LogType,
          String Severity, String InfoMsg);
        void __fastcall VideoGrabberDVCommandCompleted(TObject *Sender,
          int NewStateValue, String NewStateLabel);
        void __fastcall mnuAboutClick(TObject *Sender);
        void __fastcall SendVCRCommand (TObject *Sender);
        void __fastcall VideoGrabberResize(TObject *Sender);
        void __fastcall VideoGrabberDeviceLost(TObject *Sender);
        void __fastcall VideoGrabberDiskFull(TObject *Sender);
        void __fastcall VideoGrabberDeviceArrivalOrRemoval(TObject *Sender,
          bool IsDeviceArrival, bool IsVideoDevice, String DeviceName,
          int DeviceIndex);
        void __fastcall mnuExitClick(TObject *Sender);
        void __fastcall chkCompareRedClick(TObject *Sender);
        void __fastcall chkCompareGreenClick(TObject *Sender);
        void __fastcall chkCompareBlueClick(TObject *Sender);
        void __fastcall chk_GreyScaleClick(TObject *Sender);
        void __fastcall chkReduceVideoNoiseClick(TObject *Sender);
        void __fastcall edtGridChange(TObject *Sender);
        void __fastcall updGlobalGridSensitivityClick(TObject *Sender,
          TUDBtnType Button);
        void __fastcall btnApplyGridSizeClick(TObject *Sender);
        void __fastcall btnSetCellsSensitivityClick(TObject *Sender);
        void __fastcall btnShowGridDialogClick(TObject *Sender);
        void __fastcall chkMotionDetectionEnabledClick(TObject *Sender);
        void __fastcall tbrAudioInputBalanceChange(TObject *Sender);
        void __fastcall chkAudioInputMonoClick(TObject *Sender);
        void __fastcall VideoGrabberReinitializing(TObject *Sender);
        void __fastcall VideoGrabberCreatePreallocFileStarted(
          TObject *Sender, String FileName);
        void __fastcall VideoGrabberCreatePreallocFileCompleted(
          TObject *Sender, String FileName, bool Success);
        void __fastcall VideoGrabberCopyPreallocDataStarted(
          TObject *Sender, String SourceFile, String DestFile);
        void __fastcall VideoGrabberCopyPreallocDataCompleted(
          TObject *Sender, String SourceFile, String DestFile,
          bool Success);
        void __fastcall edtASFVideoWidthChange(TObject *Sender);
        void __fastcall edtASFVideoHeightChange(TObject *Sender);
        void __fastcall edtASFVideoBitRateChange(TObject *Sender);
        void __fastcall edtASFVideoMaxKeyFrameSpacingChange(
          TObject *Sender);
        void __fastcall edtASFVideoQualityChange(TObject *Sender);
        void __fastcall edtASFAudioChannelsChange(TObject *Sender);
        void __fastcall VideoGrabberReencodingStarted(TObject *Sender,
          String SourceFile, String DestFile);
        void __fastcall VideoGrabberReencodingCompleted(TObject *Sender,
          String SourceFile, String DestFile, bool Success);
        void __fastcall btnViewDirectNetworkStreamingClick(
          TObject *Sender);
        void __fastcall VideoGrabberInactive(TObject *Sender);
        void __fastcall btnSourceVideoClipClick(TObject *Sender);
        void __fastcall btnStartReencodingClick(TObject *Sender);
        void __fastcall btnStartRecordingImmediatelyClick(TObject *Sender);
        void __fastcall btnStartRecordingControlledClick(TObject *Sender);
        void __fastcall VideoGrabberRecordingReadyToStart(TObject *Sender);
        void __fastcall chkRefreshPausedDisplayClick(TObject *Sender);
        void __fastcall VideoGrabberPlayerOpened(TObject *Sender);
        void __fastcall btnStopReencodingClick(TObject *Sender);
        void __fastcall chkPreserveNativeFormatClick(TObject *Sender);
        void __fastcall VideoGrabberDirectNetworkStreamingHostUrl(
          TObject *Sender, String HostUrl, String HostName,
          int HostPort);
        void __fastcall chkSetLogoClick(TObject *Sender);
        void __fastcall btnDurationClick(TObject *Sender);
        void __fastcall btnOpenLastClipRecordedClick(TObject *Sender);
        void __fastcall btnOpenLastClipPlayedClick(TObject *Sender);
        void __fastcall chkASFFixedFrameRateClick(TObject *Sender);
        void __fastcall cmbASFDeinterlaceModeChange(TObject *Sender);
        void __fastcall chkCroppingEnabledClick(TObject *Sender);
        void __fastcall chkCroppingOutboundsClick(TObject *Sender);
        void __fastcall edtCroppingWidthChange(TObject *Sender);
        void __fastcall edtCroppingHeightChange(TObject *Sender);
        void __fastcall trkCroppingZoomChange(TObject *Sender);
        void __fastcall btnCroppingZoomResetClick(TObject *Sender);
        void __fastcall trkCroppingYChange(TObject *Sender);
        void __fastcall trkCroppingXChange(TObject *Sender);
        void __fastcall cboVideoSourceChange(TObject *Sender);
        void __fastcall chkScreenRecordingWithCursorClick(TObject *Sender);
        void __fastcall tbrVMR9BrightnessChange(TObject *Sender);
        void __fastcall tbrVMR9ContrastChange(TObject *Sender);
        void __fastcall tbrVMR9SaturationChange(TObject *Sender);
        void __fastcall tbrVMR9HueChange(TObject *Sender);
        void __fastcall VideoGrabberGraphBuilt(TObject *Sender);
        void __fastcall vmr9FixRangeClick(TObject *Sender);
        void __fastcall chkChangeCursorClick(TObject *Sender);
        void __fastcall FormDestroy(TObject *Sender);
        void __fastcall chkAudioRecordingClick(TObject *Sender);
        void __fastcall tbrAudioVolumeChange(TObject *Sender);
        void __fastcall tbrAudioBalanceChange(TObject *Sender);
        void __fastcall chkMuteAudioRenderingClick(TObject *Sender);
        void __fastcall btnRenewRecordingFileClick(TObject *Sender);
        void __fastcall VideoGrabberRecordingStarted(TObject *Sender,
          String FileName);
        void __fastcall VideoGrabberCopyPreallocDataProgress(
          TObject *Sender, int Percent, Int64 Position, Int64 Duration);
        void __fastcall VideoGrabberRecordingCompleted(TObject *Sender,
          String FileName, bool Success);
        void __fastcall VideoGrabberReencodingProgress(TObject *Sender,
          int Percent, Int64 Position, Int64 Duration);
        void __fastcall VideoGrabberCreatePreallocFileProgress(
          TObject *Sender, int Percent, Int64 Position, Int64 Duration);
        void __fastcall edtVideoSourceFileOrUrlChange(TObject *Sender);
        void __fastcall btnNativeFormatClick(TObject *Sender);
        void __fastcall btnLoadImageOverlayFromFileClick(TObject *Sender);
        void __fastcall VideoGrabberFrameCaptureCompleted(TObject *Sender,
          Pointer FrameBitmap, int BitmapWidth, int BitmapHeight,
          DWORD FrameNumber, Int64 FrameTime, TFrameCaptureDest DestType,
          String FileName, bool Success, int FrameId);
        void __fastcall VideoGrabberMotionDetected(TObject *Sender,
          double GlobalMotionRatio, int MaxMotionCellX, int MaxMotionCellY,
          Pointer FrameBitmap, DWORD FrameNumber, Int64 FrameTime,
          int FrameId, bool &CaptureFrame);
        void __fastcall VideoGrabberMotionNotDetected(TObject *Sender,
          Pointer FrameBitmap, DWORD FrameNumber, Int64 FrameTime,
          int FrameId, bool &CaptureFrame);
        void __fastcall btnOpenClipClick(TObject *Sender);
        void __fastcall btnPlayerCloseClipClick(TObject *Sender);
        void __fastcall btnGetClipDurationClick(TObject *Sender);
        void __fastcall chkMultiplexedAutoSwitchClick(TObject *Sender);
        void __fastcall chkMultiplexedInputEmulationClick(TObject *Sender);
        void __fastcall btnTriggerNowClick(TObject *Sender);
        void __fastcall chkTriggeredClick(TObject *Sender);
        void __fastcall chkRecordingPauseCreatesNewFileClick(
          TObject *Sender);
        void __fastcall btnGeneralInfoClick(TObject *Sender);
        void __fastcall btnHeaderInfoClick(TObject *Sender);
        void __fastcall rdgVUMetersClick(TObject *Sender);
        void __fastcall updTextOverlaySizeClick(TObject *Sender,
          TUDBtnType Button);
        void __fastcall chkTextOverlayShadowClick(TObject *Sender);
        void __fastcall btnDlgAudioDeviceClick(TObject *Sender);
        void __fastcall btnAboutFrameRateClick(TObject *Sender);
        void __fastcall btnStartAudioRenderingClick(TObject *Sender);
        void __fastcall btnStartWAVRecordingClick(TObject *Sender);
        void __fastcall btnStartMP3RecordingClick(TObject *Sender);
        void __fastcall btnStopAudioClick(TObject *Sender);
        void __fastcall chkUseAudioOfVideoCaptureDeviceClick(
          TObject *Sender);
        void __fastcall btnStartASFRecordingClick(TObject *Sender);
        void __fastcall rdgNetworkStreamingTypeClick(TObject *Sender);
        void __fastcall chkRecordingOnMotionClick(TObject *Sender);
        void __fastcall chkUseClockClick(TObject *Sender);
        void __fastcall btnUrlConfClick(TObject *Sender);
        void __fastcall btnSelectFileOrUrlClick(TObject *Sender);
        void __fastcall chkretchPreferredVideoSizeClick(TObject *Sender);
        void __fastcall btnScreenRecordingWindowClick(TObject *Sender);
        void __fastcall btnAddToPlaylistClick(TObject *Sender);
        void __fastcall btnPlaylistPlayClick(TObject *Sender);
        void __fastcall btnPlaylistNextClick(TObject *Sender);
        void __fastcall btnPlaylistPreviousClick(TObject *Sender);
        void __fastcall btnPlaylistStopClick(TObject *Sender);
        void __fastcall chkPlaylistLoopClick(TObject *Sender);
        void __fastcall chkPlaylistRandomClick(TObject *Sender);
        void __fastcall lstPlaylistClick(TObject *Sender);
        void __fastcall VideoGrabberPlayerEndOfPlaylist(TObject *Sender);
        void __fastcall chkVideoVisibleWhenStoppedClick(TObject *Sender);
        void __fastcall btnClosePlaylistClick(TObject *Sender);
        void __fastcall VideoGrabberDVDiscontinuity(TObject *Sender,
          bool &DeliverNewFrame);
        void __fastcall rdgAspectRatioClick(TObject *Sender);
        void __fastcall btnOneShotClipboardClick(TObject *Sender);
        void __fastcall btnBurstModeClipboardClick(TObject *Sender);
        void __fastcall cboAudioRenderersChange(TObject *Sender);
        void __fastcall VideoGrabberClientConnection(TObject *Sender,
          bool Connected, String ClientInfo);
        void __fastcall btnSpecialControlsClick(TObject *Sender);
        void __fastcall updPixellizationClick(TObject *Sender,
          TUDBtnType Button);
        void __fastcall rdgTextOverlaySelectorClick(TObject *Sender);
        void __fastcall btnBkgndColorClick(TObject *Sender);
        void __fastcall btnTextOverlayColorClick(TObject *Sender);
        void __fastcall chkVisibleClick(TObject *Sender);
        void __fastcall edtCustomRotationAngleChange(TObject *Sender);
        void __fastcall edtPublishingPointUsernameChange(TObject *Sender);
        void __fastcall edtPublishingPointPasswordChange(TObject *Sender);
        void __fastcall edtFrameCaptureWidthChange(TObject *Sender);
        void __fastcall edtFrameCaptureHeightChange(TObject *Sender);
        void __fastcall tbrPanScanChange(TObject *Sender);
        void __fastcall btnTestPanScanClick(TObject *Sender);
        void __fastcall btnOpenAtFramesClick(TObject *Sender);
        void __fastcall btnOpenAtTimesClick(TObject *Sender);
        void __fastcall edtMonitorNumberChange(TObject *Sender);
        void __fastcall btnMonitorNumberInfoClick(TObject *Sender);
        void __fastcall btnSelectWMV9ProfileClick(TObject *Sender);
        void __fastcall edtWM9ProfileChange(TObject *Sender);
        void __fastcall rdgProfileVersionClick(TObject *Sender);
        void __fastcall tbsIPCamerasShow(TObject *Sender);
        void __fastcall edtIPCameraURLChange(TObject *Sender);
        void __fastcall edtIPCamConnectionTimeoutChange(TObject *Sender);
        void __fastcall edtIPCamReceiveTimeoutChange(TObject *Sender);
        void __fastcall btnIPCamStartPreviewClick(TObject *Sender);
        void __fastcall btnIPCamAuthenticationInfoClick(TObject *Sender);
        void __fastcall btnCurrentIPCameraURLClick(TObject *Sender);
        void __fastcall edtImageOverlayLeftChange(TObject *Sender);
        void __fastcall edtImageOverlayTopChange(TObject *Sender);
        void __fastcall edtImageOverlayWidthChange(TObject *Sender);
        void __fastcall edtImageOverlayHeightChange(TObject *Sender);
        void __fastcall chkImageOverlayTransparentClick(TObject *Sender);
        void __fastcall btnImageOverlayPickupColorClick(TObject *Sender);
        void __fastcall btnImageOverlayPickupHelpClick(TObject *Sender);
        void __fastcall chkImageOverlayUseTransparentColorClick(
          TObject *Sender);
        void __fastcall edtImageOverlayTransparentColorValueChange(
          TObject *Sender);
        void __fastcall chkImageOverlayAlphaBlendClick(TObject *Sender);
        void __fastcall updImageAlphaBendClick(TObject *Sender,
          TUDBtnType Button);
        void __fastcall rdgImageOverlaySelectorClick(TObject *Sender);
        void __fastcall VideoSourceFileOrUrl_UserNameChange(
          TObject *Sender);
        void __fastcall VideoSourceFileOrUrl_PasswordChange(
          TObject *Sender);
        void __fastcall edtIPCamPasswordChange(TObject *Sender);
        void __fastcall edtIPCamUserNameChange(TObject *Sender);
        void __fastcall btnDemoURLClick(TObject *Sender);
        void __fastcall chkAdjustPixelAspectRatioClick(TObject *Sender);
        void __fastcall chkImageOverlayChromaKeyClick(TObject *Sender);
        void __fastcall edtChromaKeyLeewayPercentChange(TObject *Sender);
        void __fastcall edtChromaKeyColorValueChange(TObject *Sender);
        void __fastcall chkImageOverlayEnabledClick(TObject *Sender);
        void __fastcall chkImageOverlayAlphablendCoeffChange(
          TObject *Sender);
        void __fastcall chkFreeHandEnabledClick(TObject *Sender);
        void __fastcall chkDrawGridOverFramesClick(TObject *Sender);
        void __fastcall VideoGrabberVideoFromBitmapsNextFrameNeeded(
          TObject *Sender, bool FirstSample);
        void __fastcall chkAudioSyncAdjustClick(TObject *Sender);
        void __fastcall tbrAudioSyncAdjustChange(TObject *Sender);
        void __fastcall chkAVISaveToThisFileClick(TObject *Sender);
        void __fastcall edtRecordingFileNameChange(TObject *Sender);
        void __fastcall edtRecordingTimerIntervalChange(TObject *Sender);
        void __fastcall grbRecordingTimerClick(TObject *Sender);
        void __fastcall btnOpenDVDClick(TObject *Sender);
        void __fastcall btnCurrentDVDInfoClick(TObject *Sender);
        void __fastcall edtTextOverlayScrollingSpeedChange(
          TObject *Sender);
        void __fastcall chkChangePixelsClick(TObject *Sender);
        void __fastcall chkPlayerTrackbarSynchroneClick(TObject *Sender);
        void __fastcall tbrPlayerProgressChange(TObject *Sender);
        void __fastcall tbrZoomChange(TObject *Sender);
        void __fastcall tbrZoomXChange(TObject *Sender);
        void __fastcall tbrZoomYChange(TObject *Sender);
        void __fastcall VideoGrabberFrameProgress2(TObject *Sender,
          pFrameInfo FrameInfo);
        void __fastcall VideoGrabberFrameBitmap(TObject *Sender,
          pFrameInfo FrameInfo, pFrameBitmapInfo BitmapInfo);
        void __fastcall btnPIPFromAnotherTVideoGrabberClick(
          TObject *Sender);
        void __fastcall btnPlayerFrameStepClick(TObject *Sender);
        void __fastcall VideoGrabberRecordingPaused(TObject *Sender);
        void __fastcall Resetvideocapturedevicesettings1Click(
          TObject *Sender);
        void __fastcall edtPlayerSpeedRatioChange(TObject *Sender);
        void __fastcall btnSaveVideoCompressorSettingsClick(
          TObject *Sender);
        void __fastcall btnReloadVideoCompressorSettingsClick(
          TObject *Sender);
        void __fastcall btnSaveAudioCompressorSettingsClick(
          TObject *Sender);
        void __fastcall btnReloadAudioCompressorSettingsClick(
          TObject *Sender);
        void __fastcall chkAdjustOverlayAspectRatioClick(TObject *Sender);
        void __fastcall chkTextOverlayScrollingClick(TObject *Sender);
        void __fastcall chkBlackMagicDecklinkClick(TObject *Sender);
        void __fastcall chkEnableSnapshotButtonClick(TObject *Sender);
        void __fastcall BtnCodecExamplesClick(TObject *Sender);
        void __fastcall cboMultiplexersChange(TObject *Sender);
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall btnTargetDisplayInfoClick(TObject *Sender);
        void __fastcall btnImageOverlayInfoClick(TObject *Sender);
        void __fastcall chkTextOverlayHighResFontClick(TObject *Sender);
        void __fastcall edtTextOverlayTargetDisplayChange(TObject *Sender);
        void __fastcall edtImageOverlayTargetDisplayChange(
          TObject *Sender);
        void __fastcall chkOpenURLAsyncClick(TObject *Sender);
        void __fastcall chkDisplayActiveClick(TObject *Sender);
        void __fastcall edtAssignToMonitorNumberChange(TObject *Sender);
        void __fastcall chkMouseMovesWindowClick(TObject *Sender);
        void __fastcall edtTranspColorChange(TObject *Sender);
        void __fastcall tbrAlphablendChange(TObject *Sender);
        void __fastcall rdgDisplaySelectedClick(TObject *Sender);
        void __fastcall chkUseExternalAudioforRTSPClick(TObject *Sender);
        void __fastcall chkExternalAudioClick(TObject *Sender);
        void __fastcall edtVirtualCameraNumberChange(TObject *Sender);
        void __fastcall chkMPERecordingClick(TObject *Sender);
        void __fastcall chkMPEStreamingClick(TObject *Sender);
        void __fastcall edtMPERecordingChange(TObject *Sender);
        void __fastcall edtMPEReencodingChange(TObject *Sender);
        void __fastcall edtMPEStreamingChange(TObject *Sender);
        void __fastcall btnStartMPEReencodingClick(TObject *Sender);
        void __fastcall btnStopMPEReencodingClick(TObject *Sender);
        void __fastcall VideoGrabberMultipurposeEncoderProgress(
          TObject *Sender,
          TMultipurposeEncoderInstance MultipurposeEncoderInstance);
        void __fastcall chkModuloClick(TObject *Sender);
        void __fastcall btnBargraphOverlayClick(TObject *Sender);
        void __fastcall btnIPCameraStopClick(TObject *Sender);
        void __fastcall btnIPCameraStarttMP4RecordingClick(
          TObject *Sender);
        void __fastcall btnPIPStopClick(TObject *Sender);
private:	// User declarations
        int FStartupWidth;
        int FStartupHeight;

        int FTextOverlayIndex;
        int FImageOverlayIndex;

        TForm *FSnapForm;
        TImage *FSnapImage;
        TForm *FTransparentForm;
        TPanel *FTransparentPanel;
        int FThirdPartyFilterIndex;

        TRect FFreeHandMouseDrawing[CFreeHandMouseMax];
        int FiFreeHandMouseDrawing;
        bool FFreeHandMouseDrawingEnabled;

        Int64 FKBWritten_LastReportTime;

        bool FPickupTransparentColor_MustGetRGBPixel;
        int FPickupTransparentColor_LastRGBPixelValueAtMousePosition;
        int FPickupTransparentColor_MouseXVideoPosition;
        int FPickupTransparentColor_MouseYVideoPosition;

        int FOldVideoSignalState;

        TSearchRec FSearchBmpOrJPEGFiles;
        bool FSearchBmpOrJPEGFilesOpened;
        String FSearchBmpPath;

        int FDisplaySelected;

        void __fastcall RefreshDisplayOptions (void);
        void __fastcall RefreshDeviceControls (void);
        void __fastcall ShowFormAboveVideo (TForm *Form);

        void __fastcall TransparentFormButtonClick(TObject *Sender);
        
public:		// User declarations
        __fastcall TfrmMainForm(TComponent* Owner);
        void __fastcall TfrmMainForm::InitVMR9Trackbar (TVMR9ImageAdjustment VMR9ImageAdjustment, TTrackBar *Trackbar);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmMainForm *frmMainForm;
//---------------------------------------------------------------------------
#endif
