theunknownwatcher

iSpy diff - quickly add Foscam cameras

Mar 30th, 2018
126
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Source: https://github.com/ispysoftware/iSpy/commit/28fcbda3b9ef345adac54fdf098e2c1e1dd5a5d3
  2. diff -Naur iSpy-master/MainForm.cs iSpy-master-mod/MainForm.cs
  3. --- iSpy-master/MainForm.cs 2015-11-02 02:03:08.000000000 -0800
  4. +++ iSpy-master-mod/MainForm.cs 2015-11-02 20:18:26.000000000 -0800
  5. @@ -256,6 +256,7 @@
  6.          private ToolStripMenuItem _helpToolstripMenuItem;
  7.          private Timer _houseKeepingTimer;
  8.          private ToolStripMenuItem _iPCameraToolStripMenuItem;
  9. +        private ToolStripMenuItem _quickAddIpCameraToolStripMenuItem;
  10.          private string _lastPath = Program.AppDataPath;
  11.          private ToolStripMenuItem _listenToolStripMenuItem;
  12.          private ToolStripMenuItem _localCameraToolStripMenuItem;
  13. @@ -3315,6 +3316,11 @@
  14.              AddCamera(1);
  15.          }
  16.  
  17. +        private void QuickAddToolStripMenuItemClick(object sender, EventArgs e)
  18. +        {
  19. +            QuickAddCamera();
  20. +        }
  21. +
  22.          private void MicrophoneToolStripMenuItemClick(object sender, EventArgs e)
  23.          {
  24.              AddMicrophone(0);
  25. @@ -4527,6 +4533,7 @@
  26.              this._toolStripDropDownButton2 = new System.Windows.Forms.ToolStripDropDownButton();
  27.              this._localCameraToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  28.              this._iPCameraToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  29. +            this._quickAddIpCameraToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  30.              this.iPCameraWithWizardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  31.              this.oNVIFCameraToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  32.              this._floorPlanToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
  33. @@ -5492,6 +5499,7 @@
  34.              this._toolStripDropDownButton2.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
  35.              this._localCameraToolStripMenuItem,
  36.              this._iPCameraToolStripMenuItem,
  37. +            this._quickAddIpCameraToolStripMenuItem,
  38.              this.iPCameraWithWizardToolStripMenuItem,
  39.              this.oNVIFCameraToolStripMenuItem,
  40.              this._floorPlanToolStripMenuItem,
  41. @@ -5527,6 +5535,16 @@
  42.              this._iPCameraToolStripMenuItem.Text = "IP Camera";
  43.              this._iPCameraToolStripMenuItem.Click += new System.EventHandler(this.IpCameraToolStripMenuItemClick);
  44.              //
  45. +            // _quickAddIpCameraToolStripMenuItem
  46. +            //
  47. +            this._quickAddIpCameraToolStripMenuItem.Image = global::iSpyApplication.Properties.Resources.Computer;
  48. +            this._quickAddIpCameraToolStripMenuItem.Margin = new System.Windows.Forms.Padding(0, 4, 0, 0);
  49. +            this._quickAddIpCameraToolStripMenuItem.Name = "_quickAddIpCameraToolStripMenuItem";
  50. +            this._quickAddIpCameraToolStripMenuItem.Padding = new System.Windows.Forms.Padding(0);
  51. +            this._quickAddIpCameraToolStripMenuItem.Size = new System.Drawing.Size(402, 24);
  52. +            this._quickAddIpCameraToolStripMenuItem.Text = "Foscam (and Knockoffs)";
  53. +            this._quickAddIpCameraToolStripMenuItem.Click += new System.EventHandler(this.QuickAddToolStripMenuItemClick);
  54. +            //
  55.              // iPCameraWithWizardToolStripMenuItem
  56.              //
  57.              this.iPCameraWithWizardToolStripMenuItem.Image = global::iSpyApplication.Properties.Resources.Computer;
  58. diff -Naur iSpy-master/MainForm_Configuration.cs iSpy-master-mod/MainForm_Configuration.cs
  59. --- iSpy-master/MainForm_Configuration.cs   2015-11-02 02:03:08.000000000 -0800
  60. +++ iSpy-master-mod/MainForm_Configuration.cs   2015-11-02 21:21:46.000000000 -0800
  61. @@ -2251,6 +2251,117 @@
  62.              LoadPreviews();
  63.          }
  64.  
  65. +        private void QuickAddCamera()
  66. +        {
  67. +            CameraWindow cw = NewCameraWindow(1);
  68. +
  69. +            string cameraIP = string.Empty;
  70. +            string cameraUser = string.Empty;
  71. +            string cameraPassword = string.Empty;
  72. +
  73. +            if (ShowInputDialog("IP", ref cameraIP) != DialogResult.OK) return;
  74. +            if (ShowInputDialog("Username", ref cameraUser) != DialogResult.OK) return;
  75. +            if (ShowInputDialog("Password", ref cameraPassword) != DialogResult.OK) return;
  76. +
  77. +            // needed for talk
  78. +            string rawCameraIP = cameraIP.Split(':')[0];
  79. +            int cameraPort = 80;
  80. +            if (cameraIP.Contains(":"))
  81. +            {
  82. +                int.TryParse(cameraIP.Split(':')[1], out cameraPort);
  83. +            }
  84. +
  85. +            // disable annoying stuff
  86. +            cw.Camobject.alerts.active = false;
  87. +            cw.Camobject.detector.recordonalert = false;
  88. +            cw.Camobject.detector.recordondetect = false;
  89. +            cw.Camobject.detector.type = "None";
  90. +
  91. +            // setup talk
  92. +            cw.Camobject.settings.audioport = cameraPort;
  93. +            cw.Camobject.settings.audiomodel = "Foscam";
  94. +            cw.Camobject.settings.audioip = rawCameraIP;
  95. +            cw.Camobject.settings.audiousername = cameraUser;
  96. +            cw.Camobject.settings.audiopassword = cameraPassword;
  97. +
  98. +            // setup misc cam settings
  99. +            cw.Camobject.settings.login = cameraUser;
  100. +            cw.Camobject.settings.password = cameraPassword;
  101. +
  102. +            // setup video source (VLC)
  103. +            cw.Camobject.settings.videosourcestring = string.Format("http://{1}:{2}@{0}/videostream.cgi?usr={1}&pwd={2}", cameraIP, cameraUser, cameraPassword);
  104. +            cw.Camobject.settings.sourceindex = 5;
  105. +
  106. +            TopMost = false;
  107. +            var ac = new AddCamera { CameraControl = cw, StartWizard = false, IsNew = true, MainClass = this };
  108. +            ac.ShowDialog(this);
  109. +            if (ac.DialogResult == DialogResult.OK)
  110. +            {
  111. +                UnlockLayout();
  112. +                SetNewStartPosition();
  113. +                if (cw.VolumeControl != null && !cw.VolumeControl.IsEnabled)
  114. +                    cw.VolumeControl.Enable();
  115. +                NeedsSync = true;
  116. +            }
  117. +            else
  118. +            {
  119. +                int cid = cw.Camobject.id;
  120. +                cw.Disable();
  121. +                _pnlCameras.Controls.Remove(cw);
  122. +                cw.Dispose();
  123. +                Cameras.RemoveAll(p => p.id == cid);
  124. +            }
  125. +            ac.Dispose();
  126. +            TopMost = Conf.AlwaysOnTop;
  127. +        }
  128. +
  129. +        // http://stackoverflow.com/a/17546909
  130. +        private DialogResult ShowInputDialog(string caption, ref string input)
  131. +        {
  132. +            System.Drawing.Size size = new System.Drawing.Size(200, 95);
  133. +            Form inputBox = new Form();
  134. +
  135. +            inputBox.StartPosition = FormStartPosition.CenterParent;
  136. +            inputBox.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
  137. +            inputBox.ClientSize = size;
  138. +            inputBox.Text = caption;
  139. +
  140. +            System.Windows.Forms.Label label = new Label();
  141. +            label.Size = new System.Drawing.Size(size.Width - 10, 23);
  142. +            label.Location = new System.Drawing.Point(5, 5);
  143. +            label.Text = caption;
  144. +            inputBox.Controls.Add(label);
  145. +
  146. +            System.Windows.Forms.TextBox textBox = new TextBox();
  147. +            textBox.Size = new System.Drawing.Size(size.Width - 10, 23);
  148. +            textBox.Location = new System.Drawing.Point(5, 28);
  149. +            textBox.Text = input;
  150. +            inputBox.Controls.Add(textBox);
  151. +
  152. +            Button okButton = new Button();
  153. +            okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
  154. +            okButton.Name = "okButton";
  155. +            okButton.Size = new System.Drawing.Size(75, 23);
  156. +            okButton.Text = "&OK";
  157. +            okButton.Location = new System.Drawing.Point(size.Width - 80 - 80, 64);
  158. +            inputBox.Controls.Add(okButton);
  159. +
  160. +            Button cancelButton = new Button();
  161. +            cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  162. +            cancelButton.Name = "cancelButton";
  163. +            cancelButton.Size = new System.Drawing.Size(75, 23);
  164. +            cancelButton.Text = "&Cancel";
  165. +            cancelButton.Location = new System.Drawing.Point(size.Width - 80, 64);
  166. +            inputBox.Controls.Add(cancelButton);
  167. +
  168. +            inputBox.AcceptButton = okButton;
  169. +            inputBox.CancelButton = cancelButton;
  170. +
  171. +            DialogResult result = inputBox.ShowDialog();
  172. +            input = textBox.Text;
  173. +            return result;
  174. +        }
  175. +
  176.          private void AddCamera(int videoSourceIndex, bool startWizard = false)
  177.          {
  178.              CameraWindow cw = NewCameraWindow(videoSourceIndex);
RAW Paste Data