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