iSpyApplication.MainForm.NewVolumeLevel C# (CSharp) Method

NewVolumeLevel() private method

private NewVolumeLevel ( int audioSourceIndex ) : VolumeLevel
audioSourceIndex int
return VolumeLevel
        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)
                _pnlCameras.LayoutObjects(0, 0);

            volumeControl.Tag = GetControlIndex();
            LayoutPanel.NeedsRedraw = true;
            return volumeControl;
        }
MainForm