<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Silverlight &#124; WPF &#124; Microsoft.Net &#187; Tim Heuer</title>
	<atom:link href="http://joel.neubeck.net/tag/tim-heuer/feed/" rel="self" type="application/rss+xml" />
	<link>http://joel.neubeck.net</link>
	<description>Simplifing structure without changing results</description>
	<lastBuildDate>Wed, 26 May 2010 18:43:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Programming Silverlight 2 &#8211;  by Jesse Liberty, Tim Heuer</title>
		<link>http://joel.neubeck.net/2008/09/programming-silverlight-2-by-jesse-liberty-tim-heuer/</link>
		<comments>http://joel.neubeck.net/2008/09/programming-silverlight-2-by-jesse-liberty-tim-heuer/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 04:27:47 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Jesse Liberty]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Tim Heuer]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/?p=238</guid>
		<description><![CDATA[&#8220;This definitive tutorial will guide you through every aspect of building rich, interactive applications delivered cross-browser and cross platform using Microsoft&#8217;s new Silverlight technology. Silverlight allows you to harness the power of rich user controls found in Microsoft&#8217;s Windows Presentation Foundation and Windows Vista, but deliver it to any browser on any supported operating system.&#8221;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0596516126?ie=UTF8&amp;tag=refactor0f-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596516126"><img class="alignleft size-thumbnail wp-image-239" title="51cm8y5mwkl_sl500_aa240_" src="http://joel.neubeck.net/wp-content/uploads/2008/09/51cm8y5mwkl_sl500_aa240_-150x150.jpg" alt="" width="150" height="150" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=refactor0f-20&amp;l=as2&amp;o=1&amp;a=0596516126" border="0" alt="" width="1" height="1" />&#8220;This definitive tutorial will guide you through every aspect of building rich, interactive applications delivered cross-browser and cross platform using Microsoft&#8217;s new Silverlight technology. Silverlight allows you to harness the power of rich user controls found in Microsoft&#8217;s Windows Presentation Foundation and Windows Vista, but deliver it to any browser on any supported operating system.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/09/programming-silverlight-2-by-jesse-liberty-tim-heuer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 2 Video Player pushed to CodePlex</title>
		<link>http://joel.neubeck.net/2008/06/silverlight-2-video-player-pushed-to-codeplex/</link>
		<comments>http://joel.neubeck.net/2008/06/silverlight-2-video-player-pushed-to-codeplex/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 18:26:03 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[CodePlex]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Tim Heuer]]></category>
		<category><![CDATA[Video Player]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/?p=166</guid>
		<description><![CDATA[Yesterday Tim Heuer made a great suggestion that we submit our collaboration on a  Silverlight 2 Video Player as Open Source to CodePlex. You can now find the latest source at http://www.codeplex.com/sl2videoplayer.  As we find any &#8220;undocumented features&#8221; or add new and exciting ehancments we will push these up to CodePlex.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codeplex.com/sl2videoplayer"><img class="alignleft size-full wp-image-167" title="codeplex-logo_thumb" src="http://joel.neubeck.net/wp-content/uploads/2008/06/codeplex-logo_thumb.jpg" alt="" width="235" height="92" /></a>Yesterday Tim Heuer made a great suggestion that we submit our collaboration on a  Silverlight 2 Video Player as Open Source to CodePlex.  You can now find the latest source at <a title="http://www.codeplex.com/sl2videoplayer" href="http://www.codeplex.com/sl2videoplayer">http://www.codeplex.com/sl2videoplayer</a>.  As we find any &#8220;undocumented features&#8221; or add new and exciting ehancments we will push these up to CodePlex.</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/06/silverlight-2-video-player-pushed-to-codeplex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XNA Gamefest &#8211; Casual Track</title>
		<link>http://joel.neubeck.net/2008/06/xna-gamefest-casual-track/</link>
		<comments>http://joel.neubeck.net/2008/06/xna-gamefest-casual-track/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 04:00:21 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Bill Reiss]]></category>
		<category><![CDATA[casual games]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Tim Heuer]]></category>
		<category><![CDATA[XNA Gamefest]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/?p=165</guid>
		<description><![CDATA[On July 22nd at the Washington State Convention and Trade Center in Seattle Washington, Bill Reiss and myself will be co-presenting a session titled &#8220;Building Games with Silverlight&#8221;.  This session is part of the casual game track and will focus on our experience being involved in the development of a Silverlight game.  We hope to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://joel.neubeck.net/wp-content/uploads/2008/05/gamefest082.gif"><img class="alignnone size-medium wp-image-135" title="gamefest082" src="http://joel.neubeck.net/wp-content/uploads/2008/05/gamefest082-300x94.gif" alt="" width="300" height="94" /></a>On July 22nd at the Washington State Convention and Trade Center in Seattle  Washington, Bill Reiss  and myself will be co-presenting a session titled <a title="Building Games with Silverlight" href="http://www.xnagamefest.com/casualtrack.htm" target="_blank">&#8220;Building Games with Silverlight&#8221;</a>.   This session is part of the casual game track and will focus on our experience being involved in the development of a Silverlight game.  We hope to sheld some insight into strengths and wekness of Silverlight asa casual gaming platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/06/xna-gamefest-casual-track/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight 2 &#8211; Media Player with Marker support</title>
		<link>http://joel.neubeck.net/2008/06/sl2b2-media-player-markers/</link>
		<comments>http://joel.neubeck.net/2008/06/sl2b2-media-player-markers/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 17:10:32 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[MediaElement]]></category>
		<category><![CDATA[Slider]]></category>
		<category><![CDATA[Tim Heuer]]></category>
		<category><![CDATA[TimeLineMarker]]></category>
		<category><![CDATA[Video Player]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/2008/06/sl2b2-media-player-markers/</guid>
		<description><![CDATA[Please note: This sample was made into a Code Plex project and is maintained there. Please download all source from http://www.codeplex.com/sl2videoplayer/ Back in April I created a very simple Video Player in Silverlight 2 Beta 1 which Tim Heuer took to a whole new level. In his first pass he added dynamic resizing and initParams [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Please note</strong>: This sample was made into a Code Plex project and is maintained there.  Please download all source from <a href="http://www.codeplex.com/sl2videoplayer/">http://www.codeplex.com/sl2videoplayer/</a></p></blockquote>
<p>Back in April I created a very simple Video Player in Silverlight 2 Beta 1 which <a href="http://timheuer.com" target="_blank">Tim Heuer</a> took to a whole new level. In his first pass he added dynamic resizing and initParams to load the video source. Then back a few weeks ago Tim brought it up to speed for Beta 2 and integrated the &quot;VisualStateManager&quot; to get the ToggleButton to function correctly. I love how it turned out. </p>
<p>One thing that I really wanted to include in my first version was control for TimelineMarkers. Unfortunately in Beta 1 I had some issues with dynamic markers, and decided to hold off until Beta 2 was released. Microsoft Expression Encoder 2 is a great tool and makes it very easy to insert markers that fire events during video playback. Markers are very simple, they define a TimeSpan of when to fire the &quot;MarkerReached&quot; event, and define some text that describes the marker.&#160;&#160; In my example I will use this text as the copy for my Marker Popup.&#160; Here is how I chose to visualize my markers in the video player. </p>
<p><a href="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c2.png"><img title="videoplayer_c2" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="114" alt="videoplayer_c2" src="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c2-thumb.png" width="292" align="left" border="0" /></a> </p>
<p>To achieve this effect, I created a custom UserControl called &quot;Marker.xaml&quot;. This control contains a single animation which will fade in the text, and fade it out again after a predefined amount of time.&#160; The control is comprised of a TextBlock and a “Arrow” path that can be moved left and right within the second row of a Grid control.&#160; This gives me the ability to control where the Arrow visualizes in relation to my Timeline Slider control.</p>
<p>Based on the number of markers encoded in the video an equal number of markers will be placed in the “MediaControl”.&#160; There position on the slider time line is determined by calculating the following: </p>
<p><a href="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c31.png"><img title="videoplayer_c3" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="91" alt="videoplayer_c3" src="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c3-thumb1.png" width="500" align="left" border="0" /></a> </p>
<p>   <br style="clear: both" />The position is not absolute, but close enough to where the “Thumb” in the slider control will exist at that moment the marker should popup.&#160;&#160; Once I have placed a marker into the appropriate Grid on my MediaControl I store it in a generic Dictionary keyed off of the time it should be displayed. This allows me to very quickly find the UserControl when the Media.MarkerReached event fires or the player goes into fullscreen mode.&#160;&#160; In the event that the user wants to play the video in fullscreen, I must reposition my markers relative to the new ActualWidth of the&#160; sliderTimeline.&#160; </p>
<p><a href="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c4.png"><img title="videoplayer_c4" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="117" alt="videoplayer_c4" src="http://joel.neubeck.net/wp-content/uploads/2008/06/videoplayer-c4-thumb.png" width="500" align="left" border="0" /></a> </p>
<p>  <br style="clear: both" />
<p>Here is how it all turned out.&#160; </p>
<p><iframe src="/wp-content/uploads/2008/06/VideoPlayerMarkers/default.html" width="500" height="240"></iframe></p>
<p>Code: <a onclick="javascript: pageTracker._trackPageview(&#39;/code/VideoPlayerMarkers.zip&#39;);" href="http://www.codeplex.com/sl2videoplayer/">Code Plex</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/06/sl2b2-media-player-markers/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
