Windows Media Center#

Microsoft Windows has a built-in media center function you can use to watch digital media and DVDs. I started using Windows Media Center with my DVDs stored on my Windows Home Server.

I switched away from Windows Media Center to XBMC in December 2011.

While WMC allows “media center extenders” for front ends (e.g., you can use your Xbox 360 to access Windows Media Center content), extenders can’t access all content types. I ended up getting a Dell Studio Hybrid as a dedicated Windows Media Center at my TV.

Plugins#

You use plugins to extend the capabilities of Windows Media Center. I looked at a few but didn’t get too far into it. XBMC supports extensions a little nicer.

  • MyNetflix - View your instant queue movies right in Windows Media Center. Looks a little more robust than vmcNetFlix. Of course, Netflix has their own native integration now, making this moot.

  • SecondRun.tv - Watch Hulu video on the Windows Media Center. Interface looks similar to the DVD Library.

  • Yougle Vista - YouTube, Apple Trailers, and other community video sources in Windows Media Center. Has an extensibility API for adding your own custom sources.

  • tubeCore - Adds UPnP/DLNA support to Windows Media Center. Primarily geared around video.

  • RadioTime - A streaming audio service that lets you listen to radio from around the world. Has a plugin so you can access it through Media Center.

Configuration#

Changing the DVD Player#

The idea here is that the built-in codec for playing DVDs (VIDEO_TS included) isn’t as good as some third-party ones. I originally looked into changing this when I didn’t realize you could change the zoom/aspect ratio of playback by using the “info” button on the remote.

Most people use MyMovies and TheaterTek DVD player (or some other player). I’ve asked what the best DVD player package is on the MyMovies forums.

There is a utility that allows you to choose a different decoder for playing DVDs. (Here’s the walkthrough of the registry entries you need to update - the tool automates the registry settings.)

FFDShow integration (see below) updates the DVD player as well as adding the ability for new video formats to play.

PowerDVD#

You can set up PowerDVD, for example, using registry settings. Several folks recommend using the PowerDVD codec over VMC one.

There are different options for integrating PowerDVD. Primarily people use the PowerDVD codec for playback rather than the built-in one.

You can integrate PowerDVD as an external application using an “mcl” file. (This is how you get HD DVD and Blu-ray playback to work.) There’s an article about extending Media Center with XML files.

There is a launching application for PowerDVD that someone wrote. Might do what needs to be done. Looks like it can launch any app, not just PowerDVD. That said, it doesn’t add a button to each movie, it just lets you launch the app.

TotalMedia Theatre#

ArcSoft TotalMedia Theatre seems to be growing on people.

ArcSoft Total Media Theater integrates with Media Center via a plugin. There is a review of it here with screen shots.

FFDShow Integration#

FFDShow updates the DVD player as well as adding new video format support. Media Control integrates FFDShow codecs into Media Center, however, it doesn’t look like it’s really well supported. You may be able to get results if you switch the default MPEG2 decoder, but in general, it appears that launching DVD Library titles with FFDShow may be experimental.

Enabling iTunes#

My original thought was to try to get Windows Media Center to serve iTunes (AAC/M4A) music natively. It turns out that’s very hard.

I never did get this working. Instead I went to Asset UPnP to serve my music and it’s been awesome.

But, for folks interested in some of the notes/travails, here you go.

Objectives#

Originally, I wanted a seamless music experience where I don’t have to leave Windows Media Center and run iTunes separately.

  • I’ve seen this done through MCETunes, but there appears to be a lot of moving parts with that and, reading through the forums, it appears there’s some weirdness around gaps between songs… like MCETunes is just “wrapping” iTunes through the COM interface.

  • Instead, I wanted to get WindowsMediaCenter natively understanding AAC/M4A songs.

    • Apple Lossless, MP4/AAC/M4A is all included.

    • I don’t care if it doesn’t play “licensed” music since Apple’s moving away from that anyway.

    • It does need to read the song metadata and correctly display artist/album/track info (at a minimum). It’d be nice to get playlists in there, too, as well as ratings and album art, but I’m not going to be picky.

As part of doing that, the iTunes metadata (particularly album art) would need to be cleaned up. That part of the project is the remaining important part.

