Selaa lähdekoodia

CctvCamCtrl - ffmpeg update

HANTE 1 kuukausi sitten
vanhempi
commit
74b4da6ceb

+ 3 - 3
CctvCamCtrl - ffmpeg/CDS/CDSCctvCtlrF.cpp

@@ -41,10 +41,10 @@ bool TCctvCtlrManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
     String sQry;
     TADOQuery *pADO = NULL;
 
-    sQry = "SELECT A.*,             \r\n"
+    sQry = "SELECT A.*,                                                                                                          \r\n"
            "       (SELECT CMMN_CD_KOR_NM FROM TB_CMMN_CD WHERE CMMN_CLSF_CD = 'CTVT' AND CMMN_CD = A.CCTV_TYPE) AS CCTV_TYPE_NM \r\n"
-           "  FROM TB_CCTV_CTLR A   \r\n";
-           " WHERE A.DEL_YN = 'N'   \r\n";
+           "  FROM TB_CCTV_CTLR A                                                                                                \r\n";
+           " WHERE A.DEL_YN = 'N'                                                                                                \r\n";
 
     FLists.Lock();
     try

+ 87 - 13
CctvCamCtrl - ffmpeg/MAIN/FrmCctvCamCtrlF.cpp

@@ -47,7 +47,7 @@
 #pragma link "FFBaseComponent"
 #pragma link "FFBasePlay"
 #pragma link "FFPlay"
-#pragma link "FRAME_WCamStateListF"
+//#pragma link "FRAME_WCamStateListF"
 #pragma link "IdBaseComponent"
 #pragma link "IdComponent"
 #pragma link "IdIcmpClient"
@@ -304,15 +304,16 @@ void __fastcall TFrmCctvCamCtrl::DisplayInfo(TCctvCtlr* AObj)
     EdCmraId->Text   = AObj->CMRA_ID;
     EdCmraPswd->Text = AObj->CMRA_PSWD;
 
