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;
}