diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 150ae0a..8c05441 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); lbMain = new ListBox(); SuspendLayout(); // @@ -48,6 +49,7 @@ AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(800, 450); Controls.Add(lbMain); + Icon = (Icon)resources.GetObject("$this.Icon"); Name = "MainForm"; Text = "RoboSpot MotionCamera finder"; FormClosing += MainForm_FormClosing; diff --git a/MainForm.resx b/MainForm.resx index f298a7b..e6d8dcb 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -57,4 +57,29 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAP9UAAD/VwAA + /w0AAAAAAAAAgwAAAMgAAADIAAAAyAAAALsAAAAAAAAAAAAAAAAAAADLAAAA0AAAGNQAAN/4AAD//wAA + //8AAP/iAAD/HgAAAIIAAAD/AAAA/wAAAP8AAAD/AAAAFgAAAAAAAAAUAAAA/wAAAP8AAIT/AAD//wAA + //8AAP//AAD//wAA/5cAAABYAAAA/wAAAP8AAAD/AAAA/wAAAEAAAAAAAAAALwAAAP8AAAD/AACi/wAA + //8AAP//AAD//wAA//8AAP+0AAAALwAAAP8AAAD/AAAA/wAAAP8AAABrAAAAAAAAAEsAAAD/AAAA/wAA + Wv8AAP//AAD//wAA//8AAP//AAD/bQAAAAgAAAD9AAAA/wAAAP8AAAD/AAAAlQAAAAAAAABnAAAA/wAA + AP8AAAD/AAB7/wAA9fcAAP/wAAD/iAAAAAIAAAAAAAAA2wAAAP8AAAD/AAAA/wAAAM8AAABQAAAApgAA + AP8AAAD/AAAA/wAAAP8AAABXAAAAAAAAAAAAAAAAAAAAAAAAALEAAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAApgAAABsAAAAAAAAAAAAAAAAAAACIAAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAMwAAAAAAAAAAAAAAXgAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAALAAAAAAAAADQAAAD/AAAA/wAA + AP8AAAD/AAAAZAAAAAAAAAAAAAAADgAAAMoAAAD/AAAA/wAAAP8AAAD/AAAAawAAAAAAAAAMAAAA/gAA + AP8AAAD/AAAA/wAAAIwAAAAAAAAAAAAAAAYAAACwAAAA/wAAAP8AAAD/AAAA/wAAAKgAAAAAAAAAAAAA + AOEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAA + AAAAAAC3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAPgAA + AAAAAAAAAAAAjQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADXAAAAUAAA + AAAAAAAAAAAAAAAAABkAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADQAAAAZAAAAAAAA + AAAAAAAA//EAAAcAAAACAAAAAgAAAAIAAACCAQAAgAcAAIADAACAAQAAgAAAAIGAAACBwAAAwAAAAMAA + AADAAQAAwAcAAA== + + \ No newline at end of file diff --git a/StreamViewer.Designer.cs b/StreamViewer.Designer.cs index 1196d83..570bf70 100644 --- a/StreamViewer.Designer.cs +++ b/StreamViewer.Designer.cs @@ -31,11 +31,12 @@ namespace robospot_camera_finder private void InitializeComponent() { components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StreamViewer)); videoView = new LibVLCSharp.WinForms.VideoView(); tbZoom = new TrackBar(); - lblMinZoom = new Label(); - lblMaxZoom = new Label(); timerUpdateZoom = new System.Windows.Forms.Timer(components); + btnZoomMin = new Button(); + btnZoomMax = new Button(); ((System.ComponentModel.ISupportInitialize)videoView).BeginInit(); ((System.ComponentModel.ISupportInitialize)tbZoom).BeginInit(); SuspendLayout(); @@ -68,44 +69,49 @@ namespace robospot_camera_finder tbZoom.KeyUp += tbZoom_KeyUp; tbZoom.MouseUp += tbZoom_MouseUp; // - // lblMinZoom - // - lblMinZoom.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - lblMinZoom.AutoSize = true; - lblMinZoom.Location = new Point(902, 492); - lblMinZoom.Name = "lblMinZoom"; - lblMinZoom.Size = new Size(19, 15); - lblMinZoom.TabIndex = 2; - lblMinZoom.Text = "1x"; - // - // lblMaxZoom - // - lblMaxZoom.Anchor = AnchorStyles.Top | AnchorStyles.Right; - lblMaxZoom.AutoSize = true; - lblMaxZoom.Location = new Point(902, 12); - lblMaxZoom.Name = "lblMaxZoom"; - lblMaxZoom.Size = new Size(25, 15); - lblMaxZoom.TabIndex = 3; - lblMaxZoom.Text = "32x"; - // // timerUpdateZoom // timerUpdateZoom.Enabled = true; timerUpdateZoom.Interval = 10000; timerUpdateZoom.Tick += timerUpdateZoom_Tick; // + // btnZoomMin + // + btnZoomMin.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + btnZoomMin.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + btnZoomMin.Location = new Point(886, 484); + btnZoomMin.Name = "btnZoomMin"; + btnZoomMin.Size = new Size(42, 23); + btnZoomMin.TabIndex = 2; + btnZoomMin.Text = "1x"; + btnZoomMin.UseVisualStyleBackColor = true; + btnZoomMin.Click += btnZoomMin_Click; + // + // btnZoomMax + // + btnZoomMax.Anchor = AnchorStyles.Top | AnchorStyles.Right; + btnZoomMax.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + btnZoomMax.Location = new Point(886, 12); + btnZoomMax.Name = "btnZoomMax"; + btnZoomMax.Size = new Size(42, 23); + btnZoomMax.TabIndex = 3; + btnZoomMax.Text = "32x"; + btnZoomMax.UseVisualStyleBackColor = true; + btnZoomMax.Click += btnZoomMax_Click; + // // StreamViewer // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(933, 519); - Controls.Add(lblMaxZoom); - Controls.Add(lblMinZoom); + Controls.Add(btnZoomMax); + Controls.Add(btnZoomMin); Controls.Add(tbZoom); Controls.Add(videoView); + Icon = (Icon)resources.GetObject("$this.Icon"); Margin = new Padding(4, 3, 4, 3); Name = "StreamViewer"; - Text = "LibVLCSharp.WinForms"; + Text = "Camera"; FormClosed += StreamViewer_FormClosed; ((System.ComponentModel.ISupportInitialize)videoView).EndInit(); ((System.ComponentModel.ISupportInitialize)tbZoom).EndInit(); @@ -117,8 +123,8 @@ namespace robospot_camera_finder private LibVLCSharp.WinForms.VideoView videoView; private TrackBar tbZoom; - private Label lblMinZoom; - private Label lblMaxZoom; private System.Windows.Forms.Timer timerUpdateZoom; + private Button btnZoomMin; + private Button btnZoomMax; } } \ No newline at end of file diff --git a/StreamViewer.cs b/StreamViewer.cs index 7256259..7a720e6 100644 --- a/StreamViewer.cs +++ b/StreamViewer.cs @@ -22,6 +22,9 @@ namespace robospot_camera_finder string password = "RoboSpot10"; string cam_ip = ""; + int max_zoom_pulse = 9999; + int min_zoom_pulse = 10; + public StreamViewer(string name, string ip) { InitializeComponent(); @@ -56,13 +59,13 @@ namespace robospot_camera_finder private void sendZoomValue(string zoom_pulse) { // clamp values to allowed range - if (int.Parse(zoom_pulse) < 10) + if (int.Parse(zoom_pulse) < min_zoom_pulse) { - zoom_pulse = "10"; + zoom_pulse = min_zoom_pulse.ToString(); } - if (int.Parse(zoom_pulse) > 9999) + if (int.Parse(zoom_pulse) > max_zoom_pulse) { - zoom_pulse = "9999"; + zoom_pulse = max_zoom_pulse.ToString(); } HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=absolute&action=control&ZoomPulse=" + zoom_pulse); @@ -91,5 +94,17 @@ namespace robospot_camera_finder { updateZoomSlider(); } + + private void btnZoomMax_Click(object sender, EventArgs e) + { + tbZoom.Value = max_zoom_pulse; + sendZoomValue(tbZoom.Value.ToString()); + } + + private void btnZoomMin_Click(object sender, EventArgs e) + { + tbZoom.Value = min_zoom_pulse; + sendZoomValue(tbZoom.Value.ToString()); + } } } diff --git a/StreamViewer.resx b/StreamViewer.resx index ce0bc94..156a45f 100644 --- a/StreamViewer.resx +++ b/StreamViewer.resx @@ -60,4 +60,29 @@ 17, 17 + + + + AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAP9UAAD/VwAA + /w0AAAAAAAAAgwAAAMgAAADIAAAAyAAAALsAAAAAAAAAAAAAAAAAAADLAAAA0AAAGNQAAN/4AAD//wAA + //8AAP/iAAD/HgAAAIIAAAD/AAAA/wAAAP8AAAD/AAAAFgAAAAAAAAAUAAAA/wAAAP8AAIT/AAD//wAA + //8AAP//AAD//wAA/5cAAABYAAAA/wAAAP8AAAD/AAAA/wAAAEAAAAAAAAAALwAAAP8AAAD/AACi/wAA + //8AAP//AAD//wAA//8AAP+0AAAALwAAAP8AAAD/AAAA/wAAAP8AAABrAAAAAAAAAEsAAAD/AAAA/wAA + Wv8AAP//AAD//wAA//8AAP//AAD/bQAAAAgAAAD9AAAA/wAAAP8AAAD/AAAAlQAAAAAAAABnAAAA/wAA + AP8AAAD/AAB7/wAA9fcAAP/wAAD/iAAAAAIAAAAAAAAA2wAAAP8AAAD/AAAA/wAAAM8AAABQAAAApgAA + AP8AAAD/AAAA/wAAAP8AAABXAAAAAAAAAAAAAAAAAAAAAAAAALEAAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAApgAAABsAAAAAAAAAAAAAAAAAAACIAAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAMwAAAAAAAAAAAAAAXgAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAALAAAAAAAAADQAAAD/AAAA/wAA + AP8AAAD/AAAAZAAAAAAAAAAAAAAADgAAAMoAAAD/AAAA/wAAAP8AAAD/AAAAawAAAAAAAAAMAAAA/gAA + AP8AAAD/AAAA/wAAAIwAAAAAAAAAAAAAAAYAAACwAAAA/wAAAP8AAAD/AAAA/wAAAKgAAAAAAAAAAAAA + AOEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAA + AAAAAAC3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAPgAA + AAAAAAAAAAAAjQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADXAAAAUAAA + AAAAAAAAAAAAAAAAABkAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADQAAAAZAAAAAAAA + AAAAAAAA//EAAAcAAAACAAAAAgAAAAIAAACCAQAAgAcAAIADAACAAQAAgAAAAIGAAACBwAAAwAAAAMAA + AADAAQAAwAcAAA== + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..f9409a7 Binary files /dev/null and b/favicon.ico differ