Windows Media Center RSS 2.0
 Friday, July 08, 2005

A good friend shared this experience today.  I believe Jeff Foxworthy and the Blue Collar Comedy Tour fellers could turn this into a 'You might be a redneck if...'

Yesterday we had a job fair at work trying to fill some slots for a new branch.  One of our human resource folks told me about an interview she had that morning.  She was telling the applicant an important element of being a teller is sales.  The girl replied 'Oh, I don't think I've sold anything since trying to sell pot in high school.'

My friends conclusion: If you wouldn't have told your parents about it in high school, then it probably isn't a good topic to cover in a job interview.

Keep that in mind if you ever interview with Microsoft. :-)

Categories: Humor | Comments [1] | # | Posted on Friday, July 08, 2005 5:57:40 AM (GMT Standard Time, UTC+00:00)   
 Tuesday, July 05, 2005

Michael Earls, author of An Introduction to Developing Software for Microsoft Windows XP Media Center Edition 2005 and Building .NET Add-Ins for Windows Media Center Edition has apparently given up on Media Center according to his post this morning.

But I don't think he has really convinced himself to do so, based on some of the kudos he gives in the rant...

"...the PC next to my television is exactly what I dreamed it would be - a way to record multiple television shows and maintain them for me, a way to listen to music, and a killer arcade machine..."

"The Media Center has worked great for recording television..."

...and the fact the root cause of his issues have nothing to do with Media Center itself...

"...all of the various drivers and software DVD decoders have caused me great pain..."

"...the problems I'm having with my machine have to do with the video and audio drivers..."

And I can't really believe as a developer he wants us to create yet another developer limiting (or downright unfriendly) set top box -- that would pretty much end his ability to extend Media Center (like his Yahoo example).

Michael, I'm happy to help you get the decoder and driver issues resolved...

Categories: Media Center | Comments [0] | # | Posted on Tuesday, July 05, 2005 9:05:07 PM (GMT Standard Time, UTC+00:00)   
 Thursday, June 30, 2005

A very common question developers and designers have is when to use the Shared Viewport or Custom Viewport in a Media Center application.  The sample code associated with this post illustrates how to create a Custom Viewport (and comment one line of code to get a Shared Viewport).

Download the Sample Code

To answer, we can list out the differences between the two, view screenshots of the implementations and understand their intended usage and limitations.

Shared Viewport

  • Non-customizable media window.
  • Always located at the lower left.
  • Contains two types of content...
    • Video (Figure 1)
    • Audio Song Title, Cover Art (Figure 2)
  • The Shared Viewport is the default playback experience for the PlayMedia or PlayMediaEx method calls.
  • Can take and lose focus.
  • Can be hidden while media playback continues.
  • The dimensions or aspect ratio of the Shared Viewport CANNOT be changed.
  • The user can select the Shared Viewport to go full screen with the experience.
  • The Shared Viewport is always shown when the user leaves an extensibility application and returns to Media Center with a media experience playing.
  • Use a Shared Viewport when the current media experience is secondary in nature to the other content on the page.

Shared Viewport with Video Source

Figure 1 - Shared Viewport with video source (click to see larger version).

Shared Viewport with Audio Source

Figure 2 - Shared Viewport with audio source (click for larger version).

Custom Viewport

  • Fully customizable media window
  • Contains video content only (Figure 3)
    • Can show for audio content, but the only thing you get is a black square or rectangle.
  • Can take or lose focus.
  • Can be hidden while media playback continues.
  • The dimensions or aspect ratio of the Custom Viewport CAN be changed.
    • Height
    • Width
    • Aspect Ratio
  • You can position the Custom viewport anywhere on screen.
  • You must use the HideCustomViewPort event to persist the Custom Viewport between pages.
  • Use a Custom Viewport when the content is highly relevant to other metadata or action items on the page.

Custom Viewport with Video Source

Figure 3 - Custom Viewport with video source (click for larger version).

Categories: Media Center Application Design | Media Center SDK Code Sample | Comments [0] | # | Posted on Thursday, June 30, 2005 5:15:21 AM (GMT Standard Time, UTC+00:00)   
 Friday, May 06, 2005

Kristy Duncan-Johnson and Jeff Rank worked closely with the Media Center Team to develop MSN Remote Record using the same, exact API set available to all third parties.  Learn more about it over at Channel9 Videos.

