andy vt's tools & blog

automating lazy

This Blog


andy vt's blog

August 2006 - Posts

  • A couple hours with pre-RC1

    I downloaded Vista pre-RC1 yesterday and figured I'd give Vista another go.  I had installed beta 2 when it came out and reinstalled XP after 3 hours of playing with it, so I had pretty low expectations, but since I had a spare HD, my investment was pretty low.

    I must say how impressed I am with how far Vista has come since Beta 2, it still has a long way to go before I'd call it stable (WMC crashed on me during setup), but certainly a huge improvement. 

    One thing that I really liked was the automatic driver installation, for people who don't know what's in their box that will be a huge help.  I was all set with a USB key full of drivers and expecting to spend at least 30 min sorting out the hardware, and was very impressed when everything that wasn't installed in the setup routine was identified and the appropriate drivers automagically installed.

    I don't have anything that arcane in the box, so I guess it's not that huge, but XP can't do it so I was impressed.  I do want to point out, because I couldn't find it anywhere on the web (hopefully Google will pick this up and save someone 5-10 min), that my Avermedia m150 TV tuner card works with Windows Vista.

    When I tried out Beta 2 I didn't spend much time with WMC; I ended up getting too frustrated with the slowness and instability of the OS to really do much.  This go around I spent about 45 min messing around with WMC. 

    First impression is that the interface is very pretty, I'm not sure I like it yet (usually takes me a while to warm up to new UI, so I'm going to reserve judgement).  My Music is much faster, and I really like the mini album art view, although it seems to show my albums in duplicate.  There was a bug in 2005 when viewing Albums in the art view where typing the album name didn't work (switching to list view fixed the problem), so I never used the art view (and it is much slower on 2005).  I need to remember to see if that is fixed.  I didn't really see anything that really stood out in WMC v MCE that would make me want to stop using MCE, just a lot of eye candy.  The eye candy is nice, very nice in fact, but there is a tradeoff between the familiar and that, and while the navigation seems better thought out; it's not as linear, so it takes more clicking (I don't have a remote for that machine, yet) to get where I'm trying to go. 

    I need to spend more time with Vista, I'm happy that it's finally in a state where I can do it.

  • Keepactive

    I got a 8125 (HTC Wizard) WM5 PPC recently, and it was great. My only complaint was that it wasn't very stable, I had to reset the device every few days to keep it working well.

    Then came MSFP. Along with some new features, it increased stability to the point where I don't even think about it anymore. The problem was that one of the new features was a password prompt every 10 min (or so) that I wasn't interacting with the device. Not a big deal, except when I was trying to use Nav software, or talk on the phone for extended periods (having to type in the pin to mute/unmute sucks).

    So I wrote an application to remove the annoyance.

    Keepactive is a WM5 application (.net 2.0 required) that will post a configurable keypress at a configureable interval when a configurable application window is active.

    Main screen lists the last application, the current application, and if the current application is in the watched list (to keep the screen active).

    Interval is how often, in minutes, to send the configured key to the device. I set mine to be just below the MSFP timeout value (every 8 minutes where the timeout is 10 minutes).

    Key To Send is the key to send to the application. If the default (numlock) causes problems, any virtual key can be selected. In my testing numlock didn't have any effect on the device.

    Add an application to the watched list by running the application, then starting (or activating) Keep Active, the Active Windows list will list all windows currently running on the device. Select the title of the window you want to add to the list, and click Add.

    Repeat key press can be used to send the same key multiple times.

    Watched application display in the Windows Watched dropdown. If you want to remove one, select it from the list and click Remove.

    Posted Aug 29 2006, 07:44 AM by babgvant with no comments
    Filed under:
  • WMP Buffer Overflow?

    I started getting this message on my MCE at home any time I play music through WMP or MCE (which uses WMP under the covers). I'm guessing it's some thing wrong with McAfee, but if anyone knows what's up drop me a line.


    Installing Patch 13 for VirusScan seems to have made the problem go away.


    Installing Patch 13 did not make the problem go away, it just happens less frequently. I added wmp to the excluded list for buffer overflow detection in VirusScan, not entirely convinced that it's the best way to solve the problem, but for lack of a better solution...
  • Who owns my PC?

    "Microsoft revealed today that no 32-bit versions of Windows Vista will be able to play back “next generation high definition protected content”"

    This is the opening paragraph for this article over at  The article talks about how Steve Riley, a Senior Program Manager at MS, gave a presentation at TechEd 2006 about how 32-bit Vista (v32) will not playback HD-DVD or BlueRay content. 

    First off, let me say that I don't see how this is possible.  "Next generation" hd content plays in XP, if you have the right hardware and software.  Unless MS is removing some underlying functionality there, I don't see how they could stop it from working. 

    If it is possible, and somehow v32 cannot playback protected HD content, this could have a serious impact.  How will will your Best Buy or Dell consumer know that they need to buy their new PC with v64 instead of v32?  What happens when they get it home all excited about their new WMC and find that there's a major feature set difference b/w the two.  The issue with v64 is that only drivers that have been approved and digitally signed by MS will install and run.  And according to Riley, this is exactly the reason why this feature will be missing in v32.

    Maybe OEM's will solve this problem by only selling v64 on their WMC line of computers, using v32 in the "Home Basic" line.  But with the upgradablity features built into Vista there could be a lot of "Home Basic" users out there that feel ripped off when they don't get the same Vista experience as the v64 folks.

    If the OEMS do go with a v64 approach, will they disclose to their buyers that they won't be able to run hardware that isn't "approved" by MS?  If they don't go with v64, how will they explain to their customers that their brand new PC can't play HD-DVD?


    It looks like this news created quite a stir (as it should), and there have been clarifications and assertions on the topic from some well known and well placed people.

    Boiled down, it looks like Vista won't do anything to restrict playback of "next generation" content, but it will be up to the software/hardware makers to make it work.  Perhaps what Riley was driving at in his talk was that the people who need to enable "next generation" content with their offerings won't be offering 32bit versions of the bits that make it go.  Or maybe he was wrong.

  • Some DVRMSToolbox QA

    ArcCoyote asked some good questions about the new FWThrottle action in the support thread at TGB.

    Q. What exactly does the Throttle action do vs. settings in Filewatcher?
    A. The fw settings (in the settings tool) are global defaults for the fwthrottle action; which can be configured to override the settings (if you don't want to do live detection in a particular show for e.g.)

    Q. Does the Wait/Poll settings in FW control how long FW will wait before launching the DVRMStoMPEG process?
    A. all of the throttling has been moved out of the fw into the fwthrottle action. now the fw only detects a new show and immediately executes dvrmstompeg.exe. in the fwthrottle action wait and poll work the same way that they did in the fw previously (wait is the time (min) to wait after lastmodified, and poll is how often (sec) the lastmodifed is examined).

    Q. Does the '# of workers' control how many DVRMStoMPEG processes FW will launch before waiting for some to finish?
    A. # of workers is the number of "active" dvrmstompeg processes. where active means processing a file, not running in taskmgr. dvrmstompeg will wait until it is given permission to run. (it uses a semaphore to control this number). one thing to note here, is that dvrmstompeg will not try to become "active" until it moves out of the wait/poll stage. if you change the # of workers, make sure your machine can handle it. really the only reason to modify this value is if you have more than one tuner.

    Q. And is the throttle action is how long that DVRMStoMPEG process will wait before processing the file? Or something else?
    A. The throttle action is used to control the wait time, but it's primary function is to ensure that only the configured number of instances of dvrmstompeg can become "active" at the same time.

  • X2's are fast

    I upgraded my MCE this weekend to a Athlon 4200+ x2 (socket AM2) this weekend; from a Sempron 3100+ (socket 754) based machine. The clock difference b/w the 3100 and the 4200 isn't that great (400 MHz), so XP "feels" a little faster but not by much. The real difference has come with the dvrms processing.

    I set up a profile to remove commercials, convert the show to wmv, and copy it to my phone. Note that this isn't for the same file, but it is for the same show (The Daily Show) which always has the same amount of commercials. All times are in min:sec format

    - Find commercials: 3:48
    - Cut out commercials: 1:07
    - Convert to WMV: 21:28
    - Copy to PPC: 3:36

    - Find commercials: 3:43
    - Cut out commercials: 0:32
    - Convert to WMV: 9:13
    - Copy to PPC: 2:57

    I'm really impressed at the gap in the cutting and converting stages. The x2 is more than twice as fast (not entirely surprised as there are 2 proc's in the box).

    Now I just have to convince Jere Jones (the author of ShowAnalyzer) to SMP enable SA:)

  • Audio Processing in Vista Explained

    This post over at AVS Forum explains some really cool stuff that MS is doing with audio processing in Vista.
    Posted Aug 21 2006, 07:42 AM by babgvant with no comments
    Filed under:
  • MediaBookmark

    Wrote an add-in that allows you to bookmark the current position in a media file and return to it later similar to how bookmarks work for dvr-ms files. It works for dvds (including dvds on the HD using My Movies), videos, and audio files.

    Got a beta if anyone is interested -

  • YacAddin

    I wanted to get caller id information on my MCE, but I don't have a free slot for a modem. After trying out TAPIRex, which I couldn't get to work; I found the MCE Yac Add-In that Ethanz wrote ( Got Yac to work on my server, but I didn't like that I couldn't get caller id notices when MCE wasn't running...

    Incorporated the guts of Ethanz's MCE Add-In into a windows service that will listen for Yac messages from a remote machine and publish the messages to any interested application on the machine (could be modified to work with other machines, maybe later...). Multiple users can subscribe to the messages on the same machine, and any application can add Yac support by using the YacClient object created.

    The basic architecture uses Tcp based remoting to pass events from the YacClientService to any client that subscribes to the service using a YacClient object. Because this uses Tcp based remoting, and the YacClientService is a Tcp based server, any software firewall product will need to be configured to allow it. For client applications (not windows service) this process should be relatively painless, the firewall product should prompt you if it's OK to allow it to happen, but the windows service will start automatically and you may not get prompted so the port will have to be added manually.

    There are four applications.
    - YacClientService: windows service, listens on port 10629 (this port will have to be opened on your machine if you use a software firewall product) for caller id notices from the YacServer application ( You will need to provide user credentials during the installation process; I used my creds on the machine, but you can create a special user too. When prompted the user name must be in the format "MachineName\UserName" (no quotes), enter the password twice and you're all set.
    - YacClientListener: windows form, runs in the taskbar and waits for messages from the YacClientService. The installer will add a shortcut to the Startup folder, this application is just a listener so if you don't want it to run just delete the shortcut.

    Both of these apps only need to be installed once per machine.
    - YacAddIn: MCE add-in that waits for messages from YacClientService. There's a cmd file included in the zip to install the addin.
    - YacService: optional windows service to install on the machine with the modem and YacServer running. Allows the YacServer to run as a server, so you don't have to log in to make YacServer run.

    UPDATE - a new version of has been added, this version adds a checkbox asking if it should auto start the service. NOTE: I forgot to hide the other checkboxes on the new installer page, ignore them they don't do anything.

  • Windows Live Writer

    I been using Windows Live Writer to write some posts; and while I really like it, it does weird things with images when I include them in the post.

    For example.  I inserted a 9kb png file in my last post, it uploads the file to the server, but in process converts it to two files one that is 53kb and the other is 25kb.  They need to add an option to not mess with my images.

  • Creating Custom Actions for DVRMSToolbox

    In DVRMSToolbox profiles are pipelines made up of a series of actions where continuation to the next stage in the pipeline is dependant on the success of the previous stage. Actions are atomic units of work that will be performed on the file as it makes it's way through the pipeline. The diagram below demonstrates this model.

    The tool includes several actions out of the box, but also allows a degree of extensibilty. Because of this, it is easy for anyone [who can program] to create their own actions.

    There are a couple guidelines that every action must follow. They must inherit from Durrant.Common.BaseAction, and they must be marked as serializable.

    As I stated earlier, profiles are collections of actions, they actually work by specifing a set of objects that all inherit from BaseAction, setting properties on those classes, then serializing the collection, with the objects, into a binary file which can later be loaded and used to process the file.

    To start, open up VS.NET 2003 and create a new class library project called "SampleAction". Delete the Class1.cs (or vb) file, and replace it with a new class "HelloWorld.cs". Now add a reference to Durrant.Common.dll, modify the class to inherit from BaseAction, mark it as Serializable, and override GetDescription, and Process so it looks like the image below. Note that this.Success is set to true before leaving Process. BaseAction.Success is the property used by the pipeline engine to determine if it should continue to the next action.

    Build the project, and copy "SampleAction.dll" to the DVRMSToolbox installed directory (C:\Program Files\DvrmsToolbox for e.g.). Open up DVRMSToolboxSettings.exe, and click New Profile to create a new profile. Give the profile a name and description, then click Add.

    Select the new action from the list, then click Select.

    Click OK on the Configure dialog. Note that the bool property WriteDate is displayed, and can be checked/unchecked.

    Click Save, and you're done. The profile can now be called like any other profile.

    This is an example of a very simple action, I've included another action in the project that does something much more interesting (it will run a custom graph against a file).

  • WHAT?!?!?

    MCE doesn't support HD DVD or Blue-ray in Vista? I'm surprised that I didn't know that before, but not half as surprised that the feature isn't there. Wow.

    Somebody please tell me this is just a Beta 2 thing...
  • LcdWriter

    I got sick of watching "" scroll on my lcd display on my media center pc, and there were some features that I really wanted to see (like recording notification). So I decided to take a look at how hard it is to write MSAS state to the lcd display.

    LcdWriter (I'm good at naming applications ;)) was the result. It does all the usual things that a MCE lcd writer should do; displaying the current media file, and it's play state (play, stop, pause, etc). But it also implements other state information that no other (at least to my knowledge) state display writer does; the currently recording show and disc writing status. LcdWriter will only work on Hitachi HD44780 compatible displays (most parallel port displays are this type), check your manufacturer's documentation to see if your display is HD44780 compatible.

    Session priority (e.g. playing music while watching a slide show creates two sessions, priority indicates which will be displayed on the lcd) is managed through the config tool. Select the session and "Raise" or "Lower" its priority using the buttons. Some sessions (like Global and Home) support custom text. Select the session, and change the "Display Value" to the desired text.

    The icons that are displayed for the play states are configurable.

    Click save when you're done.


    For those who needed to customize the number of "Renders"; change HKLM\babgVant\LcdWriter\renderCount to a different value (2 should work) from the default value of 1.

    The new version will also write to the Event Log when it starts and whenever anything bad happens.


  • Something I'm working on.

  • Vista and MCE

    First off, I really like MCE 2005; the earlier revs were cool but stability was a big issue (didn't stop me from using them, but it hurt the WAF). 2005 was a big improvement, and rollup 2 made it so I don't even have to think about tinkering with it. I was really looking forward to Vista and the changes to MCE that are coming with it, thinking a good product could only get better. But there are a couple things that really worry me.

    The last PC I bought was a Dell P100, back in 1995 (I still have it btw, running Smoothwall). I will never buy a prebuilt PC. I like to know what's in the box; I like to spec it out, do the research on everything from the case to what kind of HD is in the box. One of the great things about PCs (v. Mac) is that there are so many options available. You can build your perfect PC, balancing cost and performance (doesn't hurt that it's cheaper). But the validity of that hobby takes a serious hit with Vista. I know I can still build my own pc, but for the first time I cannot have a better PC by doing that. Does the platform become a better platform for it?

    DRM is part of MCE 2005, it just doesn't effect me. I don't have HBO, or any other channel that uses CGMA, so it's largely a non-issue. In XP DRM exists, but in Vista DRM it's baked in. I understand the content industry's rationale for HDCP, but it takes me one step further back from owning my box (and the content on it). I use Mytray to change channels and record content over firewire. I used to be able to record every channel, now only the locals will record because every other channel uses 5C. If I get a pc with an OCUR, what will I be able to do with the content? Will every channel use the same "protection" that HBO uses? Will I be able to scan the file for commercials? Will I be able to manipulate it, cut it up, convert it to WMV, or watch it on my PPC?

    The beauty of the PC, and the PC based DVR, is that you own the box. Don't like something- write code to change it; want to make your games faster - add memory, a faster CPU, or a better GPU; but what happens when those things are certified by someone else? Can you change them? Will upgrading your video card break all of your TV shows? Will upgrades have to be purchased from the vendor who sold you the PC, if so aren't we taking a big step back (I'm sure they will charge you the street price for that new video card)?
More Posts Next page »
@2008 andy vt
Powered by Community Server (Non-Commercial Edition), by Telligent Systems