public Server() { Form = new CustomPerPixelAlphaForm(); FormSetProperties(); FormDock(); Form.Show(); var clientBuildDirectory = Environment.CurrentDirectory + "\\..\\..\\..\\..\\..\\Reflecta.Client\\bin"; var clientStartInfo = new ProcessStartInfo { FileName = clientBuildDirectory + "\\Client.exe", WorkingDirectory = clientBuildDirectory, WindowStyle = ProcessWindowStyle.Minimized }; Client = Process.Start(clientStartInfo); OpenPipes(); SpeechSynthesizer = new SpeechSynthesizer(); SpeechSynthesizer.SelectVoiceByHints(VoiceGender.Female); SpeechSynthesizer.SpeakStarted += SpeechSynthesizer_SpeakStarted; SpeechSynthesizer.VisemeReached += SpeechSynthesizer_VisemeReached; SpeechSynthesizer.SpeakCompleted += SpeechSynthesizer_SpeakCompleted; SpeechRecognitionEngine = new SpeechRecognitionEngine(); SpeechRecognitionEngine.UnloadAllGrammars(); SpeechRecognitionEngine.LoadGrammar(new Grammar(new GrammarBuilder(KnownCommands))); SpeechRecognitionEngine.SpeechRecognized += SpeechRecognitionEngine_SpeechRecognized; SpeechRecognitionEngine.SetInputToDefaultAudioDevice(); SpeechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple); KinectSensor = KinectSensor.GetDefault(); KinectSensor.Open(); BodyFrameSource = KinectSensor.BodyFrameSource; BodyFrameReader = BodyFrameSource.OpenReader(); BodyFrameReader.FrameArrived += BodyFrameReader_FrameArrived; Bodies = null; BodyDESP = new DESPQuaternion[(int)MoCapKinectBone.Count]; for (var i = 0; i < (int)MoCapKinectBone.Count; i++) { BodyDESP[i] = new DESPQuaternion(); } HighDefinitionFaceFrameSource = new HighDefinitionFaceFrameSource(KinectSensor); HighDefinitionFaceFrameSource.TrackingQuality = FaceAlignmentQuality.High; HighDefinitionFaceFrameReader = HighDefinitionFaceFrameSource.OpenReader(); HighDefinitionFaceFrameReader.FrameArrived += HighDefinitionFaceFrameReader_FrameArrived; FaceAlignment = new FaceAlignment(); FaceDESP = new DESPQuaternion(); FaceExpressionDESP = new DESPFloat[(int)MoCapKinectFacialExpression.Count]; for (var i = 0; i < (int)MoCapKinectFacialExpression.Count; i++) { FaceExpressionDESP[i] = new DESPFloat(); } }
public Server() { Form = new CustomPerPixelAlphaForm(); FormSetProperties(); FormDock(); Form.Show(); var clientBuildDirectory = Environment.CurrentDirectory + "\\..\\..\\..\\..\\..\\Reflecta.Client\\bin"; var clientStartInfo = new ProcessStartInfo { FileName = clientBuildDirectory + "\\Client.exe", WorkingDirectory = clientBuildDirectory, WindowStyle = ProcessWindowStyle.Minimized }; Client = Process.Start(clientStartInfo); OpenPipes(); SpeechSynthesizer = new SpeechSynthesizer(); SpeechSynthesizer.SelectVoiceByHints(VoiceGender.Female); SpeechSynthesizer.SpeakStarted += SpeechSynthesizer_SpeakStarted; SpeechSynthesizer.VisemeReached += SpeechSynthesizer_VisemeReached; SpeechSynthesizer.SpeakCompleted += SpeechSynthesizer_SpeakCompleted; SpeechRecognitionEngine = new SpeechRecognitionEngine(); SpeechRecognitionEngine.UnloadAllGrammars(); SpeechRecognitionEngine.LoadGrammar(new Grammar(new GrammarBuilder(KnownCommands))); SpeechRecognitionEngine.SpeechRecognized += SpeechRecognitionEngine_SpeechRecognized; SpeechRecognitionEngine.SetInputToDefaultAudioDevice(); SpeechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple); KinectSensor = KinectSensor.GetDefault(); KinectSensor.Open(); BodyFrameSource = KinectSensor.BodyFrameSource; BodyFrameReader = BodyFrameSource.OpenReader(); BodyFrameReader.FrameArrived += BodyFrameReader_FrameArrived; Bodies = null; BodyDESP = new DESPQuaternion[(int) MoCapKinectBone.Count]; for (var i = 0; i < (int) MoCapKinectBone.Count; i++) BodyDESP[i] = new DESPQuaternion(); HighDefinitionFaceFrameSource = new HighDefinitionFaceFrameSource(KinectSensor); HighDefinitionFaceFrameSource.TrackingQuality = FaceAlignmentQuality.High; HighDefinitionFaceFrameReader = HighDefinitionFaceFrameSource.OpenReader(); HighDefinitionFaceFrameReader.FrameArrived += HighDefinitionFaceFrameReader_FrameArrived; FaceAlignment = new FaceAlignment(); FaceDESP = new DESPQuaternion(); FaceExpressionDESP = new DESPFloat[(int) MoCapKinectFacialExpression.Count]; for (var i = 0; i < (int) MoCapKinectFacialExpression.Count; i++) FaceExpressionDESP[i] = new DESPFloat(); }
private void Dispose(bool disposing) { if (Disposed) { return; } if (disposing) { //Free any other managed objects here... ClosePipes(); Client.CloseMainWindow(); Client.Close(); Client.Dispose(); Client = null; SpeechSynthesizer.SpeakAsyncCancelAll(); SpeechSynthesizer.Dispose(); SpeechSynthesizer = null; SpeechRecognitionEngine.RecognizeAsyncStop(); SpeechRecognitionEngine.Dispose(); SpeechRecognitionEngine = null; HighDefinitionFaceFrameReader.Dispose(); HighDefinitionFaceFrameReader = null; HighDefinitionFaceFrameSource = null; BodyFrameReader.Dispose(); BodyFrameReader = null; BodyFrameSource = null; KinectSensor.Close(); KinectSensor = null; Form.Close(); Form.Dispose(); Form = null; } //Free any unmanaged objects here... Disposed = true; }