MSN TV - Bringing MSN Services Into The Living Room

Another great resource if you want to read about MSN Remote Record is Schedule TV Show Recording over the Web Using MSN Remote Record Service by Microsoft MVP Justin Harrison.

And finally, the methods and properties used by MSN to develop MSN Remote Record are located in the Windows XP Media Center Software Development Kit (SDK) starting with the Click-To-Record Feature topic.

Categories: Media Center | Comments [0] | # | Posted on Friday, May 06, 2005 8:11:20 PM (GMT Standard Time, UTC+00:00)   
 Saturday, April 30, 2005
If you want a great primer on Media Center features, check out the Windows XP Media Center Edition 2005 Reviewers Guide (2.66 MB Adobe PDF).
Categories: Media Center | Comments [0] | # | Posted on Saturday, April 30, 2005 5:35:46 AM (GMT Standard Time, UTC+00:00)   
 Friday, April 29, 2005

Generally speaking, we want to select colors from the web palette which are TV safe for our Media Center Hosted HTML applications.  For additional information see TV-Safe Colors in the Media Center Software Development Kit (SDK).  A couple of my favorite design tools are Adobe Illustrator and Photoshop, which make it pretty easy to select these TV safe web colors using the Color Picker.

1) Double-click the fill or stroke color selection box in the toolbox or Color palette.

2) Make sure the Only Web Colors checkbox is checked and then select your colors in the range where no single color in the RGB gamut is less than 51 or greater than 204.

3) Although it's usually not necessary, just to be super safe about the colors chosen you can run the Filter --> Video --> NTSC Colors filter and watch for color shifts in your chosen pallette.

Categories: Media Center Application Design | Comments [0] | # | Posted on Friday, April 29, 2005 5:01:21 AM (GMT Standard Time, UTC+00:00)   
 Wednesday, April 27, 2005

Download the Sample Code

A very frequent question we get is this...

How can I get access to the built in Media Center Electronic Programming Guide so I can tune to a particular show or channel directly from my application?

Microsoft has abstracted the EPG information in such a way to make it fairly easy to tune to a particular TV channel or show without having access to the human readable data or having to maintain a database themselves for each individual user with the unique one:one mapping of channel numbers and broadcasts.

The almost-as-frequent followup question is...

Why can't I just search and manipulate the data itself?

The data itself is locked up tight due to licensing issues.  For what it is worth I personally wish this were different.  However, I do like the fact we can still leverage the EPG to make really great and well integrated applications for hybrid TV / internet experiences at the same time we respect the metadata owner rights.  No baby thrown out with the bath water this time. :-)

Use the FindProgram and / or FindService methods in conjunction with the PlayMedia or PlayMediaEx method to find and tune to shows or broadcast channels.  The key lines of sample code in each...

FindProgram

var arrayProgram = objMCE.FindProgram("Little House on The Prairie",true);

'Nuff said -- find the show.

FindService

var arrayService = objMCE.FindService("DSCP", "");

DSCP = Discovery Channel (Pacific).  The call signs are generally determined by the broadcast channel owner and are finite in each locale (for example, the Discovery has DSCP for West Coast and DSC for all other time zones in the United States).

Categories: Media Center SDK Code Sample | Comments [0] | # | Posted on Wednesday, April 27, 2005 7:03:17 PM (GMT Standard Time, UTC+00:00)   
 Wednesday, April 20, 2005
Categories: Media Center | Comments [0] | # | Posted on Wednesday, April 20, 2005 4:13:09 AM (GMT Standard Time, UTC+00:00)   

The author of Fun with DVR-MS is back with another fantastic article about developing Media Center Add-Ins.

Stephen Toub discusses writing background add-ins for Windows XP Media Center 2005, and demonstrates how to write an add-in that allows a user to enter a time code on the remote control, causing Media Center to jump to that location in the current media playback.

The article also includes a basic Hello World providing a foundation upon which you can build other Media Center Add-Ins.

Check out Time Travel with Windows XP Media Center.

Categories: Media Center | Comments [0] | # | Posted on Wednesday, April 20, 2005 2:16:42 AM (GMT Standard Time, UTC+00:00)   
ZuneCard
GamerTag
About

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008 Charlie Owen

Sign In
All Content © 2008, Charlie Owen