Keeping track of what you have seen with WtvWatch


If you are using Windows Media Center to record television shows, you have probably already developed the habit of deleting every episode that you watched immediately. Although this is probably the best book keeping strategy possible, sometimes you might accidentally delete the beginning of another show that was located at the end of the recording you just deleted. To avoid this, you might consider leaving your recordings on the disk until you are sure that you have seen everything. However, with new recordings coming in every week, this can get confusing all too fast. The primary reason for this is that Windows Media Center does not provide a built-in indication for what recordings you have already watched. With the WtvWatch plugin, you can retrofit Windows Media Center with this feature.

media-center-show-unwatchedWindows Media Center: Select the recording to mark …

To use WtvWatch, you simply need to download and extract WtvWatch.zip and run one of the Windows Installer packages contained in it. Since I am using a German version of Windows 7, I have localized WtvWatch to German (Setup.de.msi) and English (Setup.en.msi). Make sure to run the right file for your language to avoid a mixed-language user interface. Once you have installed WtvWatch, you must restart the Windows Media Center application – in case was still running.  That’s it.

media-center-more-menuWindows Media Center: … right-click and select more …

If everything went well, you should not see anything special at startup. In order to check whether WtvWatch is available, go to the TV recordings library and select any recording with the right mouse button (or the corresponding key on your remote control). From the drop down list select the “more…” option. This should bring up a dialog that contains – possibly among others – the yellow icon of WtvWatch. Selecting the icon will  toggle (that is enable or disable) the “watched” flag on the recording that you have just selected and as a side effect it will bring you back to the TV recordings library.

media-center-more-optionsWindows Media Center: … press the WtvWatch button to toggle the watched flag …

In addition to supporting manual toggling, WtvWatch also automatically sets the watched flag on recordings that you have watched for more than 10 minutes (not counting pauses). Since changing this flag requires write access to the recording, the change is not executed until you either quit Windows Media Center or you start watching something else. If everything works well, you should never have to modify the flag manually. But WtvWatch provides you with the option, in case something does not work as expected or in case you just want to mark the file as unwatched again. If you have problems with WtvWatch, feel free to leave a comment or send me an email. But before you do that, read the technical details section below.

media-center-show-watchedWindows Media Center: … and you can see the flag as an asterisk in front of the name.

Technical details:  WtvWatch works by editing the metadata of the wtv files. Specifically, WtvWatch adds and removes an asterisk and a space to the title attribute. Due to the fact that Windows Media Center caches this data, WtvWatch forces a reload of the data by moving the modified wtv file from its original location to a temp folder on the same drive that also hosts the file (e.g. C:/temp or D:/temp, etc.). Once it is there, it moves the file back to its original location where Windows Media Center will happily reload the metadata from the file. Due to this, it might take some time until you can see the recording again in its library. Specifically, if your machine is slow, you might have to close and reopen the TV recordings library. Furthermore, due to this, WtvWatch will only operate on wtv files that reside on a local drive.

media-center-wtvwatch-configurationRegistry Editor: WtvWatch’s advanced configuration options

Advanced configuration: In order to automatically mark wtv files, WtvWatch contains a background plugin that monitors the files that are displayed within Windows Media Center. Since the existing API to do such a monitoring has been deprecated without a replacement, this is done by polling at a fixed rate defined by the PollingInterval. If WtvWatch determines that the currently watched file has been watched for a certain period – the TaggingInterval – it will be marked as watched once the user exits Windows Media Center or when Windows Media Center plays some other media. Both values can be modified via the registry. Just navigate to HKLM\Software\Marcus Handte\WtvWatch (on 32-bit Windows) or HKLM\Software\Wow6432Node\Marcus Handte\WtvWatch (on 64-bit Windows) and set the entries to any positive integer value. The default values are 10000 and 600000 which means that polling occurs every 10 seconds and a file will be marked if it has been watched for over 10 minutes. Note that WtvWatch does not consider paused or stopped states on the media when calculating this time. If you are unclear about that, you can set the Debug registry key to anything else than 0. This will enable (annoying) popups whenever the polling thread executes.

media-center-wtvunwatch-helpCommand Line: WtvUnwatch enables batch processing

Advanced tools: In addition to the Windows Media Center plugin, WtvWatch ships with a command line tool (WtvUnwatch.exe) which allows you to mark and unmark files in a batch. Just run the tool from a command line. This will generate some simple instructions on how to use it. WtvUnwatch takes two parameters. The first one sets the mode, i.e. mark as watched or remove marks, and the second specifies either a single file or a directory in which all files shall be modified (non recursively).