private void RemoveMicrophonePanel(VolumeLevel volumeControl)
{
_pnlCameras.Controls.Remove(volumeControl);
if (!_closing)
{
var control = volumeControl;
var om = Microphones.SingleOrDefault(p => p.id == control.Micobject.id);
if (om != null)
{
lock (ThreadLock)
{
Masterfilelist.RemoveAll(p => p.ObjectId == om.id && p.ObjectTypeId == 1);
}
for (var index = 0; index < Cameras.Count(p => p.settings.micpair == om.id); index++)
{
var oc = Cameras.Where(p => p.settings.micpair == om.id).ToList()[index];
oc.settings.micpair = -1;
}
Actions.RemoveAll(p => p.objectid == control.Micobject.id && p.objecttypeid == 1);
Microphones.Remove(om);
foreach (var ofp in FloorPlans)
ofp.needsupdate = true;
}
SetNewStartPosition();
NeedsSync = true;
}
Application.DoEvents();
volumeControl.Dispose();
}