private void cameraToolStripMenuItem_Click(object sender, EventArgs e) { CaptureDeviceForm form = new CaptureDeviceForm(); form.StartPosition = FormStartPosition.CenterScreen; if (form.ShowDialog(this) == DialogResult.OK) { // create video source VideoCaptureDevice c = new VideoCaptureDevice(); c.Source = form.Device; String sourceName = showGetSourceNameBox(); if (sourceName != null) //user didn't cancel { Log.info(String.Format("Video source: {0}", c.Source)); VideoSource r = new VideoSource(sourceName, c); sources.Add(r); r.RemoveSelected += new VideoSource.RemoveEventHandler(r_RemoveSelected); sourcesToolStripMenuItem.DropDown.Items.Add(r.ContextMenu); r.setViewerGlobalStickey(showAllToolStripMenuItem.Checked); globalOptions.updateViewer(r); r.startCamera(); //start camera by default } } }
private void mjpegToolStripMenuItem_Click(object sender, EventArgs e) { URLForm form = new URLForm(); form.Description = "Enter URL of an updating JPEG from a web camera"; //Load recent URLs String[] urls = new String[recentURLs.Count]; recentURLs.CopyTo(urls, 0); form.URLs = urls; form.StartPosition = FormStartPosition.CenterScreen; if (form.ShowDialog(this) == DialogResult.OK) { //remove existing item (so it will be placed at top of list) if (recentURLs.Contains(form.URL)) { recentURLs.Remove(form.URL); } //update recent URLs if (recentURLs.Count == RECENT_URL_LIMIT) { recentURLs.RemoveAt(RECENT_URL_LIMIT - 1); } recentURLs.Add(form.URL); //open the stream String sourceName = showGetSourceNameBox(); if (sourceName != null) //user didn't select cancel { MJPEGStream s = new MJPEGStream(); s.Source = form.URL; Log.info(String.Format("Video source: {0}", s.Source)); VideoSource v = new VideoSource(sourceName, s); sources.Add(v); v.RemoveSelected += new VideoSource.RemoveEventHandler(r_RemoveSelected); v.setViewerGlobalStickey(showAllToolStripMenuItem.Checked); globalOptions.updateViewer(v); v.startCamera(); //start camera by default } } }