Exemplo n.º 1
0
        private async void Track_Start_Click(object sender, RoutedEventArgs e)
        {
            // Disable File
            this.MenuItem_File_Open.IsEnabled = false;
            this.Button_File_Open.Visibility  = Visibility.Collapsed;

            SetupSessionDialog setupSession = new SetupSessionDialog();

            setupSession.Owner = Application.Current.MainWindow;
            setupSession.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (setupSession.ShowDialog() == true)
            {
                // Disable Start while waiting from the sever
                this.MenuItem_Track_Start.IsEnabled = false;
                this.Button_Track_Start.Visibility  = Visibility.Collapsed;

                string sessionName = setupSession.entryName.Text;

                this.StatusText = String.Format("Kinect2Kit server @ {1} was starting session {1}.", Kinect2Kit.ServerEndpoint, sessionName);

                Kinect2KitSimpleResponse resp = await Kinect2Kit.StartSessionAsync(sessionName);

                if (resp.IsSuccessful)
                {
                    this.MenuItem_Track_Pause.IsEnabled = true;
                    this.Button_Track_Pause.Visibility  = Visibility.Visible;

                    this.MenuItem_Track_Stop.IsEnabled = true;
                    this.Button_Track_Stop.Visibility  = Visibility.Visible;

                    this.StatusText = String.Format("Kinect2Kit server @ {0} started session {1}.", Kinect2Kit.ServerEndpoint, sessionName);

                    // Start tracking task
                    this.trackingTaskTokenSource = new CancellationTokenSource();
                    this.trackingTask            = Task.Run(() => this.Track(this.trackingTaskTokenSource.Token), this.trackingTaskTokenSource.Token);
                }
                else
                {
                    // Re-enable Start
                    this.MenuItem_Track_Start.IsEnabled = true;
                    this.Button_Track_Start.Visibility  = Visibility.Visible;

                    // Re-enable File
                    this.MenuItem_File_Open.IsEnabled = true;
                    this.Button_File_Open.Visibility  = Visibility.Visible;

                    this.StatusText = String.Format("Kinect2Kit session {0} not started. Message: {1}.", sessionName, resp.ServerMessage);
                }
            }
            else
            {
                // Re-enable File
                this.MenuItem_File_Open.IsEnabled = true;
                this.Button_File_Open.Visibility  = Visibility.Visible;

                this.StatusText = "Kinect2Kit session not started.";
            }
        }
        private async void Track_Start_Click(object sender, RoutedEventArgs e)
        {
            // Disable File
            this.MenuItem_File_Open.IsEnabled = false;
            this.Button_File_Open.Visibility = Visibility.Collapsed;

            SetupSessionDialog setupSession = new SetupSessionDialog();
            setupSession.Owner = Application.Current.MainWindow;
            setupSession.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            if (setupSession.ShowDialog() == true)
            {
                // Disable Start while waiting from the sever
                this.MenuItem_Track_Start.IsEnabled = false;
                this.Button_Track_Start.Visibility = Visibility.Collapsed;

                string sessionName = setupSession.entryName.Text;

                this.StatusText = String.Format("Kinect2Kit server @ {1} was starting session {1}.", Kinect2Kit.ServerEndpoint, sessionName);

                Kinect2KitSimpleResponse resp = await Kinect2Kit.StartSessionAsync(sessionName);
                if (resp.IsSuccessful)
                {
                    this.MenuItem_Track_Pause.IsEnabled = true;
                    this.Button_Track_Pause.Visibility = Visibility.Visible;

                    this.MenuItem_Track_Stop.IsEnabled = true;
                    this.Button_Track_Stop.Visibility = Visibility.Visible;

                    this.StatusText = String.Format("Kinect2Kit server @ {0} started session {1}.", Kinect2Kit.ServerEndpoint, sessionName);

                    // Start tracking task
                    this.trackingTaskTokenSource = new CancellationTokenSource();
                    this.trackingTask = Task.Run(() => this.Track(this.trackingTaskTokenSource.Token), this.trackingTaskTokenSource.Token);
                }
                else
                {
                    // Re-enable Start
                    this.MenuItem_Track_Start.IsEnabled = true;
                    this.Button_Track_Start.Visibility = Visibility.Visible;

                    // Re-enable File
                    this.MenuItem_File_Open.IsEnabled = true;
                    this.Button_File_Open.Visibility = Visibility.Visible;

                    this.StatusText = String.Format("Kinect2Kit session {0} not started. Message: {1}.", sessionName, resp.ServerMessage);
                }
            }
            else
            {
                // Re-enable File
                this.MenuItem_File_Open.IsEnabled = true;
                this.Button_File_Open.Visibility = Visibility.Visible;

                this.StatusText = "Kinect2Kit session not started.";
            }
        }