Launching apps & games from Vista Media Center (VMC), Part 1
I haven’t spent much time yet writing about the home theater PC I assembled. I’m using a combination of Windows Media Center (in Windows Vista Ultimate) and Beyond TV from SnapStream Media. There’s a terrific web site providing user and some Microsoft assistance for Media Center at TheGreenButton.com. It’s a great place to troubleshoot problems you might have as well as find nifty add-ins for Media Center.
One of my goals is to use VMC as the central launching point for all applications and media. For example, if we want to watch TV in Beyond TV, we should be able to use the remote to find an entry in the VMC interface for Beyond TV, launch that, then use the remote to navigate in Beyond TV. I have a Firefly remote which I received with my copy of Beyond TV and it works very well in both Media Center and in Beyond TV, so that part is taken care of. So what’s the problem?
None, really. The information is readily available in the Media Center SDK which is available for download and online. There were folks on the SnapStream Media forum that had integrated Beyond TV with Media Center, but they had done it the old fashioned way - by editing the registry
. After getting some help from folks on TheGreenButton.com (Problem registering app), I found the proper way to do it - by writing an XML file and feeding it to the RegisterMceApp.exe tool from a Command Prompt window. It also required a command script (aka batch file) to perform the dirty work of launching Beyond TV. Overall, this works fairly well. It’s not rock solid since both Beyond TV and VMC are media apps and sometimes they battle it out for the resources. I suspect this is due to bugs in VMC where it isn’t letting go when it needs to, but it works most of the time and I’m happy - for now
.
Now for the nitty gritty. What exactly did I do? Here are the contents of the XML registration file:
<application
title=“Beyond TV”
id=“{1E9EFD13-8440-4af9-A20B-039B07790C32}”
companyName=“SnapStream Media”
description=“Watch live TV and recorded video”
>
<capabilitiesRequired
directX=“true”
audio=“true”
video=“true”
intensiveRendering=“true”
cdBurning=“true”
console=“true”
/>
<entrypoint
id=“{975A008C-BFD2-40bb-984A-4B88BA7613EB}”
run=“C:\MediaCenterExtensions\Beyond TV\BeyondTVMCE.bat”
title=“Beyond TV”
nowPlayingDirective=“pause”
description=“Watch live TV and recorded video”
imageUrl=“C:\MediaCenterExtensions\Beyond TV\config_net.png”
>
<category category=“Services\TV“/>
<category category=“More Programs“/>
</entrypoint>
</application>
Some things to note about this XML data:
- The capabilities section gives Media Center an idea of what the application requires in order to run successfully. Since Beyond TV is a full-on media application in its own right, I enabled everything.
- It points to a command script called BeyondTVMCE.bat. That is the command script that does the dirty work of actually launching Beyond TV (see below). I spent some time trying to figure out why this was necessary. Why couldn’t Media Center just launch the ViewScape application directly? For whatever reason, Media Center does nothing at all when configured to do it that way. Therefore, until a better way comes along, we’re stuck with the command script.
- It points to a PNG file called config_net.png. This was copied from below the Beyond TV program files location.
- The two category lines tell VMC where to display this entry point. In this case, it will show up in the TV menu at the top level as well as in the Program Library under Online Media. The entire list is available here.
Here are the contents of the command script:
@IF NOT DEFINED _echo echo off setlocal set _ProgramFiles=%ProgramFiles% IF DEFINED ProgramFiles(x86) set _ProgramFiles=%ProgramFiles(x86)% echo on "%_ProgramFiles%\SnapStream Media\Beyond TV\BTVD3DShell.exe" /displaymode exclusivefs @IF NOT DEFINED _echo echo off endlocal
This simply launches the ViewScape application using the proper command line switches to produce the best possible quality and performance.
To get everything set up, I created another command script:
@IF NOT DEFINED _echo echo off setlocal set _DestDir=C:\MediaCenterExtensions\Beyond TV\ set _ProgramFiles=%ProgramFiles% IF DEFINED ProgramFiles(x86) set _ProgramFiles=%ProgramFiles(x86)% IF /i "%1" == "/u" GOTO Uninstall IF /i "%1" == "-u" GOTO Uninstall echo on xcopy /dvfy BeyondTVMCE.bat "%_DestDir%" xcopy /dvfy "%_ProgramFiles%\SnapStream Media\Beyond TV\FSMedia\Images\config_net.png" "%_DestDir%" xcopy /dvfy Register-BeyondTV-in-MCE.xml "%_DestDir%" %Windir%\ehome\RegisterMCEApp /allusers Register-BeyondTV-in-MCE.xml @IF NOT DEFINED _echo echo off Goto Done :Uninstall echo on %Windir%\ehome\RegisterMCEApp /u /allusers Register-BeyondTV-in-MCE.xml @IF NOT DEFINED _echo echo off :Done endlocal
This script takes care of 32/64-bit differences, copies the launcher script along with the image to a central location, and then registers Beyond TV within VMC. The script also provides a way to uninstall this solution from VMC.
I’ve created a ZIP file containing all these scripts along with an uninstall script if you want to simply download them to your machine. Check the Resources section below for the download.
If you’re interested in integrating Beyond TV - or any application for that matter - with Media Center, try these techniques out and let me know how it goes.
Resources
- Beyond TV-Media Center Integration Package:
BeyondTVMCE.zip (1.3 KiB, 1,674 hits)




December 23rd, 2007 at 6:43 pm
Will this work with the XP version of MCE?
Thanks
December 25th, 2007 at 1:24 am
It should, although I haven’t tested it as I only have the Vista version.
August 4th, 2008 at 1:10 pm
Do you still run Beyond TV under VMC? I have used BTV for years an finally gave up on Beyond Media as my frontend.
I now have VMC and would like to keep using BTV. The link to your download appears to be missing.
Also, after I installed the TVTonic plugin, VMC steals the tuners from BTV when I run TVTonic in VMC. I never installed the tuners under VMC, so I’m not sure why there is a conflict.
Any help would be appreciated. I didn’t anticipate that BTV would not play nice with VMC.
August 22nd, 2008 at 9:05 am
Very interesting information. The link to the zip file is broken. Any chance it could be fixed?
Thanks
August 22nd, 2008 at 5:29 pm
@Harold - Yes, I still run it that way. The integration isn’t rock solid, but at least works most of the time. Unfortunately I’ve never used TVTonic, but if it uses tuners, it wouldn’t surprise me that they’re getting stolen from Beyond TV.
@Stan - Thanks for the heads-up about the download link being broken. It should now be fixed.
October 13th, 2008 at 4:11 pm
I have donloaded the zip file and unzipped it . I’ve run the setup command and have been unable to see the Beyond TV application io VMC. Are there additional steps I should be taking ?