/** * Main method. Initializes all input managers and starts them. * Then, executes the start-up script (right now it just goes * to Earth. To make a better one, look at the Extensibility section * in TravelCommand.cs) * * Author: Ross Kahn **/ public static void Main() { KeyboardMouseManager keymanager = new KeyboardMouseManager(); keymanager.start(); KinectManager kinectManager = new KinectManager(); SpeechManager speechManager = new SpeechManager(); kinectManager.Initialize(); if (KinectManager.isConnected()) { // Start the speech manager with the Kinect microphone array speechManager.Initialize(kinectManager.getSensor()); } else { // Start the speech manager with the default system microphone because // no kinect was detected speechManager.Initialize(); } // Start-up script. Works just like a regular travel command TravelCommand command = new TravelCommand(Constants.PLANET.EARTH); doCommand(command); // Keeps the application running. Since this program is event-driven, // there needs to be a non-blocking main loop as the program waits // for events to come in. That's what Application.Run() does try { Application.Run(); } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }