public void Close() { lock (mutex) { if (controllerState.Equals(CMSState.Quitting)) { return; } if (CMSLogger.CanCreateLogEvent(false, false, false, "CMSLogEndEvent")) { CMSLogEndEvent endEvent = new CMSLogEndEvent(); endEvent.SetDateTime(DateTime.Now); if (endEvent != null) { CMSLogger.SendLogEvent(endEvent); } } videoSource.StopSource(); controllerState = CMSState.Quitting; CMSTrackingSuite selectedSuite = model.SelectedSuite; if (selectedSuite != null) { selectedSuite.Clean(); } videoDisplay.Quit(); controlToggler.Stop(); CMSLogger.StopLogging(); } }
/******************** Other Functions ****************/ private void SetState(CMSState state) { lock (mutex) { /* * if (state.Equals(CMSState.Tracking)) * { * videoDisplay.SetTrackingControlMessage(false, ""); * } * else if (state.Equals(CMSState.ControlTracking)) * { * videoDisplay.SetTrackingControlMessage(true, ""); * } * else if (state.Equals(CMSState.Setup)) * { * videoDisplay.ReceiveMessage("", Color.Black); * //videoDisplay.SetTrackingControlMessage(false, false); * }*/ controllerState = state; CMSTrackingSuite curSuite = model.SelectedSuite; if (curSuite != null) { curSuite.StateChange(state); } if (CMSLogger.CanCreateLogEvent(false, false, false, "CMSLogStateChangeEvent")) { CMSLogStateChangeEvent stateChangeEvent = new CMSLogStateChangeEvent(); stateChangeEvent.State = state.ToString(); CMSLogger.SendLogEvent(stateChangeEvent); } } }
public override void StateChange(CMSState state) { if (state.Equals(CMSState.Tracking) || state.Equals(CMSState.ControlTracking)) { trackingSuiteAdapter.SendMessage(", Press Tab to reset"); } }
/* * public override CMSModule Clone() * { * blinkLinkEyeClickData.LockEyeClickData(); * try * { * BlinkLinkClickControlModule clickModule = new BlinkLinkClickControlModule(); * * clickModule.blinkLinkEyeClickData.SetData(blinkLinkEyeClickData); * return clickModule; * } * finally * { * blinkLinkEyeClickData.UnlockEyeClickData(); * } * } */ public override void StateChange(CMSState state) { if (state == CMSState.ControlTracking || state == CMSState.Tracking) { trackingSuiteAdapter.SendMessage(RunningMessage); } }
public void StateChange(CMSState state) { lock (mutex) { if (state.Equals(CMSState.Tracking) || state.Equals(CMSState.ControlTracking)) { CMSTrackingSuiteAdapter.SendMessage(""); } if (trackingModule != null) { trackingModule.State = state; trackingModule.StateChange(state); } if (mouseControlModule != null) { mouseControlModule.State = state; mouseControlModule.StateChange(state); } if (clickControlModule != null) { clickControlModule.State = state; clickControlModule.StateChange(state); } } }
public override void StateChange(CMSState state) { if (state.Equals(CMSState.ControlTracking)) { firstFrameInControl = true; ShowExcludeForms(); } else { HideExcludeForms(); } }
private void StartThreadLoop() { while (!quit) { CMSState curState = getState(); if (controlTogglerConfig.AutoStartControlEnabled && curState.Equals(CMSState.Tracking)) { TestControlAutoStart(); } else if (controlTogglerConfig.AutoStopControlEnabled && curState.Equals(CMSState.ControlTracking)) { TestControlAutoStop(); } Thread.Sleep(controlTogglerConfig.IntervalTime); } }
public void ProcessKeys(Keys keys) { if (!quit) { lock (keyMutex) { CMSState currentState = getState(); if (currentState.Equals(CMSState.Tracking)) { if ((this.controlTogglerConfig.CtrlStart && (keys.Equals(Keys.LControlKey) || keys.Equals(Keys.RControlKey))) || (this.controlTogglerConfig.ScrollStart && keys.Equals(Keys.Scroll))) { if (toggleControl(true)) { if (this.controlTogglerConfig.PlaySoundOnControlChanges) { soundPlayer.PlayChangeState(); } } } } else if (currentState.Equals(CMSState.ControlTracking)) { if ((this.controlTogglerConfig.CtrlStop && (keys.Equals(Keys.LControlKey) || keys.Equals(Keys.RControlKey))) || (this.controlTogglerConfig.ScrollStop && keys.Equals(Keys.Scroll))) { if (toggleControl(false)) { if (this.controlTogglerConfig.PlaySoundOnControlChanges) { soundPlayer.PlayChangeState(); } } } } } } }
public override void StateChange(CMSState state) { }
public abstract void StateChange(CMSState state);
public override void StateChange(CMSState state) { controlEnabled = state.Equals(CMSState.ControlTracking); }
public void Start(CMSVideoSource videoSource, CMSVideoDisplay videoDisplay, CMSControlToggler controlToggler) { mutex = new object(); try { ProcessKeys[] procKeysDelegates = null; lock (mutex) { CMSConstants.Init(); controllerState = CMSState.Starting; model = new CMSModel(); model.Init("./" + CMSConstants.SUITE_LIB_DIR, "./" + CMSConstants.SUITE_CONFIG_DIR, "./" + CMSConstants.MAIN_CONFIG_FILE, "./" + CMSConstants.MAIN_CAMERA_CONFIG_FILE, "./" + CMSConstants.MAIN_LOG_CONFIG_FILE, "./" + CMSConstants.MAIN_ID_CONFIG_FILE); model.Load(); model.IncrementAndSaveSessionNum(); CMSLogger.SetUidReceivedDelegate(model.UidUpdated); CMSLogger.Init(model.LogConfig, model.IdConfig); //CMSLogger.CanCreateLogEvent( if (CMSLogger.CanCreateLogEvent(false, false, false, "CMSLogStartEvent")) { CMSLogStartEvent startEvent = new CMSLogStartEvent(); startEvent.SetDateTime(DateTime.Now); CMSLogger.SendLogEvent(startEvent); } this.videoSource = videoSource; videoSource.CameraLost += new CameraLost(CameraLost); videoSource.CameraFound += new CameraFound(CameraFound); videoSource.VideoInputSizesDetermined += new VideoInputSizesDetermined(VideoInputSizesDetermined); videoSource.ProcessFrame += new ProcessFrame(ProcessFrameFromSource); videoSource.Init(videoDisplay.GetParentForm()); this.videoDisplay = videoDisplay; videoDisplay.Init(new CMSViewAdapter(model, this, videoSource)); model.SelectedSuite.CMSTrackingSuiteAdapter = new CMSStandardTrackingSuiteAdapter(model, this, videoDisplay); string currentMoniker = model.CurrentMonikor; if (videoSource.StartSource(currentMoniker)) { string newMoniker = videoSource.GetCurrentMonikor(); model.CurrentMonikor = newMoniker; controllerState = CMSState.Setup; } else { controllerState = CMSState.CameraNotFound; } this.controlToggler = controlToggler; controlToggler.GetState = GetState; controlToggler.ToggleControl = ToggleControl; controlToggler.GetCursorPos = GetCursorPos; controlToggler.ControlTogglerConfig = model.GeneralConfig.ControlTogglerConfig; controlToggler.Start(); procKeysDelegates = new ProcessKeys[2]; procKeysDelegates[0] = ProcessKeys; procKeysDelegates[1] = controlToggler.ProcessKeys; } CMSKeyHook.initHook(procKeysDelegates); Application.Run(videoDisplay.GetParentForm()); CMSKeyHook.removeHook(); } catch (Exception e) { try { if (CMSLogger.CanCreateLogEvent(true, true, false, "CMSLogExceptionEvent")) { CMSLogExceptionEvent exceptionEvent = new CMSLogExceptionEvent(); exceptionEvent.SetException(e); CMSLogger.SendLogEvent(exceptionEvent); } } catch { } MessageBox.Show("Error occurred during startup:" + e.Message); Application.Exit(); } }