jvance.com

.net, c#, asp.net, linq, htpc, woodworking

Jarrett's Tech Blog

  1. Tiny HTPC Movie and Hulu Box Part 1 The Case

    Introduction

    I'm planning to build a tiny computer for watching Hulu and HD encoded movies.  The computer needs to be:

    • Shallow enough to easily fit on the fireplace mantel next to the TV
    • Powerful enough to play 1080p video's and HD online videos
    • Pretty enough to make the wife happy
    • HDMI, Bluetooth and internal PSU to minimize cable and power bricks

    The Case

    The case is from an old Dolby Digital decoder box from before that technology was built-in to receivers.  It is dusty and needs to be cleaned.

    Mini HTPC 001 Mini HTPC 005 Mini HTPC 008

    Dimensions

    16.6"W x 2.25" H x 8.25" D

    The inside has plenty of room for a Mini ITX motherboard and there is probably enough room for a Slim Bluray drive and a Hard drive.  I'll likely custom fabricate the front out of plexi-glass and reuse some of the old buttons.

    In the next post, I'll look at the hardware I will fit in this tiny case.  I'm currently looking at either the Intel platform with a Zotac GF9300 motherboard or the AMD platform with the Jetway 780G motherboard.

    Update

    Here is a picture of it cleaned up:

    denon_avd2000_1

    It would be nice if I could reuse the old face including the LCD screen and the LEDs and knob but I lack the time to explore how to communicate with those electronics.

    Posted by JarrettV on June 01 at 1:53 PM

  2. AtomSite 0.9 Released, Mix09, MVC Final

    Today is a great day for me.  ASP.NET MVC 1.0 Final was released today at Mix09. I finally released AtomSite 0.9 on CodePlex to coincide with the new framework.  I can finally get some sleep.  However, there is still tons of documentation that needs to be created/updated for this release.

    I can't do this project alone.  If you'd like to help create plug-ins, documentation, or themes, let me know so I can add you to the development team.

    Also, AtomSite has a new website to go along with it's .

    Finally, the keynote for Mix09 was streamed live today and there are some great things coming out of Microsoft.  Silverlight 3.0 looks very promising.  I encourage you to watch the video.

    Posted by Jarrett on March 19 at 12:23 AM

  3. AtomSite 0.9 Nearly Ready

    BlogSvcToAtomSite  I'm excited about the next release of BlogSvc, which going forward will have the of AtomSite.  I have put my architect hat on to design and build a plugin/widget system.  Along the way I've learned how to build an extremely modular web application based on the ideas pioneered by Louis DeJardin of the Spark engine.  We do not (yet) use the Spark view engine.  However, it does support it.

    The plug-in model supports:

    • Installation
      • Drop in bin folder
      • Supports extracting embedded theme/script files to correct folders
    • Register Additional View Engines
    • Registering Routes
      • Supports collection constraints
      • Support for multiple workspaces (areas)
      • Support for secure routes (https)
    • Dynamic Controllers
    • Services
      • Supports cross-service events via singletons
    • Widgets
      • Supports both composite and simple view type widgets
      • Supports three different scopes, Service, Workspace, Collection
      • Widget can register stylesheet dependency link
      • Widget can register javascript dependency link
      • Widget can include in-line script at bottom of page
      • Widget can have nested widgets
      • Widgets can be cached (with proper authorization support)
      • Planned support for script/style compression and consolidation planned
      • Planned support for drag drop widget management planned
    • Themes
      • Revised to use YUI layout grids to support dynamic templates
      • Side bar can be moved to either side
      • Supports multiple fixed-widths and fluid layout
    • Metadata
      • Data could be used to install, register, uninstall
      • Planned support for plug-in admin pages
      • Planned support to submit to a global plug-in registry
    • Merits
      • Supports order in which plug-in is activated
      • Supports overwriting previous plug-in routes

     

    All of this is nearly ready for the next release.  If testing goes well, you can expect a release this weekend.

    Posted by Jarrett on March 09 at 4:05 PM

  4. Update to ASP.NET MVC RC1

    I've checked in the code to update BlogSvc to ASP.NET MVC RC1 Refresh.  There were only minor updates to get things workings and the overall process only took around 10 minutes.  However, the readme notes on the configuration are misleading.  The release notes tell you to update the pages section to look like:

    <pages

    validateRequest="false"

    pageParserFilterType = " System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 "

    pageBaseType = " System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 "

    userControlBaseType = " System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " >

    This is not necessary as you'll notice when creating a new MVC project that three bolded lines are not included.  When I added the lines to my config it caused errors on my hosting provider.

    Posted by Jarrett, Jarrett on January 31 at 12:05 AM

  5. Test WLW Twitter Plugin

    This post is to test WLW Twitter Plugin.

    It worked!  You can configure it upon your first post after installing the plugin.

    Posted by Jarrett on January 13 at 4:05 PM

  6. New BlogSvc Release and Oxite

    oxciteblogsvc

    Wow, I believe I'm all caught upontherecent hypearoundOxite. Although I can't help but feel a bit left out in the cold.  I mean BlogSvc has been on codeplex much longer than oxite and it never received this much attention.  It is a shame because I believe the newest release, BlogSvc 0.8 Wizard Release is solid example of how to build a content management solution using MVC.

    I know BlogSvc doesn't yet have all the fancy administration pages or widgets/plugins yet, but we have a solid foundation to get there.  I wish we could bring all the developers together on one solution so we build the next WordPress on ASP.NET MVC. Perhaps combine the best of BlogSvc, BlogEngine.net, dasBlog, SubText all into one super solution and call it SuperPressTM.

    </rant>

    Posted by Jarrett on December 24 at 10:20 AM

  7. DirectShow Filters for Windows Vista x64 and 64bit Codecs

    A new version of GraphStudio (an open-source graphedit replacement) was released that supports x64.  This is big news because previously, there was not a single filter management program on the internet that would work with 64 bit codecs.  Therefore, it was near impossible to understand why a media file would not playback in the 64 bit version of Vista Media Center.

    Background on 64bit and 32bit Codecs

    When codecs are compiled for either 64bit or 32bit they are only compatible with media players of the same type.  You cannot mix and match.  This is especially a problem on Vista x64 because Vista Media Center runs as a native 64bit application. However, Windows Media Player on 64bit systems defaults to 32bit even though there is a 64bit version installed side by side (the start menu just points to 32bit version). 

    It's Best to Choose a Side

    Therefore, if you need Vista Media Center, stick to only 64bit codecs.   Do not install any 32bit codecs and instead of using the default 32bit WMP, use the 64bit version found at "C:\Program Files\Windows Media Player\wmplayer.exe" or better yet use Media Player Classic - Home Cinema x64 edition.  If you want to use a 32bit or x86 media player and still utilize VMC, then you'll have to install two versions of each codec you want to use.

    To make things worse, it is possible for 32 bit filters to conflict with 64 bit filters. 

    My (wild) guess would be that the graphbuilder is instructed by templates from 32-bit filters (either Haali or Gabest source/demux filters) to use some 32-bit source/demux instead of "File Source (Async.)" that for obvious reasons won't work - RadScorpian

    His guess was confirmed.

    Microsoft was stupid enough to make this keys shared between 32/64bit. This means that playback will break in many applications if you have got different source filters installed for 32/64 bit. Media Player Classic is the only DS player I know of that can cope with this issue. - clsid

    This also explains why even with all the internal filters turned off, that MPC-HC x64 was still able to play video's that other 64bit players could not.  Since I installed some 32bit filters first, it created a registry key pointing to the 32bit filter rather than the 64bit filter.  See Troubleshooting for more information on how I fixed it.

    My Setup

    I like to play MKV backups I keep on the hard drive so I use the following filter's:

    • MPC Video Decoder x64 ( MPCVideoDec.ax) for DXVA hardware accelerated AVC and VC1 decoding
    • Matroska Splitter x64 ( MatroskaSplitter.ax) for playback of MKV and MKA files
    • ffdshow x64 ( ffdshow.ax) for playback of various video types and multichannel audio such as FLAC, DTS Master Audio, AC3 Dolby True-HD

    Installation

    ffdshow comes with an installer.  When you install ffdshow make sure you uncheck the codecs that you want the MPC Video Decoder to decode with hardware acceleration (at least H.264 / AVC and VC-1).

    ffdshowCodecSetup

    Note: If you've already installed you can uncheck the codecs in the property page.

    Important: you must run these commands as an admin

    To install MPCVideoDec.ax and MatroskaSplitter.ax files you'll need to do this manually.  Put these files somewhere permanent and then register them using the following command lines:

    > C:\Windows\SysWOW64\regsvr32.exe D:\Programs\Filters\MPCVideoDec.ax
    > C:\Windows\SysWOW64\regsvr32.exe D:\Programs\Filters\MatroskaSplitter.ax

    image

    Testing Playback

    To test you've installed the 64bit filters correctly, you can just try and play a file in the 64bit version of WMP.  However, WMP gives you little if any indication of what went wrong if the video does not play back correctly (same with VMC).

    A better method to check your codecs are installed correctly is with the afore mentioned GraphStudio x64.

    Open GraphStudio and go File -> Render Media File… to open a graph of the media file.  If you get a "Cannot render file" message then something went wrong and you should check Troubleshooting.  If you see a graph built, then you should make sure it is using the proper filters.  For example, for my MKV file I want it to use the MPC - Video Decoder for the x264 video and the ffdshow Audio Decoder for the DTS Master audio.

    GraphRender

    If the wrong filter shows up then you may need to alter the merit of the filters or toggle the type of filters that each codec will decode.  To toggle merit, see Troubleshooting.

    Setup VMC and WMP to See MKV File Types

    You may have noticed that VMC and WMP does not recognize MKV files as video files.  You will need to register the MKV file type in the registry for these Matroska files to show up.  Be sure you backup your registry before proceeding.  Also, this step must  be done with Admin rights.

    Download this file: RegisterMatroska.reg

    Or copy and paste the following into a text file called "RegisterMatroska.reg"

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\.mkv]
    "PerceivedType"="video"
    "Content Type"="video/x-matroska"
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
    "Runtime"=dword:00000007
    "Permissions"=dword:0000000f
    "UserApprovedOwning"="yes"
    

    Double-click the registry file to alter your registry.

    For a more comprehensive registry tweak for Matroska, please see Add MKV/MKA Support to Windows Media Player 11 & Windows Media Center

    Troubleshooting

    "Cannot render file" - This may occur if you don't have the necessary codecs or there are conflicts with existing 32bit codecs.  If you previously installed 32 bit codec you may need to delete a registry key to get the 64bit codec to work.

    For example, I could not play an MKV file until I opened the registry "regedit.exe" and deleted the following key:

    "HKEY_CLASSES_ROOT\Media Type\Extensions\.mkv"

    Wrong Filter in Graph - This may occur if there are multiple filters that are capable of decoding the media format.  This is usually a problem if you prefer one filter over the other because one may support hardware acceleration and the other does not. 

    Some filter's have many codecs built in and you must enable the codec from the property page.  For example, the MPC - Video Decoder has a tab where you can toggle the codecs it handles.  In GraphStudio, you can access a filter's property page from the Graph menu -> Insert Filter… -> Choose Filter -> Click Property Page button.

    image

    In some cases this isn't enough to get the filter to load.  You may also need to alter the merits of the codecs involved. Merit values define the order in which the Filter Graph Manager tries to add filters during graph building.  You can change merit values in GraphStudio.

    GraphStudio is currently the only application that can manage 64bit codecs.  All other codec managers only show 32bit codecs.

    From GraphStudio open the filters and choose the filter you'd like to alter the merit of.  For more information about setting a merit value, see Understanding DirectShow Merits.

    image

    Other Resources

    Posted by Jarrett on December 15 at 6:50 PM

  8. Windows Live Family Safety Breaks Internet

    FamilySafety The current version of Windows Live Family Safety may hose up your Vista machine. I recently installed this on a brand new Vista machine as I was installing Live Photo Gallery and it broke internet access and video streaming to the Xbox (via the Vista Media Center Extender)

    If you try to uninstall Windows Live Family Safety, it will not fix anything. At one point, I saw the following error:

    the Family Safety service has been disabled. Please ask the administrator for this computer to enable it. Until that's done, you will not be able to browse the Internet

    I was logged in as an admin and I tried to disable the service, but since I uninstalled it, there was nothing to disable.  Something was left behind by this program that was blocking port 80.  I disabled the firewall and it still wouldn’t work.

     

    Please note that I never signed the program into Live or enabled it before I uninstalled it. I don't know why it would start blocking the internet without asking me. My advice: Avoid installing Windows Live Family Safety

    The only way I could fix this was re-installing Vista. I'm posting this in hope's that others will avoid this program.

    Other links on the subject:
    Posted by Jarrett on December 08 at 12:50 AM

  9. Chapter Grabber for Chapter Titles in MKV

    I recently updated an old program I wrote back in the .NET 1.0 days. Seeing some of my old code was very interesting as suddenly I became very aware of how much I’ve learned since then.

    The updates I made are mainly to take advantage of tagChimp which is an online database of media metadata. They have an XML API where you can get chapter titles for movies and TV shows.

    I’ve been making some backups of my movies into my favorite container format Matroska or MKV. I like to be able to skip to my favorite part of the movie using chapters aka “Scene Selection” as commonly seen on DVD and Bluray discs.  My favorite media player, Media Player Classic Home Cinema edition has support for these chapters built in.

    Chapters

    ChapterGrabber allows me to open the chapter times extracted from either my DVD IFO file or an existing chapter file. I can then search for the chapter names and apply them to the chapter times.  The result is scene titles for your backup as seen above.

    There are more details on the ChapterGrabber page.

    Posted by Jarrett on November 19 at 1:28 AM

  10. Change is Good for Technology

    ChangeGov As many others, I’m very excited with the outcome of the presidential election.  I’m proud to support who is being called America's first "tech president." His policies toward technology are very refreshing to a self proclaimed tech junkie like me.  Hey, I bought a quad core as soon as they had 45 nano-meter transistors.

    Obama’s policies can be viewed at the new website change.gov.  Some of the highlights of his technology agenda are:

    • Protect the Openness of the Internet
    • Encourage Diversity in Media Ownership
    • Safeguard our Right to Privacy
    • Open Up Government to its Citizens
    • Deploy Next-Generation Broadband
    • Reform the Patent System
    • Lower Health Care Costs by Investing in Electronic Information Technology Systems

    These are great. I feel strongly about Obama working towards these goals.  His view on net-neutrality is very refreshing:

    The number-one priority of Obama's technology platform […] is to protect network neutrality to preserve the benefits of open communication on the Internet. The political argument surrounding Internet access is whether companies managing Internet traffic should be allowed to charge for higher speeds or capacities instead of treating all users equally. Service providers posit that charging for priority on the Internet will promote investment in networks and allow for better management of congestion caused by large amounts of digital data traveling online. Google, among other Internet firms, argues that service providers are pushing for profit that would stifle online innovation and economic growth.
    "I will take a back seat to no one in my commitment to network neutrality," Obama said during a stop at Google's California headquarters. "Because once providers start to privilege some applications or websites over others, then the smaller voices get squeezed out and we all lose." -opensecrets.org

    Also, I hope to see a social revolution in the way people interact with the government.  We should be able to directly vote on the issues rather than things being filtered through a “lobbied” congress.  Or at least a nationally recognized system for tracking and providing feedback to our elected officials.

    This is a great time for us in the technology community.

     

    Disclaimer: The views represented here do not reflect the views of my employer.

    Posted by Jarrett on November 07 at 10:22 AM

© Copyright 2013 Powered by AtomSite 1.3.0.0