private void FloorPlanControlClick(object sender, MouseEventArgs e) { var local = new Point(e.X, e.Y); double xRat = Convert.ToDouble(Width) / ImageWidth; double yRat = Convert.ToDouble(Height) / ImageHeight; double hittargetw = 22 * xRat; double hittargeth = 22 * yRat; double wrat = Convert.ToDouble(ImageWidth) / 533d; double hrat = Convert.ToDouble(ImageHeight) / 400d; foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { if (((fpoe.x * wrat) - hittargetw) * xRat <= local.X && ((fpoe.x * wrat) + hittargetw) * xRat > local.X && ((fpoe.y * hrat) - hittargeth) * yRat <= local.Y && ((fpoe.y * hrat) + hittargeth) * yRat > local.Y) { switch (fpoe.type) { case "camera": CameraWindow cw = Owner.GetCameraWindow(fpoe.id); cw.Location = new Point(Location.X + e.X, Location.Y + e.Y); cw.BringToFront(); break; case "microphone": VolumeLevel vl = Owner.GetMicrophone(fpoe.id); vl.Location = new Point(Location.X + e.X, Location.Y + e.Y); vl.BringToFront(); break; } break; } } }
private VolumeLevel NewVolumeLevel(int audioSourceIndex) { var om = new objectsMicrophone { alerts = new objectsMicrophoneAlerts(), detector = new objectsMicrophoneDetector(), notifications = new objectsMicrophoneNotifications(), recorder = new objectsMicrophoneRecorder(), schedule = new objectsMicrophoneSchedule { entries = new objectsMicrophoneScheduleEntry [ 0 ] }, settings = new objectsMicrophoneSettings(), id = -1, directory = RandomString(5), x = Convert.ToInt32(Random.NextDouble() * 100), y = Convert.ToInt32(Random.NextDouble() * 100), width = 160, height = 40, description = "", newrecordingcount = 0 }; string friendlyName = LocRm.GetString("Microphone") + " " + NextMicrophoneId; string t = friendlyName; int i = 1; while (Microphones.FirstOrDefault(p => p.name == t) != null) { t = friendlyName + " (" + i + ")"; i++; } om.name = t; om.settings.typeindex = audioSourceIndex; om.settings.deletewav = true; om.settings.ffmpeg = Conf.FFMPEG_Microphone; om.settings.buffer = 4; om.settings.samples = 8000; om.settings.bits = 16; om.settings.gain = 100; om.settings.channels = 1; om.settings.decompress = true; om.settings.smsnumber = MobileNumber; om.settings.emailaddress = EmailAddress; om.settings.active = false; om.settings.notifyondisconnect = false; om.settings.directoryIndex = Conf.MediaDirectories.First().ID; om.settings.vlcargs = VlcHelper.VlcInstalled ? "--rtsp-caching=100" : ""; om.settings.storagemanagement = new objectsMicrophoneSettingsStoragemanagement { enabled = false, maxage = 72, maxsize = 1024 }; om.detector.sensitivity = 60; om.detector.minsensitivity = 60; om.detector.maxsensitivity = 100; om.detector.nosoundinterval = 30; om.detector.soundinterval = 0; om.detector.recordondetect = Conf.DefaultRecordOnDetect; om.detector.recordonalert = Conf.DefaultRecordOnAlert; om.alerts.mode = "sound"; om.alerts.minimuminterval = 180; om.alerts.executefile = ""; om.alerts.active = true; om.alerts.alertoptions = "false,false"; om.alerts.trigger = ""; om.recorder.inactiverecord = 5; om.recorder.maxrecordtime = 900; om.notifications.sendemail = false; om.notifications.sendsms = false; om.schedule.active = false; om.alertevents = new objectsMicrophoneAlertevents { entries = new objectsMicrophoneAlerteventsEntry[] { } }; var volumeControl = new VolumeLevel(om,this) { BackColor = Conf.BackColor.ToColor() }; _pnlCameras.Controls.Add(volumeControl); volumeControl.Location = new Point(om.x, om.y); volumeControl.Size = new Size(160, 40); volumeControl.BringToFront(); SetMicrophoneEvents(volumeControl); if (Conf.AutoLayout) LayoutObjects(0, 0); volumeControl.Tag = GetControlIndex(); return volumeControl; }
public void DisplayMicrophone(objectsMicrophone mic) { var micControl = new VolumeLevel(mic,this); SetMicrophoneEvents(micControl); micControl.BackColor = Conf.BackColor.ToColor(); _pnlCameras.Controls.Add(micControl); micControl.Location = new Point(mic.x, mic.y); micControl.Size = new Size(mic.width, mic.height); micControl.BringToFront(); micControl.Tag = GetControlIndex(); try { string path = Helper.GetMediaDirectory(1, mic.id) + "audio\\" + mic.directory + "\\"; if (!Directory.Exists(path)) Directory.CreateDirectory(path); } catch (Exception ex) { LogExceptionToFile(ex); } micControl.GetFiles(); }
private void FloorPlanControlClick(object sender, MouseEventArgs e) { var local = new Point(e.X, e.Y); double xRat = Convert.ToDouble(Width) / ImageWidth; double yRat = Convert.ToDouble(Height) / ImageHeight; double hittargetw = 22 * xRat; double hittargeth = 22 * yRat; double wrat = Convert.ToDouble(ImageWidth) / 533d; double hrat = Convert.ToDouble(ImageHeight) / 400d; bool changeHighlight = true; if (Highlighted) { foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { if (((fpoe.x * wrat) - hittargetw) * xRat <= local.X && ((fpoe.x * wrat) + hittargetw) * xRat > local.X && ((fpoe.y * hrat) - hittargeth) * yRat <= local.Y && ((fpoe.y * hrat) + hittargeth) * yRat > local.Y) { switch (fpoe.type) { case "camera": CameraWindow cw = MainClass.GetCameraWindow(fpoe.id); if (cw != null) { //cw.Location = new Point(Location.X + e.X, Location.Y + e.Y); cw.BringToFront(); cw.Focus(); } changeHighlight = false; break; case "microphone": VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id); if (vl != null) { //vl.Location = new Point(Location.X + e.X, Location.Y + e.Y); vl.BringToFront(); vl.Focus(); } changeHighlight = false; break; } break; } } } if (changeHighlight) { bool hl = Highlighted; MainClass._pnlCameras.ClearHighlights(); Highlighted = !hl; } if (Highlighted) { foreach (objectsFloorplanObjectsEntry fpoe in Fpobject.objects.@object) { switch (fpoe.type) { case "camera": CameraWindow cw = MainClass.GetCameraWindow(fpoe.id); if (cw != null) { cw.Highlighted = true; } break; case "microphone": VolumeLevel vl = MainClass.GetVolumeLevel(fpoe.id); if (vl != null) { vl.Highlighted = true; } break; } } } MainClass.Invalidate(true); }
private VolumeLevel NewVolumeLevel(int audioSourceIndex) { var om = new objectsMicrophone { alerts = new objectsMicrophoneAlerts(), detector = new objectsMicrophoneDetector(), notifications = new objectsMicrophoneNotifications(), recorder = new objectsMicrophoneRecorder(), schedule = new objectsMicrophoneSchedule { entries = new objectsMicrophoneScheduleEntry [ 0 ] }, settings = new objectsMicrophoneSettings(), id = -1, directory = MainForm.RandomString(5), x = Convert.ToInt32(MainForm.Random.NextDouble() * 100), y = Convert.ToInt32(MainForm.Random.NextDouble() * 100), width = 160, height = 40, description = "", newrecordingcount = 0, name = LocRm.GetString("Microphone") + " " + MainForm.NextMicrophoneId }; om.settings.typeindex = audioSourceIndex; om.settings.deletewav = true; om.settings.ffmpeg = MainForm.Conf.FFMPEG_Microphone; om.settings.buffer = 4; om.settings.samples = 8000; om.settings.bits = 16; om.settings.gain = 100; om.settings.channels = 1; om.settings.decompress = true; om.settings.smsnumber = MainForm.MobileNumber; om.settings.emailaddress = MainForm.EmailAddress; om.settings.active = false; om.settings.notifyondisconnect = false; if (VlcHelper.VlcInstalled) om.settings.vlcargs = "-I" + NL + "dummy" + NL + "--ignore-config"; else om.settings.vlcargs = ""; om.settings.storagemanagement = new objectsMicrophoneSettingsStoragemanagement { enabled = false, maxage = 72, maxsize = 1024 }; om.detector.sensitivity = 60; om.detector.nosoundinterval = 30; om.detector.soundinterval = 0; om.detector.recordondetect = true; om.alerts.mode = "sound"; om.alerts.minimuminterval = 180; om.alerts.executefile = ""; om.alerts.active = true; om.alerts.alertoptions = "false,false"; om.alerts.trigger = ""; om.recorder.inactiverecord = 5; om.recorder.maxrecordtime = 900; om.notifications.sendemail = false; om.notifications.sendsms = false; om.schedule.active = false; om.alertevents = new objectsMicrophoneAlertevents { entries = new objectsMicrophoneAlerteventsEntry[] { } }; var volumeControl = new VolumeLevel(om) { BackColor = MainForm.Conf.BackColor.ToColor() }; _pnlCameras.Controls.Add(volumeControl); volumeControl.Location = new Point(om.x, om.y); volumeControl.Size = new Size(160, 40); volumeControl.BringToFront(); SetMicrophoneEvents(volumeControl); if (MainForm.Conf.AutoLayout) LayoutObjects(0, 0); volumeControl.Tag = GetControlIndex(); return volumeControl; }
internal void DisplayMicrophone(objectsMicrophone mic) { var micControl = new VolumeLevel(mic); SetMicrophoneEvents(micControl); micControl.BackColor = Conf.BackColor.ToColor(); _pnlCameras.Controls.Add(micControl); micControl.Location = new Point(mic.x, mic.y); micControl.Size = new Size(mic.width, mic.height); micControl.BringToFront(); micControl.Tag = GetControlIndex(); if (Conf.AutoSchedule && mic.schedule.active && mic.schedule.entries.Count() > 0) { mic.settings.active = false; micControl.ApplySchedule(); } else { if (mic.settings.active) micControl.Enable(); } string path = Conf.MediaDirectory + "audio\\" + mic.directory + "\\"; if (!Directory.Exists(path)) Directory.CreateDirectory(path); }