general overhaul & add presets
This commit is contained in:
220
StreamViewer.cs
220
StreamViewer.cs
@@ -15,8 +15,6 @@ namespace robospot_camera_finder
|
||||
|
||||
static SACNClient sendClient = new SACNClient(senderId: acnSourceId, senderName: acnSourceName, localAddress: SACNCommon.GetFirstBindAddress().IPAddress);
|
||||
|
||||
string username = "admin";
|
||||
string password = "RoboSpot10";
|
||||
string cam_ip = "";
|
||||
|
||||
int max_zoom_pulse = 9999;
|
||||
@@ -26,7 +24,31 @@ namespace robospot_camera_finder
|
||||
|
||||
Xbox360Controller controller = new Xbox360Controller();
|
||||
|
||||
public StreamViewer(string name, string ip)
|
||||
bool preset_rec_mode = false;
|
||||
bool preset_clear_mode = false;
|
||||
|
||||
bool preset1_exists = false;
|
||||
int preset1_pan;
|
||||
int preset1_tilt;
|
||||
int preset1_zoom;
|
||||
|
||||
bool preset2_exists = false;
|
||||
int preset2_pan;
|
||||
int preset2_tilt;
|
||||
int preset2_zoom;
|
||||
|
||||
bool preset3_exists = false;
|
||||
int preset3_pan;
|
||||
int preset3_tilt;
|
||||
int preset3_zoom;
|
||||
|
||||
|
||||
bool preset4_exists = false;
|
||||
int preset4_pan;
|
||||
int preset4_tilt;
|
||||
int preset4_zoom;
|
||||
|
||||
public StreamViewer(string name, string ip, MainForm.Camera camera, MainForm mainForm)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -40,17 +62,19 @@ namespace robospot_camera_finder
|
||||
|
||||
updateZoomSlider();
|
||||
|
||||
tbSerial.Text = camera.camera_serial;
|
||||
|
||||
videoView.MediaPlayer = _mp;
|
||||
var media = new Media(_libVLC, new Uri("rtsp://" + ip + "/profile2/media.smp"));
|
||||
media.AddOption(":network-caching=25");
|
||||
_mp.Play(media);
|
||||
media.Dispose();
|
||||
media.Dispose();
|
||||
}
|
||||
|
||||
private void updateZoomSlider()
|
||||
{
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=query&action=view&Query=Zoom");
|
||||
request.Credentials = new NetworkCredential(username, password);
|
||||
request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password);
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
string text;
|
||||
using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); }
|
||||
@@ -73,7 +97,7 @@ namespace robospot_camera_finder
|
||||
}
|
||||
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=absolute&action=control&ZoomPulse=" + zoom_pulse);
|
||||
request.Credentials = new NetworkCredential(username, password);
|
||||
request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password);
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
}
|
||||
|
||||
@@ -81,7 +105,7 @@ namespace robospot_camera_finder
|
||||
private void sendZoomValueManual(string zoom_value)
|
||||
{
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=continuous&NormalizedSpeed=True&action=control&Channel=0&Zoom=" + zoom_value);
|
||||
request.Credentials = new NetworkCredential(username, password);
|
||||
request.Credentials = new NetworkCredential(MainForm.cam_username, MainForm.cam_password);
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
}
|
||||
|
||||
@@ -212,8 +236,8 @@ namespace robospot_camera_finder
|
||||
|
||||
private void numDMXAddr_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
tbPan.Value = 128;
|
||||
tbTilt.Value = 128;
|
||||
tbPan.Value = 32767;
|
||||
tbTilt.Value = 32767;
|
||||
|
||||
for (int i = 0; i < dmx_universe.Length; i++)
|
||||
{
|
||||
@@ -231,6 +255,12 @@ namespace robospot_camera_finder
|
||||
tbTilt.Enabled = true;
|
||||
numDMXAddr.Enabled = true;
|
||||
numUniv.Enabled = true;
|
||||
btnPreset1.Enabled = true;
|
||||
btnPreset2.Enabled = true;
|
||||
btnPreset3.Enabled = true;
|
||||
btnPreset4.Enabled = true;
|
||||
btnPresetClr.Enabled = true;
|
||||
btnPresetRec.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -242,6 +272,13 @@ namespace robospot_camera_finder
|
||||
numUniv.Enabled = false;
|
||||
cbEnableXboxCtrl.Checked = false;
|
||||
cbEnableXboxCtrl.Enabled = false;
|
||||
|
||||
btnPreset1.Enabled = false;
|
||||
btnPreset2.Enabled = false;
|
||||
btnPreset3.Enabled = false;
|
||||
btnPreset4.Enabled = false;
|
||||
btnPresetClr.Enabled = false;
|
||||
btnPresetRec.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,5 +293,170 @@ namespace robospot_camera_finder
|
||||
splitContainerMain.Panel2Collapsed = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPresetRec_Click(object sender, EventArgs e)
|
||||
{
|
||||
rec_mode_toggle();
|
||||
}
|
||||
|
||||
private void rec_mode_toggle()
|
||||
{
|
||||
if (preset_clear_mode)
|
||||
{
|
||||
preset_clear_mode = false;
|
||||
btnPresetClr.ForeColor = default(Color);
|
||||
}
|
||||
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset_rec_mode = false;
|
||||
btnPresetRec.ForeColor = default(Color);
|
||||
}
|
||||
else
|
||||
{
|
||||
preset_rec_mode = true;
|
||||
btnPresetRec.ForeColor = Color.Red;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPresetClr_Click(object sender, EventArgs e)
|
||||
{
|
||||
clear_mode_toggle();
|
||||
}
|
||||
|
||||
private void clear_mode_toggle()
|
||||
{
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset_rec_mode = false;
|
||||
btnPresetRec.ForeColor = default(Color);
|
||||
}
|
||||
|
||||
if (preset_clear_mode)
|
||||
{
|
||||
preset_clear_mode = false;
|
||||
btnPresetClr.ForeColor = default(Color);
|
||||
}
|
||||
else
|
||||
{
|
||||
preset_clear_mode = true;
|
||||
btnPresetClr.ForeColor = Color.Red;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPreset1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset1_exists = true;
|
||||
preset1_pan = tbPan.Value;
|
||||
preset1_tilt = tbTilt.Value;
|
||||
preset1_zoom = tbZoom.Value;
|
||||
btnPreset1.ForeColor = Color.Blue;
|
||||
rec_mode_toggle();
|
||||
}
|
||||
else if (preset_clear_mode)
|
||||
{
|
||||
preset1_exists = false;
|
||||
preset1_pan = 0;
|
||||
preset1_tilt = 0;
|
||||
preset1_zoom = 0;
|
||||
btnPreset1.ForeColor = default(Color);
|
||||
clear_mode_toggle();
|
||||
}
|
||||
else if (preset1_exists)
|
||||
{
|
||||
tbPan.Value = preset1_pan;
|
||||
tbTilt.Value = preset1_tilt;
|
||||
tbZoom.Value = preset1_zoom;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
}
|
||||
private void btnPreset2_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset2_exists = true;
|
||||
preset2_pan = tbPan.Value;
|
||||
preset2_tilt = tbTilt.Value;
|
||||
preset2_zoom = tbZoom.Value;
|
||||
btnPreset2.ForeColor = Color.Blue;
|
||||
rec_mode_toggle();
|
||||
}
|
||||
else if (preset_clear_mode)
|
||||
{
|
||||
preset2_exists = false;
|
||||
preset2_pan = 0;
|
||||
preset2_tilt = 0;
|
||||
preset2_zoom = 0;
|
||||
btnPreset2.ForeColor = default(Color);
|
||||
clear_mode_toggle();
|
||||
}
|
||||
else if (preset2_exists)
|
||||
{
|
||||
tbPan.Value = preset2_pan;
|
||||
tbTilt.Value = preset2_tilt;
|
||||
tbZoom.Value = preset2_zoom;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPreset3_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset3_exists = true;
|
||||
preset3_pan = tbPan.Value;
|
||||
preset3_tilt = tbTilt.Value;
|
||||
preset3_zoom = tbZoom.Value;
|
||||
btnPreset3.ForeColor = Color.Blue;
|
||||
rec_mode_toggle();
|
||||
}
|
||||
else if (preset_clear_mode)
|
||||
{
|
||||
preset3_exists = false;
|
||||
preset3_pan = 0;
|
||||
preset3_tilt = 0;
|
||||
preset3_zoom = 0;
|
||||
btnPreset3.ForeColor = default(Color);
|
||||
clear_mode_toggle();
|
||||
}
|
||||
else if (preset3_exists)
|
||||
{
|
||||
tbPan.Value = preset3_pan;
|
||||
tbTilt.Value = preset3_tilt;
|
||||
tbZoom.Value = preset3_zoom;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPreset4_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (preset_rec_mode)
|
||||
{
|
||||
preset4_exists = true;
|
||||
preset4_pan = tbPan.Value;
|
||||
preset4_tilt = tbTilt.Value;
|
||||
preset4_zoom = tbZoom.Value;
|
||||
btnPreset4.ForeColor = Color.Blue;
|
||||
rec_mode_toggle();
|
||||
}
|
||||
else if (preset_clear_mode)
|
||||
{
|
||||
preset4_exists = false;
|
||||
preset4_pan = 0;
|
||||
preset4_tilt = 0;
|
||||
preset4_zoom = 0;
|
||||
btnPreset4.ForeColor = default(Color);
|
||||
clear_mode_toggle();
|
||||
}
|
||||
else if (preset4_exists)
|
||||
{
|
||||
tbPan.Value = preset4_pan;
|
||||
tbTilt.Value = preset4_tilt;
|
||||
tbZoom.Value = preset4_zoom;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user