public void AddAnalyzer(ISkeletonAnalyzer analyzer, ObservableDictionary <string, string> parameters) { AnalyzerWrapper executor = new AnalyzerWrapper(analyzer, parameters); executor.Run(); _analyzerWrappers.Add(executor); _analyzers.Add(analyzer, parameters); }
public string GetAnalyzerModuleName(ISkeletonAnalyzer analyzer) { foreach (string moduleName in _skeletonAnalyzers.Keys) { if (_skeletonAnalyzers[moduleName].GetType().Equals(analyzer.GetType())) { return(moduleName.ToLower()); } } throw new ApplicationException("Module is not in the loaded modules. Something went seriously wrong, please, contact the support department!"); }
private void ConfigureDevices(XPathNavigator navigator, Dictionary <string, IDevice> devices) { XPathNodeIterator deviceIt = navigator.Select("/Configuration/devices/device[@name]"); while (deviceIt.MoveNext()) { // parsing of attributes string deviceName = deviceIt.Current.GetAttribute("name", ""); ObservableDictionary <string, string> parametersGroup = ParseParams(deviceIt.Current); if (!devices.ContainsKey(deviceName)) { string strDevices = ""; foreach (string str in devices.Keys) { strDevices += (str == "" ? "" : ",") + str; } UIThread.ShowMessage("", "Device " + deviceName + " was not found on this computer!\n " + devices.Count + " devices installed. \n(" + strDevices + ")"); continue; } IDevice d = devices[deviceName]; if (!d.IsLoaded) { try { d.LoadDriver(parametersGroup); } catch (InitializationFailedException ex) { // MessageBox.Show(ex.Message, "ConfigureDevices: Unable to load driver", MessageBoxButton.OK, MessageBoxImage.Error); continue; } catch (Exception ex) { UIThread.ShowMessage("", ex.Message); continue; } } _deviceParameters.Add(deviceName, parametersGroup); if (Configuration.RegisteredInputs.Count == 0) { continue; } ObservableDictionary <string, ObservableDictionary <string, string> > parameters = ParseAnalyzersParams(deviceIt.Current); foreach (string analyzerFile in parameters.Keys) { if (d.GamingInput is ISkeletonInput) { ISkeletonAnalyzer analyzer = InputAnalyzerManager.GetSkeletonAnalyzer(analyzerFile); if (analyzer == null) { Console.Error.WriteLine("ERROR: Analyzer " + analyzerFile + " could not be loaded!!!"); } else { _inputAnalyzers.Add(new InputAnalyzer(parameters[analyzerFile], d, analyzer)); } } else if (d.GamingInput is IAccelerometerInput) { _inputAnalyzers.Add(new InputAnalyzer(parameters[analyzerFile], d, InputAnalyzerManager.GetAccelerometerAnalyzer(analyzerFile))); } else if (d.GamingInput is IBalanceBoardInput) { _inputAnalyzers.Add(new InputAnalyzer(parameters[analyzerFile], d, InputAnalyzerManager.GetBalanceBoardAnalyzer(analyzerFile))); } else if (d.GamingInput is IEmgSensorInput) { _inputAnalyzers.Add(new InputAnalyzer(parameters[analyzerFile], d, InputAnalyzerManager.GetEmgSignalAnalyzer(analyzerFile))); } } } }
public static string GetAnalyzerModuleName(ISkeletonAnalyzer analyzer) { return(Instance.GetAnalyzerModuleName(analyzer)); }
public string GetAnalyzerModuleName(ISkeletonAnalyzer analyzer) { _skeletonAnalysisModules.UpdateModules(ANALYZERS_PATH); return(_skeletonAnalysisModules.GetModuleName(analyzer)); }