-    if (AObj->CCTV_TYPE == 1)
-    {
-        // 다기능 제어기
-        BtnWebCamUrl->Enabled = false;
-        PnlCamConrtol->Enabled = false;
-        FStrmHttp = "http://" + FSelCtlr->CCTV_CTLR_IP;
-    }
-    else
-    {
+
+    BtnWebCamUrl->Enabled = false;
+    PnlCamConrtol->Enabled = false;
+    FStrmHttp = "http://" + FSelCtlr->CCTV_CTLR_IP;
+
+    int cctvType = AObj->CCTV_TYPE.Trim().ToIntDef(0);
+    switch(cctvType) {
+    case 1: // 다기능 제어기
+        break;
+    case 2: // Truen
         BtnWebCamUrl->Enabled = true;
         PnlCamConrtol->Enabled = true;
         FStrmHttp = "http://" + FSelCtlr->CCTV_CTLR_IP;
@@ -320,6 +321,13 @@ void __fastcall TFrmCctvCamCtrl::DisplayInfo(TCctvCtlr* AObj)
         {
             FStrmHttp = FStrmHttp + ":" + String(FSelCtlr->CCTV_CTLR_PORT);
         }
+        break;
+    case 3: //  Pelco
+        break;
+    case 4: // 제노시스
+        break;
+    default:
+        break;
     }
 
     try
@@ -610,11 +618,44 @@ void __fastcall TFrmCctvCamCtrl::BtnUpMouseDown(TObject *Sender, TMouseButton Bu
         String sCmdHtml = "";
         TImageBtn *pBtn = (TImageBtn*)Sender;
 
-        if (FSelCtlr->CCTV_TYPE == 2)
-        {
+
+        int cctvType = FSelCtlr->CCTV_TYPE.Trim().ToIntDef(0);
+        switch(cctvType) {
+        case 1: // 다기능 제어기
+            break;
+        case 2: // Truen
             // Truen
             //        url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
+            switch(pBtn->Tag)
+            {
+            case  0: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=home,%s&PTZ_TIMEOUT=5000",      FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // HOME
+            case  1: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=up,%s&PTZ_TIMEOUT=5000",        FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Tilt Up
+            case  2: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=down,%s&PTZ_TIMEOUT=5000",      FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Tilt Down
+            case  3: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=left,%s&PTZ_TIMEOUT=5000",      FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Pan left
+            case  4: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=right,%s&PTZ_TIMEOUT=5000",     FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Pan right
+            case  9: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomin,%s&PTZ_TIMEOUT=5000",    FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Zoom In
+            case 10: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomout,%s&PTZ_TIMEOUT=5000",   FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Zoom Out
+            case 12: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusnear,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Focus In
+            case 13: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusfar,%s&PTZ_TIMEOUT=5000",  FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // Focus Out
+            default: return;
+            }
+            break;
+        case 3: //  Pelco
+            break;
+        case 4: // 제노시스
+            break;
+        default:
+            break;
+        }
 
+#if 0
+        if (FSelCtlr->CCTV_TYPE == 1) {
+            // 다기능제어기
+        }
+        else if (FSelCtlr->CCTV_TYPE == 2)
+        {
+            // Truen
+            //        url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
             switch(pBtn->Tag)
             {
             case  0: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=home,%s&PTZ_TIMEOUT=5000",      FStrmHttp.c_str(), sPTZSpeed.c_str()); break;  // HOME
@@ -634,6 +675,12 @@ void __fastcall TFrmCctvCamCtrl::BtnUpMouseDown(TObject *Sender, TMouseButton Bu
         {
             // Pelco
         }
+        else
+        if (FSelCtlr->CCTV_TYPE == 4)
+        {
+            // 제노시스
+        }
+#endif
 
         if (sCmdHtml == "") return;
 
@@ -660,7 +707,28 @@ void __fastcall TFrmCctvCamCtrl::BtnUpMouseUp(TObject *Sender, TMouseButton Butt
         String sCmdHtml = "";
         TImageBtn *pBtn = (TImageBtn*)Sender;
 
-        if (FSelCtlr->CCTV_TYPE == 2)
+        int cctvType = FSelCtlr->CCTV_TYPE.Trim().ToIntDef(0);
+        switch(cctvType) {
+        case 1: // 다기능 제어기
+            break;
+        case 2: // Truen
+            // Truen
+            //        url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
+            sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=stop,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str());    // stop
+            break;
+        case 3: //  Pelco
+            break;
+        case 4: // 제노시스
+            break;
+        default:
+            break;
+        }
+
+#if 0
+        if (FSelCtlr->CCTV_TYPE == 1) {
+            // 다기능제어기
+        }
+        else if (FSelCtlr->CCTV_TYPE == 2)
         {
             // Truen
             sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=stop,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str());    // stop
@@ -670,6 +738,12 @@ void __fastcall TFrmCctvCamCtrl::BtnUpMouseUp(TObject *Sender, TMouseButton Butt
         {
             // Pelco
         }
+        else
+        if (FSelCtlr->CCTV_TYPE == 4)
+        {
+            // 제노시스
+        }
+#endif
 
         if (sCmdHtml == "") return;
 

+ 8 - 6
CctvCamCtrl - ffmpeg/MAIN/FrmCctvCamCtrlF.dfm

@@ -10726,13 +10726,15 @@ object FrmCctvCamCtrl: TFrmCctvCamCtrl
               end
             end
             inherited TabLc2: TcxTabSheet
-              ExplicitTop = 28
-              ExplicitHeight = 618
+              ExplicitLeft = 4
+              ExplicitTop = 24
+              ExplicitWidth = 1505
+              ExplicitHeight = 623
               inherited CxList2: TcxGrid
-                Width = 371
-                Height = 626
-                ExplicitWidth = 371
-                ExplicitHeight = 626
+                Width = 1505
+                Height = 623
+                ExplicitWidth = 1505
+                ExplicitHeight = 623
                 inherited TvList2: TcxGridBandedTableView
                   OnCellDblClick = FRAMECctvStateList1TvList2CellDblClick
                   DataController.Summary.FooterSummaryItems = <

+ 1 - 1
CctvCamCtrl - ffmpeg/MAIN/FrmCctvCamCtrlF.h

@@ -53,7 +53,7 @@
 #include "FFBaseComponent.hpp"
 #include "FFBasePlay.hpp"
 #include "FFPlay.hpp"
-#include "FRAME_WCamStateListF.h"
+//#include "FRAME_WCamStateListF.h"
 #include "IdBaseComponent.hpp"
 #include "IdComponent.hpp"
 #include "IdIcmpClient.hpp"