public void CheckKeyPress(Dictionary<PlayerUtils.Bone, PlayerUtils.BoneData> segments, IKinectSynth kinectSynth)
        {
            foreach (var key in keys)
            {
                //TODO Add CheckPressed to iKey
                foreach (var boneData in segments)
                {

                    if (
                        boneData.Value.seg.y1 > ((Key)key).Y &&
                        boneData.Value.seg.x1 > ((Key)key).X &&
                        boneData.Value.seg.x1 < ((Key)key).X + ((Key)key).Width
                        )
                    {
                        key.IsPressed = true;
                        break;
                    }
                    key.IsPressed = false;

                }

                if (key.IsPressed)
                {
                    kinectSynth.PlayNote(key);

                }
                else
                {
                    kinectSynth.StopNote(key);
                }
            }
        }
        public void CheckKeyPress(Dictionary<PlayerUtils.Bone, PlayerUtils.BoneData> segments, IKinectSynth kinectSynth)
        {
            var innerR = Math.Pow((diameter / 2) - keyHeight, 2);
            var outerR = Math.Pow(diameter / 2, 2);

            foreach (var key in Keys)
            {
                foreach (var segment in segments)
                {
                    var relativeX = centreX - segment.Value.seg.x1;
                    var relativeY = centreY - segment.Value.seg.y1;
                    var checkR = Math.Pow(relativeX, 2) +
                                 Math.Pow(relativeY, 2);

                    var theta = Math.Atan2(relativeY, relativeX);
                    if (theta < 0) theta += 2*Math.PI;
                    var angle = theta*(180/Math.PI);

                    if (checkR >= innerR
                        && checkR <= outerR
                        && angle > ((WedgeKey) key).StartAngle
                        && angle < ((WedgeKey) key).StopAngle)
                    {
                        key.IsPressed = true;
                        break;
                    }
                    key.IsPressed = false;
                }

                if(key.IsPressed)
                {
                    kinectSynth.PlayNote(key);
                }
                else
                {
                    kinectSynth.StopNote(key);
                }
            }
        }