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();
}
}
}