private static void HandleInput( LocalDb4oProvider persistenceService, Damany.Util.PersistentWorker retriever) { while (true) { var key = Console.ReadKey(); switch (key.Key) { case ConsoleKey.UpArrow: retriever.WorkFrequency *= 2; break; case ConsoleKey.DownArrow: retriever.WorkFrequency /= 2; break; case ConsoleKey.F: var query = persistenceService.GetPortraits(-1, new Damany.Util.DateTimeRange(DateTime.Now.AddHours(-1), DateTime.Now)); Console.WriteLine("query hit: " + query.Count); break; default: retriever.Stop(); exit.Set(); return; break; } } }
public static FaceSearchController CreateNewController(IFrameStream source) { PortraitFinder finder = new PortraitFinder(); MotionDetector motionDetector = new MotionDetector(); motionDetector.MotionFrameCaptured += finder.HandleMotionFrame; Damany.Util.PersistentWorker retriever = CreateDriver(source, motionDetector); var controller = new FaceSearchController() { Worker = retriever, PortraitFinder = finder, MotionDetector = motionDetector }; return(controller); }
private static Damany.Util.PersistentWorker CreateDriver(IFrameStream source, MotionDetector motionDetector) { var retriever = new Damany.Util.PersistentWorker(); retriever.OnWorkItemIsDone += item => { Console.Write("\r"); Frame f = item as Frame; Console.Write(f.ToString()); }; retriever.DoWork = delegate { var frame = source.RetrieveFrame(); retriever.ReportWorkItem(frame); motionDetector.DetectMotion(frame); }; retriever.OnExceptionRetry = delegate { source.Connect(); }; return retriever; }
private static Damany.Util.PersistentWorker CreateDriver(IFrameStream source, MotionDetector motionDetector) { var retriever = new Damany.Util.PersistentWorker(); retriever.OnWorkItemIsDone += item => { Console.Write("\r"); Frame f = item as Frame; Console.Write(f.ToString()); }; retriever.DoWork = delegate { var frame = source.RetrieveFrame(); retriever.ReportWorkItem(frame); motionDetector.DetectMotion(frame); }; retriever.OnExceptionRetry = delegate { source.Connect(); }; return(retriever); }