media comments edit

I decided to continue my research into getting my DVDs into a network storage format for play by a home theater PC, this time by getting a Windows Vista Ultimate system up and running to try out My Movies and see how it worked. I also wanted to find out how difficult it was to get movies playing on my Xbox 360 using the Media Center Extender functionality. (Yes, I could have tried Windows Vista Home Premium, too, but figured, why not Ultimate?)

The problem is, I don’t have a system I can just flatten and dedicate to this, especially seeing as how I just wanted to try it out really quick without actually activating it, so it’d be up and running for less than 30 days. I decided this was the perfect opportunity to use Virtual PC 2007 to create a Vista Ultimate virtual machine and do all my work there - in a totally throw-away environment.

I didn’t get far.

Vista itself installed reasonably well. It was simple and straightforward, though it wasn’t super quick. I suppose you can’t really blame it for being slow since it was installing from an ISO image that was stored on the same physical drive as the VPC software and the VM image. So the disk churned a lot, and I recognize that as a vastly non-optimal setup, but I also figured I didn’t need it to be super fast, I just needed to see it basically function.

The next step I took was to try installing My Movies 2.20. Unfortunately, it wouldn’t install since it requires .NET 1.1 SP1 and Vista Ultimate only comes with 2.0 and 3.0 pre-installed. Downloaded and installed .NET 1.1 as well as SP1, then got My Movies installed. Cool. Time to fire up Windows Media Center.

Media Center started and after a few setup steps, I was into the menus. I didn’t see the My Movies options, but it turns out there’s a known defect in 2.20 that My Movies doesn’t properly add itself to the menus in Media Center. Luckily there’s a “My Movies” icon that gets installed in the Start menu and if you start Media Center from that, you go straight into My Movies. But we’ll get there in a second.

Not seeing the My Movies options anywhere in the menus, I decided to poke around Media Center a little. This is where I started seriously noticing the Virtual PC issues. Menus were slow to redraw, there was no animation to anything, the mouse cursor sometimes just disappeared… it was pretty horrible. I tried watching one of the sample videos that get installed with Vista and got a message about how some files weren’t working correctly or something. Turns out Vista really seems to want 64MB of video RAM and the max that Virtual PC will give it is 8MB. Exiting Media Center and trying the videos directly from Windows Media Player was successful (though very jumpy with several frames getting skipped at a time). I’m thinking Media Center had used up all my whopping 8MB of virtual video RAM and that was that. No more worky.

But I wasn’t going to get mired by that! There was still more to do! I figured since I wouldn’t be actually playing the movies on the VM - I’d only be streaming them to my Xbox 360 to play - that it didn’t really matter if I couldn’t get things playing right there.

Following some tips in the My Movies forums, I enabled the DVD Gallery feature in Media Center using a KB article at Microsoft. I figured this would be helpful to troubleshoot differences between how Media Center handles movies directly and how My Movies handles movies. Regardless, I didn’t figure it hurt anything, so there we go.

I downloaded and installed Transcode360 in preparation for the connection to my Xbox 360. In order to get it to work properly, I had to right-click the shortcut in the Start menu and modify the properties to tell it to Run as Administrator. If you have User Access Control enabled and you don’t do that, you only get exceptions when you try to start it up. (That’s not documented anywhere; I had to figure that out myself.)

OK! I had Vista Ultimate, My Movies, and Transcode360. Time to get a movie ripped and try this bad boy out!

I brought a DVD in today, fired up the VPC, fired up My Movies, and inserted the DVD into the drive. I told the VPC to capture the physical DVD drive as the VM drive so I could access the DVD…

…and this is where my fun ended. Media Center instantly became entirely unresponsive. Like, full seconds between putting your mouse cursor over a menu option and having the menu option highlight in preparation to be clicked. Removed the DVD from the drive and things became mildly responsive again.

To test things out, I exited Media Center and put the disc back in the drive. I wanted to see if the performance death had anything to do with Media Center. Turns out it didn’t - I inserted the DVD and got a few options on the Autoplay menu - I could install a DVD player from the disc, play the DVD with Windows Media Player, or play the DVD with Windows Media Center. I chose Windows Media Player. The player came up… and sat there doing nothing. I left it for several minutes and it never responded. I think this is, again, the video RAM issue coming back to bite me.

Regardless, I think my test of Vista Ultimate in a VPC environment is done. I believe several issues I fought with were due to the limitations of the VPC environment, but I also think there was some odd stuff going on with My Movies that needs to be fixed before I can get back into it.

In my web-based travels trying to find solutions, I found out about a lot of limitations to Media Center Extender technology (including the codecs that are supported, which is why Transcode360 is required) that make me wonder if using the Xbox 360 as an extender really is the best way to go or if maybe just getting a dedicated home theater PC might be a better idea and use some network attached storage so if I need to add more stations, I can put a PC in each room and just connect to the central storage.

media comments edit

…and in a continued run on the home theater PC thread…

