public void PlayMedia(Enums.PlaybackMode mode) { if (mode < 0) { mode = 0; } if (!VlcHelper.VlcInstalled && mode == Enums.PlaybackMode.iSpy) { MessageBox.Show(this, Program.Platform == "x64" ? LocRm.GetString("InstallVLCx64") .Replace("[DIR]", Environment.NewLine + Program.AppPath + "VLC64" + Environment.NewLine) : LocRm.GetString("InstallVLCx86")); MainForm.OpenUrl(Program.Platform == "x64" ? MainForm.VLCx64 : MainForm.VLCx86); MainForm.Conf.PlaybackMode = 0; mode = Enums.PlaybackMode.Website; } string movie = FileName; if (!File.Exists(movie)) { MessageBox.Show(this, LocRm.GetString("FileNotFound")); return; } if (MainForm.Conf.PlaybackMode == 0 && movie.EndsWith(".avi")) { mode = Enums.PlaybackMode.iSpy; } string[] parts = FileName.Split('\\'); string fn = parts[parts.Length - 1]; if (mode == Enums.PlaybackMode.Website && (WsWrapper.LoginFailed || WsWrapper.Expired)) { mode = Enums.PlaybackMode.Default; } switch (mode) { case Enums.PlaybackMode.Website: string url = MainForm.Webserver + "/MediaViewer.aspx?oid=" + Oid + "&ot=" + Otid + "&fn=" + fn + "&port=" + MainForm.Conf.ServerPort; if (WsWrapper.WebsiteLive && MainForm.Conf.ServicesEnabled) { MainForm.OpenUrl(url); } else { if (!WsWrapper.WebsiteLive) { MessageBox.Show(this, LocRm.GetString("iSpyDown")); } else { MainForm.InstanceReference.Connect(url, false); } } break; case Enums.PlaybackMode.iSpy: try { MainForm.InstanceReference.Play(movie, Oid, DisplayName); } catch (Exception ex) { } break; case Enums.PlaybackMode.Default: try { Process.Start(movie); } catch (Exception ex) { Logger.LogException(ex); MessageBox.Show(LocRm.GetString("NoPlayerForThisFile")); } break; } }
private void jaxis_Load(object sender, EventArgs e) { LocRm.SetString(chkInvert, "Invert"); }
public void PlayMedia(int mode) { if (mode < 0) { MainForm.Conf.PlaybackMode = 0; } if (!VlcHelper.VlcInstalled && mode == 1) { MessageBox.Show(this, "VLC player is not installed (" + VlcHelper.VMin + " or greater required). Using the web player instead. Install VLC (x86) and then see settings to enable ispy local playback."); MainForm.Conf.PlaybackMode = mode = 0; } //play video string movie = FileName; int j = mode; if (MainForm.Conf.PlaybackMode == 0 && movie.EndsWith(".avi")) { j = VlcHelper.VlcInstalled ? 1 : 2; } if (!File.Exists(movie)) { MessageBox.Show(this, "Movie could not be found on disk."); return; } string[] parts = FileName.Split('\\'); string fn = parts[parts.Length - 1]; string id = fn.Substring(0, fn.IndexOf('_')); switch (j) { case 0: string url = MainForm.Webserver + "/MediaViewer.aspx?oid=" + id + "&ot=2&fn=" + fn + "&port=" + MainForm.Conf.ServerPort; if (WsWrapper.WebsiteLive && MainForm.Conf.ServicesEnabled) { MainForm.OpenUrl(url); } else { if (!WsWrapper.WebsiteLive) { MessageBox.Show(this, LocRm.GetString("iSpyDown")); } else { if (TopLevelControl != null) { ((MainForm)TopLevelControl).Connect(url, false); } } } break; case 1: if (TopLevelControl != null) { ((MainForm)TopLevelControl).Play(movie, Convert.ToInt32(id)); } break; case 2: try { Process.Start(movie); } catch (Exception ex) { Log.Error("", ex); //MainForm.LogExceptionToFile(ex); MessageBox.Show("Could not find a player for this file. Try using iSpyConnect or install VLC (x86) and use that instead (" + ex.Message + ")"); } break; } }
public static void InitLogging(bool warnonerror = true) { DateTime logdate = DateTime.Now; foreach (string s in Directory.GetFiles(Program.AppDataPath, "log_*", SearchOption.TopDirectoryOnly)) { var fi = new FileInfo(s); if (fi.CreationTime < Helper.Now.AddDays(0 - MainForm.Conf.Logging.KeepDays)) { FileOperations.Delete(s); } } NextLog = Helper.ZeroPad(logdate.Day) + Helper.ZeroPad(logdate.Month) + logdate.Year; int i = 1; if (File.Exists(Program.AppDataPath + "log_" + NextLog + ".htm")) { while (File.Exists(Program.AppDataPath + "log_" + NextLog + "_" + i + ".htm")) { i++; } NextLog += "_" + i; } try { File.WriteAllText(Program.AppDataPath + "log_" + NextLog + ".htm", Helper.Now + Environment.NewLine); _logging = true; } catch (Exception ex) { if (warnonerror && MessageBox.Show(LocRm.GetString("LogStartError").Replace("[MESSAGE]", ex.Message), LocRm.GetString("Warning"), MessageBoxButtons.YesNo) == DialogResult.No) { MainForm.ShuttingDown = true; //VisualStyleElement.ToolTip.Close(); } } }
private void btnTest_Click(object sender, EventArgs e) { var p = new Prompt(LocRm.GetString("UploadTo"), _testloc); p.ShowDialog(this); if (p.Val != "") { _testloc = p.Val; using (var imageStream = new MemoryStream()) { try { Resources.cam_offline.Save(imageStream, ImageFormat.Jpeg); string error; CleanData(); string fn = String.Format(CultureInfo.InvariantCulture, _testloc, Helper.Now); int port = (int)txtFTPPort.Value; if ((new AsynchronousFtpUpLoader()).FTP(txtFTPServer.Text, port, chkUsePassive.Checked, txtFTPUsername.Text, txtFTPPassword.Text, fn, 0, imageStream.ToArray(), out error, chkFTPRename.Checked, chkSFTP.Checked)) { MessageBox.Show(LocRm.GetString("ImageUploaded"), LocRm.GetString("Success")); } else { MessageBox.Show(string.Format("{0}: {1}", LocRm.GetString("UploadFailed"), error), LocRm.GetString("Failed")); } } catch (Exception ex) { MainForm.LogExceptionToFile(ex); MessageBox.Show(ex.Message); } imageStream.Close(); } } }
public TagEditor() { InitializeComponent(); Text = LocRm.GetString("Tags"); }
private void DoPaint(PaintEventArgs pe) { Graphics gGrid = pe.Graphics; gGrid.CompositingMode = CompositingMode.SourceOver; gGrid.CompositingQuality = CompositingQuality.HighSpeed; gGrid.PixelOffsetMode = PixelOffsetMode.HighSpeed; gGrid.SmoothingMode = SmoothingMode.None; gGrid.InterpolationMode = InterpolationMode.Default; try { int cols = _cols; int rows = _rows; if (_maximised != null) { cols = 1; rows = 1; } Rectangle rc = ClientRectangle; _itemwidth = (rc.Width - cols * Itempadding) / cols; _itemheight = (rc.Height - rows * Itempadding) / rows; //draw lines for (var i = 0; i < cols; i++) { var x = (i * (_itemwidth + Itempadding) - Itempadding / 2); gGrid.DrawLine(_pline, x, 0, x, rc.Height); } for (var i = 0; i < rows; i++) { var y = (i * (_itemheight + Itempadding) - Itempadding / 2); gGrid.DrawLine(_pline, 0, y, rc.Width, y); } var ind = 0; var j = 0; var k = 0; for (var i = 0; i < cols * rows; i++) { var x = j * (_itemwidth + Itempadding); var y = k * (_itemheight + Itempadding); var r = new Rectangle(x, y, _itemwidth, _itemheight); var gvc = _controls[ind]; if (_maximised != null) { gvc = _maximised; } bool alerted = false; var rect = new Rectangle(r.X, r.Y + r.Height - 20, r.Width, 20); if (gvc == null || gvc.ObjectIDs.Count == 0) { gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rect); switch (Cg.ModeIndex) { case 0: { string m = LocRm.GetString("AddObjects"); int txtOffline = Convert.ToInt32(gGrid.MeasureString(m, Iconfont).Width); gGrid.DrawString(m, Iconfont, OverlayBrush, x + _itemwidth / 2 - (txtOffline / 2), y + _itemheight / 2); } break; case 1: { string m = LocRm.GetString("NoMotionOrSound"); int txtOffline = Convert.ToInt32(gGrid.MeasureString(m, Iconfont).Width); gGrid.DrawString(m, Iconfont, OverlayBrush, x + _itemwidth / 2 - (txtOffline / 2), y + _itemheight / 2); } break; case 2: { string m = LocRm.GetString("NoAlerts"); int txtOffline = Convert.ToInt32(gGrid.MeasureString(m, Iconfont).Width); gGrid.DrawString(m, Iconfont, OverlayBrush, x + _itemwidth / 2 - (txtOffline / 2), y + _itemheight / 2); } break; } } else { if ((Helper.Now - gvc.LastCycle).TotalSeconds > gvc.Delay) { if (!gvc.Hold) { gvc.CurrentIndex++; gvc.LastCycle = Helper.Now; } } if (gvc.CurrentIndex >= gvc.ObjectIDs.Count) { gvc.CurrentIndex = 0; } var obj = gvc.ObjectIDs[gvc.CurrentIndex]; var rFeed = r; switch (obj.TypeID) { case 1: var vl = MainClass.GetVolumeLevel(obj.ObjectID); if (vl != null) { string txt = vl.Micobject.name; if (vl.IsEnabled && vl.Levels != null && !vl.AudioSourceErrorState) { int bh = (rFeed.Height) / vl.Micobject.settings.channels - (vl.Micobject.settings.channels - 1) * 2; if (bh <= 2) { bh = 2; } for (int m = 0; m < vl.Micobject.settings.channels; m++) { float f = 0f; if (m < vl.Levels.Length) { f = vl.Levels[m]; } if (f > 1) { f = 1; } int drawW = Convert.ToInt32(Convert.ToDouble(rFeed.Width * f) - 1.0); if (drawW < 1) { drawW = 1; } gGrid.FillRectangle(Lgb, rFeed.X + 2, rFeed.Y + 2 + m * bh + (m * 2), drawW - 4, bh); } var d = ((Convert.ToDouble(rFeed.Width - 4) / 100.00)); var mx1 = rFeed.X + (float)(d * Convert.ToDouble(vl.Micobject.detector.minsensitivity)); var mx2 = rFeed.X + (float)(d * Convert.ToDouble(vl.Micobject.detector.maxsensitivity)); gGrid.DrawLine(_vline, mx1, rFeed.Y + 1, mx1, rFeed.Y + rFeed.Height - 2); gGrid.DrawLine(_vline, mx2, rFeed.Y + 1, mx2, rFeed.Y + rFeed.Height - 2); if (vl.Recording) { gGrid.FillEllipse(RecordBrush, new Rectangle(rFeed.X + rFeed.Width - 12, rFeed.Y + 4, 8, 8)); } if (Cg.Overlays) { gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rect); gGrid.DrawString(txt, Drawfont, OverlayBrush, new PointF(rect.X + 5, rect.Y + 2)); } alerted = vl.Alerted; } else { txt += ": " + (vl.Micobject.schedule.active ? LocRm.GetString("Scheduled") : LocRm.GetString("Offline")); gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rect); gGrid.DrawString(txt, Drawfont, OverlayBrush, new PointF(rect.X + 5, rect.Y + 2)); gGrid.DrawString(vl.Micobject.name, Drawfont, OverlayBrush, new PointF(r.X + 5, r.Y + 2)); gGrid.DrawString(vl.SourceType, Drawfont, OverlayBrush, new PointF(r.X + 5, r.Y + 20)); } if (vl.IsEnabled && (vl.AudioSourceErrorState || vl.Levels == null)) { var img = Properties.Resources.connecting; gGrid.DrawImage(img, x + _itemwidth - img.Width - 2, y + 2, img.Width, img.Height); } } else { gvc.ObjectIDs.Remove(gvc.ObjectIDs[gvc.CurrentIndex]); } break; case 2: var cw = MainClass.GetCameraWindow(obj.ObjectID); if (cw != null) { string txt = cw.Camobject.name; if (cw.IsEnabled) { if (cw.Camera != null && cw.GotImage) { var bmp = obj.LastFrame; if (bmp != null) { if (!Cg.Fill) { rFeed = GetArea(x, y, _itemwidth, _itemheight, bmp.Width, bmp.Height); } gGrid.CompositingMode = CompositingMode.SourceCopy; gGrid.DrawImage(bmp, rFeed); gGrid.CompositingMode = CompositingMode.SourceOver; } alerted = cw.Alerted; if (cw.Recording) { gGrid.FillEllipse(RecordBrush, new Rectangle(rFeed.X + rFeed.Width - 12, rFeed.Y + 4, 8, 8)); } } if (Cg.Overlays) { gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rect); gGrid.DrawString(txt, Drawfont, OverlayBrush, new PointF(rect.X + 5, rect.Y + 2)); } } else { txt += ": " + (cw.Camobject.schedule.active ? LocRm.GetString("Scheduled") : LocRm.GetString("Offline")); gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rect); gGrid.DrawString(txt, Drawfont, OverlayBrush, new PointF(rect.X + 5, rect.Y + 2)); gGrid.DrawString(cw.Camobject.name, Drawfont, OverlayBrush, new PointF(r.X + 5, r.Y + 2)); gGrid.DrawString(cw.SourceType, Drawfont, OverlayBrush, new PointF(r.X + 5, r.Y + 20)); } if (cw.IsEnabled && (cw.VideoSourceErrorState || !cw.GotImage)) { var img = Properties.Resources.connecting; gGrid.DrawImage(img, x + _itemwidth - img.Width - 2, y + 2, img.Width, img.Height); } } else { gvc.ObjectIDs.Remove(gvc.ObjectIDs[gvc.CurrentIndex]); } break; case 3: var fp = MainClass.GetFloorPlan(obj.ObjectID); if (fp != null) { if (fp.Fpobject != null && fp.ImgPlan != null) { var bmp = fp.ImgView; if (!Cg.Fill) { rFeed = GetArea(x, y, _itemwidth, _itemheight, bmp.Width, bmp.Height); } if (bmp != null) { gGrid.DrawImage(bmp, rFeed); } if (Cg.Overlays) { gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, r.X, r.Y + r.Height - 20, r.Width, 20); gGrid.DrawString(fp.Fpobject.name, Drawfont, OverlayBrush, r.X + 5, r.Y + r.Height - 16); } } } else { gvc.ObjectIDs.Remove(gvc.ObjectIDs[gvc.CurrentIndex]); } break; } } if (_overControlIndex == ind && MainForm.Conf.ShowOverlayControls) { var rBp = ButtonPanel; rBp.X = r.X; rBp.Y = r.Y + r.Height - 20 - rBp.Height; if (rBp.Width > _itemwidth) { rBp.Width = _itemwidth; } if (gvc != null && gvc.ObjectIDs.Count != 0) { gGrid.FillRectangle(MainForm.OverlayBackgroundBrush, rBp); var c = gvc.ObjectIDs[gvc.CurrentIndex]; var ctrl = MainClass.GetISpyControl(c.TypeID, c.ObjectID); for (int b = 0; b < ButtonCount; b++) { DrawButton(gGrid, b, ctrl, Cg.ModeIndex, gvc, rBp.X, rBp.Y); } } } ind++; j++; if (j == cols) { j = 0; k++; } if (alerted) { var ra = new Rectangle(r.X, r.Y, r.Width, r.Height); ra.X += 1; ra.Y += 1; gGrid.DrawRectangle(_pAlert, ra); } } } catch (Exception ex) { MainForm.LogExceptionToFile(ex); } }
private string GetSummary(string type, string param1, string param2, string param3, string param4) { string t = "Unknown"; switch (type) { case "Exe": t = LocRm.GetString("ExecuteFile") + ": " + param1; break; case "URL": t = LocRm.GetString("CallURL") + ": " + param1; if (Convert.ToBoolean(param2)) { t += " (POST grab)"; } break; case "NM": t = param1 + " " + param2 + ":" + param3 + " (" + param4 + ")"; break; case "S": t = LocRm.GetString("PlaySound") + ": " + param1; break; case "ATC": t = LocRm.GetString("SoundThroughCamera") + ": " + param1; break; case "SW": t = LocRm.GetString("ShowWindow"); pbEdit.Visible = false; break; case "B": t = LocRm.GetString("Beep"); pbEdit.Visible = false; break; case "M": t = LocRm.GetString("Maximise"); pbEdit.Visible = false; break; case "MO": t = LocRm.GetString("SwitchMonitorOn"); pbEdit.Visible = false; break; case "TA": { string[] op = param1.Split(','); string n = "[removed]"; int id = Convert.ToInt32(op[1]); switch (op[0]) { case "1": var om = MainForm.Microphones.FirstOrDefault(p => p.id == id); if (om != null) { n = om.name; } break; case "2": var oc = MainForm.Cameras.FirstOrDefault(p => p.id == id); if (oc != null) { n = oc.name; } break; } t = LocRm.GetString("TriggerAlertOn") + " " + n; } break; case "SOO": { string[] op = param1.Split(','); string n = "[removed]"; int id = Convert.ToInt32(op[1]); switch (op[0]) { case "1": var om = MainForm.Microphones.FirstOrDefault(p => p.id == id); if (om != null) { n = om.name; } break; case "2": var oc = MainForm.Cameras.FirstOrDefault(p => p.id == id); if (oc != null) { n = oc.name; } break; } t = LocRm.GetString("SwitchObjectOn") + " " + n; } break; case "SOF": { string[] op = param1.Split(','); string n = "[removed]"; int id = Convert.ToInt32(op[1]); switch (op[0]) { case "1": var om = MainForm.Microphones.FirstOrDefault(p => p.id == id); if (om != null) { n = om.name; } break; case "2": var oc = MainForm.Cameras.FirstOrDefault(p => p.id == id); if (oc != null) { n = oc.name; } break; } t = LocRm.GetString("SwitchObjectOff") + " " + n; } break; case "E": t = LocRm.GetString("SendEmail") + ": " + param1; if (param2 != "" && Convert.ToBoolean(param2)) { t += " (include grab)"; } break; case "SMS": t = LocRm.GetString("SendSMS") + ": " + param1; break; case "TM": t = LocRm.GetString("SendTwitterMessage"); pbEdit.Visible = false; break; } //if (t.Length > 50) // t = t.Substring(0, 47) + "..."; return(t); }
public PermissionsForm() { InitializeComponent(); label3.Text = LocRm.GetString("Password"); }
private void ScheduleEditor_Load(object sender, EventArgs e) { button1.Text = LocRm.GetString("Add"); }
private string[] GetConfig(string param2Val, string param3Val, string param4Val, string param1Val, string t, out bool cancel) { cancel = false; var config = new string[] {}; switch (t) { case "Exe": config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("File") + "|FBD:*.*", param1Val, LocRm.GetString("Arguments"), param2Val); break; case "URL": if (param1Val == "") { param1Val = "http://"; } if (param2Val == "") { param2Val = "True"; } config = GetParamConfig(GetName(t), out cancel, "URL", param1Val, LocRm.GetString("UploadImage") + "|Checkbox:True", param2Val); break; case "NM": if (param3Val == "") { param3Val = "1010"; } config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("Type") + "|DDL:TCP,UDP", param1Val, "IP Address", param2Val, LocRm.GetString("Port") + "|Numeric:0,65535", param3Val, LocRm.GetString("Message"), param4Val); break; case "S": case "ATC": config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("File") + "|FBD:*.wav", param1Val); break; case "SW": case "B": case "M": case "MO": config = new [] { "", "", "", "" }; break; case "TA": case "SOF": case "SOO": config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("Object") + "|Object", param1Val); break; case "E": if (param2Val == "") { param2Val = "True"; } config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("EmailAddress"), param1Val, LocRm.GetString("IncludeImage") + "|Checkbox:True", param2Val); break; case "SMS": config = GetParamConfig(GetName(t), out cancel, LocRm.GetString("SMSNumber") + "|SMS", param1Val); break; case "TM": config = GetParamConfig(GetName(t), out cancel, "|Link:" + LocRm.GetString("AuthoriseTwitter"), MainForm.Webserver + "/account.aspx?task=twitter-auth"); break; } return(config); }
private void Ranger_Load(object sender, EventArgs e) { label2.Text = LocRm.GetString("GainCamera"); }
public override string ToString() => LocRm.GetString(Name);
public ParamConfig() { InitializeComponent(); button1.Text = LocRm.GetString("OK"); }