public void UpdateGUI(KinectBase.MasterSettings newSettings)
{
if (kinectID.HasValue)
{
masterSettings = newSettings;
dynamic tempSettings = newSettings.kinectOptionsList[kinectID.Value];
kinectSettings = (KinectV2Settings)tempSettings;
//Update the color options
useColorRadioButton.IsChecked = kinectSettings.useColorPreview;
useIRRadionButton.IsChecked = kinectSettings.useIRPreview;
//Update the depth options
ScaleDepthCheckBox.IsChecked = kinectSettings.scaleDepthToReliableRange;
ColorizeDepthCheckBox.IsChecked = kinectSettings.colorizeDepth;
//Update skeleton options
UseSkeletonCheckBox.IsChecked = kinectSettings.mergeSkeletons;
UseRawSkeletonCheckBox.IsChecked = kinectSettings.sendRawSkeletons;
XFormRawSkeletonCheckBox.IsChecked = kinectSettings.transformRawSkeletons;
//Update audio settings
SendSoundAngleCheckBox.IsChecked = kinectSettings.sendAudioAngle;
audioServerTextBox.Text = kinectSettings.audioAngleServerName;
audioChannelTextBox.Text = kinectSettings.audioAngleChannel.ToString();
audioBeamSkeletonNumberTextBox.Text = kinectSettings.audioBeamTrackSkeletonNumber.ToString();
switch (kinectSettings.audioTrackMode)
{
//Note: the enabled/disabled controls don't need to be set manually here because the selected index changed event will still be hit
case KinectBase.AudioTrackingMode.Feedback:
{
audioBeamModeComboBox.SelectedIndex = 1;
break;
}
case KinectBase.AudioTrackingMode.MergedSkeletonX:
{
audioBeamModeComboBox.SelectedIndex = 2;
break;
}
case KinectBase.AudioTrackingMode.LocalSkeletonX:
{
audioBeamModeComboBox.SelectedIndex = 3;
break;
}
default:
{
audioBeamModeComboBox.SelectedIndex = 0;
break;
}
}
//Update the position options
xPosTextBox.Text = kinectSettings.kinectPosition.X.ToString();
yPosTextBox.Text = kinectSettings.kinectPosition.Y.ToString();
zPosTextBox.Text = kinectSettings.kinectPosition.Z.ToString();
yawPosTextBox.Text = kinectSettings.kinectYaw.ToString();
pitchPosTextBox.Text = kinectSettings.kinectPitch.ToString();
rollPosTextBox.Text = kinectSettings.kinectRoll.ToString();
}
}