KinectV2Core.KinectV2SettingsControl.audioBeamModeComboBox_SelectionChanged C# (CSharp) Method

audioBeamModeComboBox_SelectionChanged() private method

private audioBeamModeComboBox_SelectionChanged ( object sender, System.Windows.Controls.SelectionChangedEventArgs e ) : void
sender object
e System.Windows.Controls.SelectionChangedEventArgs
return void
        private void audioBeamModeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (kinectID != null)
            {
                if (audioBeamModeComboBox.SelectedIndex == 0) //Loudest source mode
                {
                    if (audioBeamSkeletonNumberTextBox != null)
                    {
                        audioBeamSkeletonNumberTextBox.IsEnabled = false;
                    }

                    kinectSettings.audioTrackMode = KinectBase.AudioTrackingMode.Loudest;
                    if (kinectCore.kinect.AudioSource != null)
                    {
                        for (int i = 0; i < kinectCore.kinect.AudioSource.AudioBeams.Count; i++)
                        {
                            kinectCore.kinect.AudioSource.AudioBeams[i].AudioBeamMode = Microsoft.Kinect.AudioBeamMode.Automatic;
                        }
                    }
                    EnableSourceAngleSending();
                }
                else if (audioBeamModeComboBox.SelectedIndex == 1) //Feedback position mode
                {
                    if (audioBeamSkeletonNumberTextBox != null)
                    {
                        audioBeamSkeletonNumberTextBox.IsEnabled = false;
                    }

                    kinectSettings.audioTrackMode = KinectBase.AudioTrackingMode.Feedback;
                    if (kinectCore.kinect.AudioSource != null)
                    {
                        for (int i = 0; i < kinectCore.kinect.AudioSource.AudioBeams.Count; i++)
                        {
                            kinectCore.kinect.AudioSource.AudioBeams[i].AudioBeamMode = Microsoft.Kinect.AudioBeamMode.Manual;
                        }
                    }
                    DisableSourceAngleSending();
                }
                else if (audioBeamModeComboBox.SelectedIndex == 2) //Merged skeleton position mode
                {
                    if (audioBeamSkeletonNumberTextBox != null)
                    {
                        audioBeamSkeletonNumberTextBox.IsEnabled = true;
                    }

                    kinectSettings.audioTrackMode = KinectBase.AudioTrackingMode.MergedSkeletonX;
                    if (kinectCore.kinect.AudioSource != null)
                    {
                        for (int i = 0; i < kinectCore.kinect.AudioSource.AudioBeams.Count; i++)
                        {
                            kinectCore.kinect.AudioSource.AudioBeams[i].AudioBeamMode = Microsoft.Kinect.AudioBeamMode.Manual;
                        }
                    }
                    DisableSourceAngleSending();
                }
                else //Local skeleton position mode
                {
                    if (audioBeamSkeletonNumberTextBox != null)
                    {
                        audioBeamSkeletonNumberTextBox.IsEnabled = true;
                    }

                    kinectSettings.audioTrackMode = KinectBase.AudioTrackingMode.LocalSkeletonX;
                    if (kinectCore.kinect.AudioSource != null)
                    {
                        for (int i = 0; i < kinectCore.kinect.AudioSource.AudioBeams.Count; i++)
                        {
                            kinectCore.kinect.AudioSource.AudioBeams[i].AudioBeamMode = Microsoft.Kinect.AudioBeamMode.Manual;
                        }
                    }
                    DisableSourceAngleSending();
                }
            }
        }