Recorded TV Manager Add-in for Windows® Home Server

Links:

HP MediaSmart Server Webinar and Q&A Transcript

We Got Served

MS Windows Home Server

Code2Fame Challenge Honorable Mention

Windows is a registered trademark of Microsoft Corporation in the United States and other countries.

Home Server Add-in

Recorded TV Manager Tab

Collections

Select a series

1. Select a series to collect.


Choose a collection location

2. Choose a location to collect the series.


Choose a Media Center to watch the collection

3. Choose a Media Center computer to watch the series on.


AutoMove

AutoMove

AutoDelete

Settings
Drasch Computer Software

We Accept PayPal

Copyright © 2008
Drasch Computer Software

MCECollections Beta 1 - Play Next

March 24, 2008

Play NextMCECollections is the working name for a planned suite of Vista Media Center functions (Media Center Presentation Layer Application) which will provide access to and control over your recorded TV collection as defined by Recorded TV Manager Add-in for Windows Home Server.

Play NextPlay Next is the first of these functions and it provides an easy-to-use add-in to the Vista Media Center user interface to play the next episode in a recorded TV series collection, regardless as to where it is stored on the Home Server network.

IMPORTANT: This software will only run on Windows Home Server networks which have Recorded TV Manager Add-in for Windows Home Server already installed and functioning. See Prerequisites

Note: This is Beta software and contains errors.  See Known Problems With This Build for a discussion of these errors.

Prerequisites

In order for this Vista Media Center add-in to run on a client computer, the following conditions must be true:

  1. The computer must have Windows Vista Home Premium or Vista Ultimate installed and be capable of playing recorded TV files (dvr-ms files).  Primary Media Center machines fit this description by default, but the software will also run on other Vista machines which do not contain TV tuners.  See Playing *.dvr-ms Files
  2. Windows Home Server Console must be installed and the computer must be connected to the Windows Home Server.
  3. Recorded TV Manager Add-in for Windows Home Server must be installed on the Home Server.  There must be at least one folder defined in the folder list and there must be at least one Collection defined using the Collections wizard.
  4. Recorded TV Manager WHS Client Version 3.4.5 should be installed and running correctly on the client computer.
  5. Optionally, the AutoCopy Restart Service should be installed and running on the Windows Home Server.

Back to top

Download and Install

Download and install the following msi file on the client computer:

MCECollectionsInstaller.msi (879K)

The installer will register the application with Media Center and add a Play Next entry point on the Recorded TV menu strip.  It will also add an entry point on the More Programs page which, for now, just opens the same Play Next page.

The first time you access the Play Next page, if the "loading collections" page does not appear in a reasonable amount of time, backspace and then restart Play Next.

If you try to run MCECollections on a Vista system which does not have Recorded TV Manager WHS Client installed, you will get a Media Center dialog which says, "This add-in requires Recorded TV Manager WHS Client" and the add-in will not load.

Back to top

What is a Collection?

In order for a series collection to appear on the Play Next page in Media Center, the following conditions must be met:

  1. In the Recorded TV Manager tab on the Windows Home Server Console, in the Collections Wizard, the series collection is enabled.
  2. In the Collections Wizard, the series is NOT being watched on a specific Media Center computer.
  3. There is at least one current recording of the series.

Back to top

What is the 'Next Episode'?

The 'Next Episode' to play is determined as follows:

  1. If the 'last watched episode' is known, then the next episode is the next recording selected by original air date.  When you 'Play' the next episode from this page, the episode is automatically checked and marked as the last watched episode.  See Series Info Update Issues for important information.
  2. If the last watched episode is not indicated, then the next episode is always the first one by original air date.
  3. Sometimes the recordings do not have valid original air date information.  In those cases, the "next episode" is somewhat random but will probably follow date recorded.

Back to top

Using Play Next

The Play Next page has a scrollable list of series collections (as defined above) on the left hand side of the screen.  Each series in the list also indicates the number of current recordings in parenthesis.  The right side of the screen indicates the currently selected series and the next episode (as defined above).  Select the series to play and then click OK to play the next episode of the selected series within Vista Media Center.