Plan#

  • Install the DSP-worx plugin on laptop.

  • Install the tag extender on laptop.

  • Update album artist tags via iTunes. Using “Various Artists” for albums that are compilations or otherwise have lots of contributors.

  • Allow Media Player to retrieve information from the internet for tracks - see if those Album{GUID} tracks are showing up, verify tracks are still playable in iTunes if info is downloaded. (Putting Folder.jpg into the folder with the music handles the Album Art issue.)

  • Play music in Windows Media Center. (Does this involve setting up folder monitoring for the Music share? Yes, it does.)

  • Get the album art updated on all tracks.

  • Write a script to get rid of all of the automatic album art in the folders.

  • Write a script to delete any empty folders.

  • Write a script to set any downloaded artwork right on the track so metadata readers can get it, then clear the downloaded artwork.

  • Write a script to get Folder.jpg into the folders based on the metadata art.

  • Write a script to make a playlist from all songs where artist != album artist AND album artist != “Various Artists”. That list will contain a set of tracks that may have album artist incorrectly set.

  • Clean up the filesystem (run the scripts):

    • Set the downloaded artwork to be part of the track.

    • Delete the Folder.jpg files.

    • Clear out empty folders.

    • Set Folder.jpg for all folders based on track artwork.

I had previously set up all the tests with the DSP-worx plugin on my primary laptop before I upgraded from Windows Vista to Windows 7. Post-upgrade, I did not re-introduce these elements as, by that time, I had already decided to skip getting this working in media center. I have too many other devices that understand DLNA/UPnP streaming just fine so I decided to reduce the moving pieces and just use those.

Notes#

The article here is the most concise and basically accurate description of what needs to be done.

Getting DSP-worx to work allows you to play the songs in WMP but the metadata isn’t displayed.

  • Download the plugin.

  • Unzip in C:\DSP-worx (or a folder that doens’t have spaces in it).

  • Run the register.bat file.

  • Reboot.

  • You should be able to add .m4a files to a playlist and play them in WMP now.

To get the metadata displayed, you need to install the tag extender.

  • Set up your library. Particularly if you’re sharing between iTunes and WMP, you don’t want removing the file from one to impact the other. In Options…

    • Player tab:

      • The “Add media files to library when played” option doesn’t seem to make a difference - they always get added to the library.

    • Library tab:

      • Under “Update library by monitoring folders,” uncheck “Delete files from computer when deleted from library” if you’re sharing with iTunes.

      • Under “Automatic media information updates for files” uncheck everything but “Maintain my star ratings as global ratings in files.” If you don’t uncheck the rename/rearrange options, your music files will get moved around. Leaving the “Retrieve additional information from the Internet” will download album art and other metadata and modify the tags in your files. You may not want that. (If you do, it’s recommended you fill in “Album Artist” on ALL tracks. That’s how album art is keyed.)

    • Privacy tab:

      • Under “Enhanced Playback and Device Experience,” you may want to uncheck “Update music files by retrieving media info from the Internet.” This also gets metadata and updates the tags on the files.

  • Install the tag extender.

  • Reboot.

  • Adding things to the “Now Playing” list seems to add them to your library. You won’t see the tags if you just drag them into “Now Playing,” but if you play them from the library, everything comes up.

Scripts#

Powershell to get rid of all .jpg files in a folder tree, hidden or otherwise:

get-childitem -recurse -force | where-object { $_.Extension -eq ".jpg" } | remove-item -force

Powershell to remove empty folders (Remove-EmptyDirectory.ps1):

if($args.length -ne 1)
{
    Write-Error "You must specify the start location."
}
Function Remove-EmptyDirectory
{
    param($target)

    Begin
    {
        if($target -eq $null)
        {
            Break;
        }
        if($target.GetType().FullName -ne "System.IO.DirectoryInfo")
        {
            Break;
        }
    }
    Process
    {
        $target.GetDirectories() | foreach { Remove-EmptyDirectory $_ };
        $count = $target.GetDirectories().Length + $target.GetFiles().Length;
        if($count -lt 1)
        {
            Write-Host "Deleting " $target.FullName;
            Remove-Item $target.FullName;
        }
    }
    End
    {
    }
}
Get-ChildItem -force $args[0] | ForEach{ Remove-EmptyDirectory $_ }