Added fourth camera.

This commit is contained in:
2024-05-04 22:19:33 +02:00
parent 31d356e7b4
commit d5aa14ba8b
59 changed files with 141 additions and 3 deletions
Binary file not shown.
+23
View File
@@ -0,0 +1,23 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\mspel\\source\\repos\\PTZControl\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
}
]
}
]
}
]
}
+7
View File
@@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\PTZControl.sln",
"PreviewInSolutionExplorer": false
}
+7 -1
View File
@@ -635,7 +635,7 @@ void CWebcamController::ListDevices(CStringArray &aDevices)
//create a device class enumerator //create a device class enumerator
CComPtr<IEnumMoniker> pIEnumMoniker; CComPtr<IEnumMoniker> pIEnumMoniker;
HRESULT hResult = pSysDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pIEnumMoniker, 0); HRESULT hResult = pSysDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pIEnumMoniker, 0);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr) && (hResult == S_OK))
{ {
ULONG pFetched = NULL; ULONG pFetched = NULL;
CComPtr<IMoniker> pImoniker; CComPtr<IMoniker> pImoniker;
@@ -661,5 +661,11 @@ void CWebcamController::ListDevices(CStringArray &aDevices)
pImoniker = nullptr; pImoniker = nullptr;
} }
} }
//else {
// aDevices.Add(CString("PTZ Pro 1\tPTZ Pro 1"));
// aDevices.Add(CString("PTZ Pro 2\tPTZ Pro 2"));
// aDevices.Add(CString("PTZ Pro 3\tPTZ Pro 3"));
// aDevices.Add(CString("PTZ Pro 4\tPTZ Pro 4"));
//}
} }
} }
Binary file not shown.
@@ -0,0 +1,23 @@
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.pch
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\vc143.pdb
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\vc143.idb
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\pch.obj
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\settingsdlg.obj
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontroldlg.obj
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.obj
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\extensionunit.obj
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.exe
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.pdb
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.res
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.ilk
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\cl.command.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\cl.items.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\cl.read.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\cl.write.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\link.command.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\link.read.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\link.secondary.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\link.write.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\rc.command.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\rc.read.1.tlog
c:\users\mspel\source\repos\ptzcontrol\ptzcontrol\ptzcontrol\x64\debug\ptzcontrol.tlog\rc.write.1.tlog
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>C:\Users\mspel\source\repos\PTZControl\PTZControl\x64\Debug\PTZControl.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>
Binary file not shown.
@@ -0,0 +1 @@
PTZControl.vcxproj -> C:\Users\mspel\source\repos\PTZControl\PTZControl\x64\Debug\PTZControl.exe
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
C:\Users\mspel\source\repos\PTZControl\PTZControl\ExtensionUnit.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\ExtensionUnit.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\pch.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\pch.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\PTZControl.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControlDlg.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\PTZControlDlg.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\SettingsDlg.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\SettingsDlg.obj
@@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0:
Debug|x64|C:\Users\mspel\source\repos\PTZControl\PTZControl\|
@@ -0,0 +1,2 @@
^C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\EXTENSIONUNIT.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\PCH.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\PTZCONTROL.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\PTZCONTROL.RES|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\PTZCONTROLDLG.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\DEBUG\SETTINGSDLG.OBJ
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Debug\PTZControl.ilk
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>C:\Users\mspel\source\repos\PTZControl\PTZControl\x64\Release\PTZControl.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
<SatelliteDlls />
<NonRecipeFileRefs />
</Project>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
ExtensionUnit.cpp
Generating code
6 of 739 functions ( 0.8%) were compiled, the rest were copied from previous compilation.
0 functions were new in current compilation
8 functions had inline decision re-evaluated but remain unchanged
Finished generating code
PTZControl.vcxproj -> C:\Users\mspel\source\repos\PTZControl\PTZControl\x64\Release\PTZControl.exe
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
C:\Users\mspel\source\repos\PTZControl\PTZControl\ExtensionUnit.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\ExtensionUnit.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\pch.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\pch.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\PTZControl.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControlDlg.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\PTZControlDlg.obj
C:\Users\mspel\source\repos\PTZControl\PTZControl\SettingsDlg.cpp;C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\SettingsDlg.obj
@@ -0,0 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0:
Release|x64|C:\Users\mspel\source\repos\PTZControl\PTZControl\|
@@ -0,0 +1,3 @@
^C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\EXTENSIONUNIT.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\PCH.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\PTZCONTROL.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\PTZCONTROL.RES|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\PTZCONTROLDLG.OBJ|C:\USERS\MSPEL\SOURCE\REPOS\PTZCONTROL\PTZCONTROL\PTZCONTROL\X64\RELEASE\SETTINGSDLG.OBJ
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\PTZControl.IPDB
C:\Users\mspel\source\repos\PTZControl\PTZControl\PTZControl\x64\Release\PTZControl.iobj
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+20 -1
View File
@@ -60,6 +60,7 @@ static const SPosition layoutBtns1[] // 0 or 1 camera (uses only 1 column)
IDC_BT_WEBCAM1, false, 0, 0, IDC_BT_WEBCAM1, false, 0, 0,
IDC_BT_WEBCAM2, false, 0, 0, IDC_BT_WEBCAM2, false, 0, 0,
IDC_BT_WEBCAM3, false, 0, 0, IDC_BT_WEBCAM3, false, 0, 0,
IDC_BT_WEBCAM4, false, 0, 0,
0 0
}; };
@@ -71,6 +72,7 @@ static const SPosition layoutBtns2[] // 2 cameras (uses 2 columns)
IDC_BT_WEBCAM2, true, 1, 2, IDC_BT_WEBCAM2, true, 1, 2,
// Invisible // Invisible
IDC_BT_WEBCAM3, false, 0, 0, IDC_BT_WEBCAM3, false, 0, 0,
IDC_BT_WEBCAM4, false, 0, 0,
0 0
}; };
@@ -81,6 +83,18 @@ static const SPosition layoutBtns3[] // 3 cameras
IDC_BT_WEBCAM1, true, 0, 0, // all in one column left (top down) IDC_BT_WEBCAM1, true, 0, 0, // all in one column left (top down)
IDC_BT_WEBCAM2, true, 0, 1, IDC_BT_WEBCAM2, true, 0, 1,
IDC_BT_WEBCAM3, true, 0, 2, IDC_BT_WEBCAM3, true, 0, 2,
IDC_BT_WEBCAM4, true, 0, 0,
0
};
static const SPosition layoutBtns4[] // 4 cameras
{
IDC_BT_EXIT, true, 1, 0, // Outer left column
IDC_BT_SETTINGS, true, 1, 1,
IDC_BT_WEBCAM1, true, 0, 0, // all in one column left (top down)
IDC_BT_WEBCAM2, true, 0, 1,
IDC_BT_WEBCAM3, true, 0, 2,
IDC_BT_WEBCAM4, true, 1, 2,
0 0
}; };
@@ -90,6 +104,7 @@ const SLayout g_layout[CPTZControlDlg::NUM_MAX_WEBCAMS+1] =
-1, layoutBtns1, // 0 or 1 camera (shrink dialog) -1, layoutBtns1, // 0 or 1 camera (shrink dialog)
0, layoutBtns2, // 2 cameras (keep size) 0, layoutBtns2, // 2 cameras (keep size)
0, layoutBtns3, // 3 cameras (keep size) 0, layoutBtns3, // 3 cameras (keep size)
0, layoutBtns4, // 4 cameras (keep size)
}; };
@@ -304,6 +319,7 @@ void CPTZControlDlg::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_BT_WEBCAM1, m_btWebCam[0]); DDX_Control(pDX, IDC_BT_WEBCAM1, m_btWebCam[0]);
DDX_Control(pDX, IDC_BT_WEBCAM2, m_btWebCam[1]); DDX_Control(pDX, IDC_BT_WEBCAM2, m_btWebCam[1]);
DDX_Control(pDX, IDC_BT_WEBCAM3, m_btWebCam[2]); DDX_Control(pDX, IDC_BT_WEBCAM3, m_btWebCam[2]);
DDX_Control(pDX, IDC_BT_WEBCAM4, m_btWebCam[3]);
} }
BEGIN_MESSAGE_MAP(CPTZControlDlg, CDialogEx) BEGIN_MESSAGE_MAP(CPTZControlDlg, CDialogEx)
@@ -317,6 +333,7 @@ BEGIN_MESSAGE_MAP(CPTZControlDlg, CDialogEx)
ON_COMMAND_EX(IDC_BT_WEBCAM1, &CPTZControlDlg::OnBtWebCam) ON_COMMAND_EX(IDC_BT_WEBCAM1, &CPTZControlDlg::OnBtWebCam)
ON_COMMAND_EX(IDC_BT_WEBCAM2, &CPTZControlDlg::OnBtWebCam) ON_COMMAND_EX(IDC_BT_WEBCAM2, &CPTZControlDlg::OnBtWebCam)
ON_COMMAND_EX(IDC_BT_WEBCAM3, &CPTZControlDlg::OnBtWebCam) ON_COMMAND_EX(IDC_BT_WEBCAM3, &CPTZControlDlg::OnBtWebCam)
ON_COMMAND_EX(IDC_BT_WEBCAM4, &CPTZControlDlg::OnBtWebCam)
ON_COMMAND_EX(IDC_BT_PRESET1, &CPTZControlDlg::OnBtPreset) ON_COMMAND_EX(IDC_BT_PRESET1, &CPTZControlDlg::OnBtPreset)
ON_COMMAND_EX(IDC_BT_PRESET2, &CPTZControlDlg::OnBtPreset) ON_COMMAND_EX(IDC_BT_PRESET2, &CPTZControlDlg::OnBtPreset)
ON_COMMAND_EX(IDC_BT_PRESET3, &CPTZControlDlg::OnBtPreset) ON_COMMAND_EX(IDC_BT_PRESET3, &CPTZControlDlg::OnBtPreset)
@@ -485,6 +502,7 @@ BOOL CPTZControlDlg::OnInitDialog()
&m_btWebCam[0], &m_btWebCam[0],
&m_btWebCam[1], &m_btWebCam[1],
&m_btWebCam[2], &m_btWebCam[2],
&m_btWebCam[3],
}; };
for (auto* pBtn : apButtons) for (auto* pBtn : apButtons)
{ {
@@ -804,7 +822,8 @@ BOOL CPTZControlDlg::OnBtPreset(UINT nId)
BOOL CPTZControlDlg::OnBtWebCam(UINT nId) BOOL CPTZControlDlg::OnBtWebCam(UINT nId)
{ {
SetActiveCam(nId==IDC_BT_WEBCAM1 ? 0 : SetActiveCam(nId==IDC_BT_WEBCAM1 ? 0 :
nId==IDC_BT_WEBCAM2 ? 1 : 2); nId==IDC_BT_WEBCAM2 ? 1 :
nId==IDC_BT_WEBCAM3 ? 2 : 3);
return 1; return 1;
} }
+1 -1
View File
@@ -73,7 +73,7 @@ public:
~CPTZControlDlg(); ~CPTZControlDlg();
// Dialog Data // Dialog Data
enum { IDD = IDD_PTZCONTROL_DIALOG }; enum { IDD = IDD_PTZCONTROL_DIALOG };
static const int NUM_MAX_WEBCAMS = 3; static const int NUM_MAX_WEBCAMS = 4;
protected: protected:
CPTZButton m_btZoomIn; CPTZButton m_btZoomIn;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

+11
View File
@@ -62,6 +62,17 @@
#define IDC_ED_TOOLTIP_3_6 1025 #define IDC_ED_TOOLTIP_3_6 1025
#define IDC_ED_TOOLTIP_3_7 1026 #define IDC_ED_TOOLTIP_3_7 1026
#define IDC_ED_TOOLTIP_3_8 1027 #define IDC_ED_TOOLTIP_3_8 1027
#define IDC_BT_WEBCAM4 1028
#define IDC_ED_TOOLTIP_4_1 1028
#define IDC_ED_TOOLTIP_4_2 1029
#define IDC_ED_TOOLTIP__4_3 1030
#define IDC_ED_TOOLTIP_4_3 1031
#define IDC_ED_TOOLTIP_4_4 1032
#define IDC_ED_TOOLTIP_4_5 1033
#define IDC_ED_TOOLTIP_4_6 1034
#define IDC_ED_TOOLTIP_4_7 1035
#define IDC_ED_TOOLTIP_4_8 1036
#define DC_BT_SETTINGS 32791 #define DC_BT_SETTINGS 32791
// Next default values for new objects // Next default values for new objects