The Mac Mini HTPC site has some great entries about a guy setting up a Mac Mini for his home theater. He’s using distantDVD as his front end, allowing him to connect to any drive on the network - including Windows shares - to get to movies. There’s this odd “plays up to 950 movies” restriction on it and it seems to be something systemic, like it can’t physically index more than that or something.

There’s even a podcast about how to set up a Mac Mini based home theater PC. I may have to look a little further down this avenue. You can get a Mac Mini for like $600. That’s something I could afford.

media comments edit

I’ve been locked into a way of thinking - that for my media center solution I need to get a Windows Media Center with some network attached storage and connect all of that up so I can use the Xbox 360 as a Media Center Extender to watch movies.

I’m starting to think maybe I’ve been barking up the wrong tree and it’s time to re-examine my requirements and assumptions.

There are a lot of limitations to Media Center Extender technology, not the least of which is that they don’t support playback of movies ripped in either ISO or VIDEO_TS format, which is one of my primary goals. I not only want easy access to my movies, but I want no quality lost when I put them on the server, I want no features lost (extras, audio tracks, etc.), and I want to be able to re-create a watchable DVD from it should my original die.

So I need to open myself to new possible solutions:

  • Would it be better to have a dedicated home theater PC for each room where I want to access the movies? I could just have each one talk to the network attached storage device.
  • Is Windows Media Center really the answer? Is there some other Windows product that might do the job like MediaPortal?
  • If I just go for a dedicated home theater PC, am I limiting myself with Windows? Would Mac and Front Row or iTheater be a better solution?
  • Is there some sort of hardware device that just works that I don’t already know about?

I’ll continue to search, but I think I’m going to broaden the scope. Unfortunately, I don’t have a Mac that I can try this stuff out on, so I’m going to have to do a lot of reading. I might try out MediaPortal on a virtual machine to see how that goes. If anyone knows of any other devices I should look at, let me know in comments.

blog comments edit

Every once in a while I’ll be reading a blog entry and I’ll come across a place where someone has inserted a block of code. On the blog site, it looks like this:

Formatted code on a web
site.

But in the RSS reader, it looks like this:

Formatting displayed incorrectly for code in an RSS
feed.

Not so great. I mean, the code is reasonably legible, but the style sheet renders literally in the reader. I shouldn’t see that CSS - it should be formatting the code, not appearing in the view window.

I also see RSS feeds that do display a nicely formatted block of code:

Code displaying correctly in
RSS.

At first I thought it was a bug in my reader, so I tried some other readers and got the same result.

So what’s the difference?

The one that appears with the styles displayed literally in the feed uses an inline style sheet to do the formatting. Something like this:

    <pre class="csharpcode">
    <span class="kwrd">virtual</span> BOOL Paint(<span class="kwrd">int</span> button) = 0;
    </pre>
    <style type="text/css">
    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    }
    .csharpcode .kwrd { color: #0000ff; }
    </style>

While that sort of thing works well on a web site, it turns out that most RSS readers today don’t support inline style sheets.

The ones that look correct on the web site and in RSS use code like this:

    <pre style="background-color:#FFFFB9;;overflow: auto;"><div><span style="color: #000000; ">@Test
    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">void</span><span style="color: #000000; "> emptyTest() {
     assertTrue(foo);
    }</span></div></pre>

Notice how the styles applied are actually inline on the tags, not styles from a style sheet. This sort of local style application is fairly widely supported in RSS readers. The drawback to this sort of style application is that not only is the HTML huge and horrible (usually it’s generated, and we all know how bad generated HTML gets), but if you want to change the look of the code on your site or in your RSS feed, there’s no simple way to do it.

Two recommendations for folks posting inline code snippets who want formatting and a good looking RSS feed:

If you’re going with a style sheet and not inline styles, move the style sheet to somewhere outside the actual entry being syndicated. Include it with a <link rel="stylesheet" type="text/css" href="http://url/to/your.css" /> line in the <head /> section of your site. By pulling it out of the entry proper, folks visiting your site will see the nice formatting, and at the very least the syndicated version will be legible and won’t include a bunch of clutter. On the other hand, it won’t look as pretty in RSS as it does on your site.

If you want people to see nicely formatted code on your site and in RSS, you’ll need to switch to the inline styles applied directly to tags. The Actipro CodeHighlighter control for ASP.NET does this (and there’s a Windows Live Writer plugin that uses it, so you don’t have to set it up on your site if you want to post through Windows Live Writer instead). The GeSHi (Generic Syntax Highlighter) project is a good PHP highlighter that can do either inline styles or use a style sheet. Check into a solution for your chosen platform that will let you apply the styles inline directly to tags.

Due to the stupid server down issue I had a bit ago, I got moved to a new server but it seems that not all my settings made it, so anyone who had sent mail to any address at paraesthesia.com wasn’t getting through to me.

I just figured it out, and it’s only been since, oh, February 27, so I’ve only got about 1400 emails to manually filter through and deal with. But I’ve got everything fixed again so it should be working fine. If you sent me something that I should have responded to but didn’t, re-send and I’ll answer. ARGH!