When you play the next episode from the Play Next page, the Series Info database will be updated as follows:

  1. The episode is checked.
  2. The date watched of the episode is set to the current date.
  3. The last watched episode of the series is set to this episode.

The software will issue a series update request as described in Series Info Update Issues.  Whether or not the update request is processed will determine how the Play Next page will behave after the episode finishes playing. 

After playing the selected episode, Media Center will return to the Play Next page.  The 'next episode' on the right side of the screen will not update unless you either move focus off the series (select a different series) and then back on, or backspace out of Play Next and then restart it.  The next episode will change only if the  Series Info update request has been processed, otherwise it will not change.  If the watched episode is deleted after playing, then the next episode will say No Episode.

Developer's Note: In order to play multiple consecutive episodes of the same series using Play Next, Version 3.4.5 of the client application must be running somewhere on the network to continuously update the last watched episode for the series.  This functionality will be migrated to the server at some point, but I need to hear more from Microsoft on the WHS Data Corruption bug before I make any major changes on the server side.  Future Beta builds of MCECollections will attempt to make this process more transparent.  Leaving the client app running is basically the same as leaving Windows Explorer running, and does not consume much in the way of resources unless you are using it for something.

The last watched episode for a series can be changed using the Recorded TV Manager WHS Client application.

  1. Start the client application on a network computer.
  2. From the Tools menu select Series Info...
  3. Select the series in the drop-down list.
  4. Right-click on the episode and select Last watched episode.

Back to top

Series Info Update Issues

The Series Info database (Series.xml) keeps track of series episodes which have been recorded, date watched and last watched episode.  These items are used to determine the next episode to play.  You can view/edit the Series Info database by selecting Series Info from the Tools menu in the client application.  When you play an episode from the Play Next page in Vista Media Center, the Series Info database needs to be updated.

Because of the WHS Data Corruption Bug, this software does not update the Series.xml file directly.  Instead, it writes a series update request to the Data folder on the WHS.  Version 3.4.5 of the Client application has been modified to consume these series update requests (*.upd files) to reduce the danger from the WHS bug.  The Client application processes these update requests and then writes the modified file back to the WHS in its entirety, which is reportedly immune to the bug.

For the purpose of this Beta software, in order for the Series Info database to be updated, you must run Version 3.4.5 of the Client application somewhere on the network.  As part of its startup code, Version 3.4.5 processes all pending update requests.  You can also leave Version 3.4.5 running on the network somewhere and it will automatically process update requests 5 minutes after they are made.  The reason for the five minute delay is to reduce the chances of file access collisions.  See Known Problems With This Build for more information.

The behavior of the Play Next page is affected by whether or not the Series Info database is updated or not.  See Using Play Next for more information.

Back to top

Know Problems With This Build

File Access Collisions

Each of these processes are independent of one another, but when two (or more) try to access the same file at the same time, it creates a problem because one or more processes will be denied access to a key file.  Depending on the sequence which generates the error, you may encounter one of the following error conditions:

  1. If the AutoCopy service is denied access to AutoCopyEvents.xml, the AutoCopy service will stop.  The AutoCopy event may or may not be completed depending on where (when) the collision occurs.  No data (recorded TV) will be lost, it just may not be moved or copied as expected.  Install the AutoCopy Restart Service on the WHS to insure that the AutoCopy service is always restarted automatically in the case of this error.
  2.  When loading the Play Next page in Vista Media Center, if the add-in cannot access either Series.xml or AutoCopyEvents.xml, you will get a Media Center message box which says either "Missing the file <file>.xml" or Error on file <file>.xml".  In either case the add-in will not start and Media Center will return to the previous page.  In most cases, just wait a bit and then try again and the problem will go away.
  3. If, in the case of (2) the problem does not go away (rare but possible), it may require restarting Media Center, or restarting the Media Center computer or the WHS, or even uninstall/reinstall the Recorded TV Manager Add-in.

Developer's Note:  It's very hard to simulate the exact conditions which cause these errors.  I have added some heuristics to the code to reduce the likelihood of collisions and that seems to help.  Future builds of the software will continue to address this problem.

Back to top