<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 - Discussions by Yovi</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/Yovi/Discussions/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 - Discussions by Yovi</title>
		<link>http://channel9.msdn.com/Niners/Yovi/Discussions</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Niners/Yovi/Discussions</link>
	<language>en</language>
	<pubDate>Wed, 19 Jun 2013 06:37:43 GMT</pubDate>
	<lastBuildDate>Wed, 19 Jun 2013 06:37:43 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>0</c9:totalResults>
	<c9:pageCount>0</c9:pageCount>
	<c9:pageSize>0</c9:pageSize>
	<item>
		<title>Tech Off - Run Arduino board with C# Visual Studio </title>
		<description><![CDATA[<p>I already have visualmicro working on Visual Studio and Arduino software.</p><p>Do I add the .ino in my C# project on VS or upload it from Arduino software?</p><p>Do I debug my C# on VS after I upload .ino? Or how?</p><p>I really don't know where to debug and upload .ino and the C# project and the processes. But I've got some sample codes.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Run-Arduino-board-with-C-Visual-Studio/d77e7d1959f140448fe5a1750061c4f1#d77e7d1959f140448fe5a1750061c4f1</link>
		<pubDate>Sat, 02 Mar 2013 05:55:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Run-Arduino-board-with-C-Visual-Studio/d77e7d1959f140448fe5a1750061c4f1#d77e7d1959f140448fe5a1750061c4f1</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>2</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Kinect WPF - Calling a class</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/Kinect-WPF-Calling-a-class#c6e0c2f43357a4c78b437a16a00e6a270">gduncan411</a>: I've got it working now. Its now placed right after &quot;this.sensor.Start();&quot;</p><p>I thought I could put it before &quot;sensor.Start&quot; like how DrawingGroup &quot;Image.Source = this.imageSource;&quot; placed in &quot;WindowLoaded&quot; function. Anyway, it's working now. Thank you!</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Kinect-WPF-Calling-a-class/d54fdbbcc56b49888d0ca16a0189decd#d54fdbbcc56b49888d0ca16a0189decd</link>
		<pubDate>Tue, 19 Feb 2013 23:54:02 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Kinect-WPF-Calling-a-class/d54fdbbcc56b49888d0ca16a0189decd#d54fdbbcc56b49888d0ca16a0189decd</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Kinect WPF - Calling a class</title>
		<description><![CDATA[<p>Hi everyone.</p><p>I think this piece of code is for C# form not WPF. How can I write this in WPF?</p><p><pre class="brush: csharp">        kinectSensor.ColorFrameReady = new EventHandler&lt;Microsoft.Kinect.ColorImageFrameReadyEventArgs&gt;(ColorImageFrameReady_handler);
</pre>&nbsp;</p><p>I get it from&nbsp;<a href="http://stackoverflow.com/questions/11114125/how-to-use-colorstream-to-stream-the-rgb-data-on-an-image-in-an-wpf-kinect-appli">http&#58;&#47;&#47;stackoverflow.com&#47;questions&#47;11114125&#47;how-to-use-colorstream-to-stream-the-rgb-data-on-an-image-in-an-wpf-kinect-appli</a></p><p>thanks!</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Kinect-WPF-Calling-a-class/48c8371896bf4000ae27a16a00a3837e#48c8371896bf4000ae27a16a00a3837e</link>
		<pubDate>Tue, 19 Feb 2013 09:55:20 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Kinect-WPF-Calling-a-class/48c8371896bf4000ae27a16a00a3837e#48c8371896bf4000ae27a16a00a3837e</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Kinect Wave Gesture Recognition</title>
		<description><![CDATA[<p>@<a href="/Forums/TechOff/Kinect-Wave-Gesture-Recognition#c8d509b5028e34664aacaa15b01576fc0">gduncan411</a>:&nbsp;I just emailed him. Hopefully he'll reply. Thank you.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Kinect-Wave-Gesture-Recognition/526828b71c8549909860a15f00064b7d#526828b71c8549909860a15f00064b7d</link>
		<pubDate>Fri, 08 Feb 2013 00:22:55 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Kinect-Wave-Gesture-Recognition/526828b71c8549909860a15f00064b7d#526828b71c8549909860a15f00064b7d</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Kinect Wave Gesture Recognition</title>
		<description><![CDATA[<p>I'm using the code from a textbook &quot;Beginning Kinect Programming with the Microsoft Kinect SDK&quot; from chapter 6 wave gesture part. However, I've got 2 errors:&nbsp;</p><p>1. Inconsistent accessibility: parameter type 'WaveGesture.MainWindow.WaveGestureState' is less accessible than method 'WaveGesture.MainWindow.UpdateState (WaveGesture.MainWindow.WaveGestureState, long)'</p><p>2. Inconsistent accessibility: parameter type 'WaveGesture.MainWindow.WavePosition' is less accessible than method 'WaveGesture.MainWindow.UpdatePosition (WaveGesture.MainWindow.WavePosition, long)'</p><p>If I change those enumerations to public, I get so many errors. Can anyone please tell me whats wrong?</p><p>The code:<pre class="brush: csharp">
private enum WavePosition
        {
            None = 0,
            Left = 1,
            Right = 2,
            Neutral = 3
        }

        private enum WaveGestureState
        {
            None = 0,
            Success = 1,
            Failure = 2,
            InProgress = 3
        }

        private struct WaveGestureTracker
        {
            public void Reset()
            {
                IterationCount = 0;
                State = GestureState.None;
                Timestamp = 0;
                StartPosition = WavePosition.None;
                CurrentPosition = WavePosition.None;
            }

            public int IterationCount;
            public WaveGestureState State;
            public long Timestamp;
        }

        public class WaveGesture
        {
            private const float WAVE_THRESHOLD = 0.1f;
            private const int WAVE_MOVEMENT_TIMEOUT = 5000;
            private const int REQUIRED_ITERATIONS = 4;
            private WaveGestureTracker[,] _PlayerWaveTracker = new WaveGestureTracker[6, 2];
            public event EventHandler GestureDetected;

            public void Update(Skeleton[] skeletons, long frameTimestamp)
            {
                if (skeletons != null)
                {
                    Skeleton skeleton;
                    for (int i = 0; i &lt; skeletons.Length; i&#43;&#43;)
                    {
                        skeleton = skeletons[i];
                        if (skeleton.TrackingState != SkeletonTrackingState.NotTracked)
                        {
                            TrackWave(skeleton, true,
                            ref this._PlayerWaveTracker[i, LEFT_HAND], frameTimestamp);
                            TrackWave(skeleton, false,
                            ref this._PlayerWaveTracker[i, RIGHT_HAND], frameTimestamp);
                        }
                        else
                        {
                            this._PlayerWaveTracker[i, LEFT_HAND].Reset();
                            this._PlayerWaveTracker[i, RIGHT_HAND].Reset();
                        }
                    }
                }
            }

        }

        private void TrackWave(Skeleton skeleton, bool isLeft, ref WaveGestureTracker tracker, long timestamp)
        {
            JointType handJointId = (isLeft) ? JointType.HandLeft : JointType.HandRight;
            JointType elbowJointId = (isLeft) ? JointType.ElbowLeft : JointType.ElbowRight;
            Joint hand = skeleton.Joints[handJointId];
            Joint elbow = skeleton.Joints[elbowJointId];

            if (hand.TrackingState != JointTrackingState.NotTracked &amp;&amp; elbow.TrackingState != JointTrackingState.NotTracked)
            {
                if (tracker.State == WaveGestureState.InProgress &amp;&amp; tracker.Timestamp &#43; WAVE_MOVEMENT_TIMEOUT &lt; timestamp)
                {
                    tracker.UpdateState(WaveGestureState.Failure, timestamp);
                }
                else if (hand.Position.Y &gt; elbow.Position.Y)
                {
                    //Using the raw values where (0, 0) is the middle of the screen.
                    //From the user's perspective, the X-Axis grows more negative left
                    //and more positive right.
                    if (hand.Position.X &lt;= elbow.Position.X - WAVE_THRESHOLD)
                    {
                        tracker.UpdatePosition(WavePosition.Left, timestamp);
                    }
                    else if (hand.Position.X &gt;= elbow.Position.X &#43; WAVE_THRESHOLD)
                    {
                        tracker.UpdatePosition(WavePosition.Right, timestamp);
                    }
                    else
                    {
                        tracker.UpdatePosition(WavePosition.Neutral, timestamp);
                    }

                    if (tracker.State != WaveGestureState.Success &amp;&amp; tracker.IterationCount == REQUIRED_ITERATIONS)
                    {
                        tracker.UpdateState(WaveGestureState.Success, timestamp);

                        if (GestureDetected != null)
                        {
                            GestureDetected(this, new EventArgs());
                        }
                    }
                }
                else
                {
                    if (tracker.State == WaveGestureState.InProgress)
                    {
                        tracker.UpdateState(WaveGestureState.Failure, timestamp);
                    }
                    else
                    {
                        tracker.Reset();
                    }
                }
            }
            else
            {
                tracker.Reset();
            }
        }

        public void UpdateState(WaveGestureState state, long timestamp)
        {
            state = State;
            timestamp = Timestamp;
        }

        public void Reset()
        {
            IterationCount = 0;
            State = WaveGestureState.None;
            Timestamp = 0;
            StartPosition = WavePosition.None;
            CurrentPosition = WavePosition.None;
        }

        public void UpdatePosition(WavePosition position, long timestamp)
        {

            if (CurrentPosition != position)
            {
                if (position == WavePosition.Left || position == WavePosition.Right)
                {
                    if (State != WaveGestureState.InProgress)
                    {
                        State = WaveGestureState.InProgress;
                        IterationCount = 0;
                        StartPosition = position;
                    }

                    IterationCount&#43;&#43;;
                }

                position = CurrentPosition;
                timestamp = Timestamp;
            }
        }</pre></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Kinect-Wave-Gesture-Recognition/23e998817d5148c2ba95a15a00088250#23e998817d5148c2ba95a15a00088250</link>
		<pubDate>Sun, 03 Feb 2013 00:30:58 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Kinect-Wave-Gesture-Recognition/23e998817d5148c2ba95a15a00088250#23e998817d5148c2ba95a15a00088250</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Errors: The type or namespace name &#39;KinectSensorManager&#39; could not be found </title>
		<description><![CDATA[<p>I've got errors: The type or namespace name 'KinectSensorManager' could not be found (are you missing an assembly or an assembly reference?)</p><p>I have these referenced:</p><p><em>using Microsoft.Kinect;</em><br><em>using Microsoft.Samples.Kinect.WpfViewers;</em><br><em>using Microsoft.Kinect.Toolkit;</em></p><p>My piece of code:</p><p><em>public KinectSensorManager KinectSensorManager </em><br><em>{</em><br><em>get { return (KinectSensorManager)GetValue(KinectSensorManagerProperty); }</em><br><em>set { SetValue(KinectSensorManagerProperty, value); }</em><br><em>}</em></p><p>The very first&nbsp;KinectSensorManager is the error and has a blue underline. But others&nbsp;KinectSensorManager are not errors.</p><p>Does anyone know what is wrong?</p><p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/Gesture-Recognition-in-Kinect-15/a6b9dca9ac1e478c8a1ba1560044e7ec#a6b9dca9ac1e478c8a1ba1560044e7ec</link>
		<pubDate>Wed, 30 Jan 2013 04:10:52 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/Gesture-Recognition-in-Kinect-15/a6b9dca9ac1e478c8a1ba1560044e7ec#a6b9dca9ac1e478c8a1ba1560044e7ec</guid>
		<dc:creator>Yovi</dc:creator>
		<slash:comments>1</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Yovi/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>