MCE 2005 STB Controller

Firewire recording/channel change, Serial DirecTV channel change, USB R5000HD recording/channel change

Introduction

This package supports:

1.  Channel change over firewire for livetv and recording, works with MCE and extenders

2.  Channel change over serial port (DirecTV) for livetv and recording, works with MCE and extenders

3.  Channel change over USB (R5000HD and USB Sky Controller) for livetv and recording, works with MCE and extenders

4.  Recording over firewire for MCE and extenders

5.  Recording over USB (R5000HD) for MCE and extenders

6.  Supports 1 to 4 STBs (UI only configures 2)

7.  Configuration via MCE->More Programs

8.  Vista RC1 with limitations – 32bit only, UAC must be disabled

Note: until recently there was a bug in recording that meant recordings had the incorrect header. The latest versions of firestb record correctly. Vista RC1 (not earlier) will play these incorrect recordings but “Recorded TV” thumbnails will not be shown, see first FAQ for how to fix this problem.

 

 

It supports the following STBs for recording and channel change via firewire:

·         Motorola DCT-3412 (Tested – channel change)

·         Motorola QIP-6200 (Tested – channel change)

·         Motorola DCT-6200

·         Motorola DCT-6208

·         Motorola DCT-6412

·         Motorola DCT-6416 (Untested)

·         Motorola BMC-9012 (Tested – channel change)

·         Motorola BMC-9022 (Untested)

·         Scientific-Atlanta 3250HD

·         Scientific-Atlanta 4200HD

·         Scientific-Atlanta 8000HD (Untested)

·         Scientific-Atlanta 8300HD

Note: You must disable UAC for MyTray to work on Vista.

 

It supports the following STBs for recording via firewire:

·         169time STBs supporting the avx1

 

It supports the following STBs for channel change and recording via USB:

·         Nextcom R5000HD STBs supporting USB

 

It supports channel change of Sky STBs using the following controller:

·         USB Sky STB change channel controller

 

It supports external executable programs that can change channel, e.g. Sky Redeye (Untested).

 

It supports the following DirecTV STBs (New and old command set) for channel change via serial port:


·         DirecTV D10

·         Hughes HIRD-B3

·         Hughes HIRD-B4

·         Hughes HIRD-D4

·         Hughes HIRD-E4

·         Hughes GCEBO

·         Hughes GCEBOA

·         Hughes HAH-SA

·         Memorex MSD5000

·         Optimus 5100

·         RCA-DRD102RW

·         RCA-DRD203RW

·         RCA-DRD303RA

·         RCA-DRD502RB

·         RCA-DRD221RD

·         RCA-DRD222RD

·         RCA-DRD223RD

·         RCA-DRD225RD

·         RCA-DRD420RE

·         RCA-DRD430RE

·         RCA-DRD440RE

·         RCA-DRD460RE

·         RCA-DRD480RE

·         RCA-DRD430RG

·         RCA-DRD430RGA

·         RCA-DRD450RG

·         RCA-DRD450RGA

·         RCA-DRD451RG

·         RCA-DRD451RGA

·         RCA-DRD485RG

·         RCA-DRD435RH

·         RCA-DRD455RH

·         RCA-DRD486RH

·         Sony SAT-A1

·         Sony SAT-A2

·         Sony SAT-B2

·         Sony SAT-B3

·         Sony SAT-A4

·         Sony SAT-A50

·         Sony SAT-B50

·         Sony SAT-A55

·         Sony SAT-B55

·         Sony SAT-HD100

·         Uniden UDS-100

·         Uniden UDS-200


 

It will make SD and HD recordings over firewire. Firewire recordings include Closed Captioning.

 

It runs in parallel to an existing MCE STB analogue tuner, you must have a working STB system before starting; this package needs MCE to record from the STB via the analogue tuner; i.e. this package doesn't replace the need for the analogue tuner.

You must leave the IR receiver connected but if you use firewire or serial channel changing you should remove the IR blasters from the STBs and hide the IR emitters.

What does it do?

When the MCE is using a STB, the MCE receives from the STB via the analogue tuner in the MCE. This video is SD composite or S-Video even if the show being received by the STB is in HD.

This package records from the STB in parallel to the MCE recording from the analogue tuner. It records from the STB via the firewire connection. This connection gives you a copy of what the STB receives, whether it is HD or SD.

The way the package works is that it monitors when MCE starts recording. It works out which tuner the MCE is using; from there it works out which firewire connection to use to talk to the correct STB. It then requests from the STB a 2nd copy of the show. This 2nd copy is put into a .dvr-ms file. When MCE stops the recording the firewire recording is also stopped. The meta-data in MCE recording is then copied into the firewire recording so the information such as Title, actors, etc. that MCE shows is also part of the firewire recording.

 

Once set up to use this package, there is little difference in using MCE. Recording is done using MCE as if you are recording as normal from a STB. The difference is you get a two recording for each show. If you only want one recording, see the FAQ for how to do this. You will always get 2 recordings during the recording of the show and you can stop the recording only via the MCE recording (the entry with the red mark).

If the show is protected with 5C=1 then recording via firewire fails and only the MCE recording exists. If the STB is a DCT-3412, SA3250HD, SA8000HD or SA8300HD and the show is analogue, there is no firewire recording.

Requirements

This package only works on MCE 2005. You can use a limited subset e.g. the command line apps on non-MCE Windows XP SP2 systems.

This package expects a working system with working STB(s), analogue tuner(s) and IR blaster system. It does not replace the STB, analogue tuner or IR blaster so make sure they are working correctly before you start.

The MCE machine will need a firewire connection to use the firewire recording or channel changing, and/or 2 serial ports for the DirecTV channel changer.

The MCE machine will need a USB connection to use the NextCom STBs for channel changing as well as the NextCom drivers and application package. If this package is installed using the default configuration it will be found automatically.

Acknowledgements

Thanks to DisabledTrucker @ www.avsforum.com who took my instructions (See FAQ) for mstapeo.sys and DFAs driver package and created a merged driver package that is included in firestb.msi.

 

Thanks to Zodiak @ dvbn.happysat.org who wrote the cccp.ax Closed Caption parser included in firestb.msi.

 

Thanks to Cancan101 @ www.thegreenbutton.com for the DirecTV Serial port application included in firestb.msi.

 

Thanks to everyone on www.thegreenbutton, forums.freytechnologies.com, forums.snapstream.com and www.avsforum.com who tested firestb.msi.

Downloads

Download firestb.msi or firestb-vistarc1.msi and run it. Firestb-vistarc1.msi is the later version and works on Vista RC1. It should also work on MCE 2005 but has not been tested, though several bugs were fixed that would also affect MCE 2005. After the introduction dialog, you will see this dialog

 

 

Select the required options:

·         Firewire/USB Recorder/Channel Changer Application is MyTray.exe. It is required to record or channel change via firewire. Installation will create a shortcut in Startup so it is run each time the machine is booted.

·         DirecTV Channel Changer Serial Application is MyTrays.exe. It is required to channel change via serial port for DirecTV STBs. Installation will create a shortcut in Startup so it is run each time the machine is booted.

·         Firewire Command line apps are channel.exe and channelw.exe. These are used during initial installation of firewire if you have 2 STBs to find out which STB is which, or used for SageTV systems.

·         Firewire Drivers are inf and sys files. These are used by firewire STBs to record and to send channel change commands.

 

If you selected to install Firewire Drivers you may be prompted with the following dialog:

If so, select “Continue Anyway” to install the Firewire drivers.

Once the installation is complete, you will be prompted to reboot.

 

Vista’s dialog is different but you need to select the option to install the drivers.

 

If you are using the DirecTV Serial Port application you also need to install .NET framework, if it’s not installed.

 

If you are using the NextCom STB you also need to install the NextCom drivers and application package and HDTVPump.

MCE Updates

I would recommend you install the following updates on MCE 2005:

http://www.microsoft.com/downloads/details.aspx?FamilyID=169757bb-3a50-4d8d-99bd-f24c7f1d7855&displaylang=en&Hash=TGFDL85

http://support.microsoft.com/?kbid=887170 

http://support.microsoft.com/?kbid=894480

http://support.microsoft.com/?kbid=885222

http://support.microsoft.com/?kbid=896626

http://support.microsoft.com/?kbid=896178

http://support.microsoft.com/?kbid=891122

http://support.microsoft.com/?kbid=888795

http://support.microsoft.com/?kbid=888656

http://support.microsoft.com/?kbid=892313

http://support.microsoft.com/?kbid=891220

http://support.microsoft.com/?kbid=900325

http://support.microsoft.com/?kbid=908250

MPEG2 Decoder

For Vista RC1 use the in build MPEG2 decoder.

For MCE 2005, you should already have an MPEG2 decoder installed to use Media Center for recording/playback and livetv. However, several of the earlier MPEG2 decoders don’t handle firewire recordings. The following are known to work:

·         NVIDIA MPEG2 1.02.196

 

Firewire Driver Installation

When you plug in the STB via firewire, 3 devices will be detected: Unknown, AV/C Tuner and AV/C Panel.

Cancel the New Hardware wizard for the Unknown device.

Next you should see AV/C Panel Device or AV/C Tuner Device as the hardware that was found. Choose Install the software automatically (Recommended) and click Next.

The driver should then be installed, click on Finish when prompted.

 

Repeat for the 3rd device

 

Once all the drivers are installed, go to the device manager and disable the Unknown device

 

Note: The 3rd device may be installed as Motorola Vendor Device in which case is does not need to be disabled.

Firewire Channel Change Testing

If you have 1 STB MyTray will configure itself automatically. With 2 STBs MyTray will configure itself but may get the STBs the wrong way round. The following is a way to test the STB channel changing directly.

 

Run Start Menu->All Programs->Timmmoore Firewire STB->Cmd

 

Run “channel –v”

(Only enter the stuff between the quotes, not including the quotes)

You should see something like

 

Firewire STB channel changer V1.0.9, by timmmoore

Device 1 Channel 1 Timeout 0 Dec 0

1 "FireBus MPEG2TS Tuner Subunit Device"

'Motorola AV/C Tuner Device'

"@device:pnp:\\?\avc#motorola&dct-6200&typ_5&id_0#376ed3feff5c0e00#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" 0

2 "FireBus MPEG2TS Tuner Subunit Device"

'Motorola AV/C Tuner Device'

"@device:pnp:\\?\avc#motorola&dct-6200&typ_5&id_0#84fea2feff9f0f00#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" 0

3 "Motorola AV/C Panel Device"

'Motorola AVC Panel Device'

 

 UniqueID '376ed3feff5c0e00'

 VendorID 'e5c'

 ModelID '620a'

 VendorText 'MOTOROLA'

 ModelText 'DCT-6200'

"@device:pnp:\\?\avc#motorola&dct-6200&typ_9&id_0#376ed3feff5c0e00#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" 1

4 "Motorola AV/C Panel Device"

'Motorola AVC Panel Device'

 

 UniqueID '84fea2feff9f0f00'

 VendorID 'f9f'

 ModelID '620a'

 VendorText 'MOTOROLA'

 ModelText 'DCT-6200'

"@device:pnp:\\?\avc#motorola&dct-6200&typ_9&id_0#84fea2feff9f0f00#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" 1

5 'NVTV'

"@device:pnp:\\?\pci#ven_123f&dev_8120&subsys_024810de&rev_b1#5&1ea1f09a&0&2048f0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\capture" 0

6 'NVTV'

"@device:pnp:\\?\pci#ven_123f&dev_8120&subsys_024810de&rev_b1#5&1ea1f09a&0&2848f0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\capture" 0

7 'VBox Vb35xx Capture'

"@device:pnp:\\?\usb#vid_14f3&pid_a560#600010003d#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{07ddc96b-774d-4438-aa05-23ea13e922eb}" 0

Device Id ""

Device Version "2.1.0"

 

Look for Motorola AV/C Panel Device; you will see it occurs twice for device 3 and 4, one for each of my STBs

 

Try

Channel –v 3 59

This will send a change channel command to channel 59 to device 3. Look at your STBs to see if they obey the command and if you have more than one STB which STB is which. If you want to use it with MCE note the UniqueID for each STBs and how it maps to which STB and also note which STB is tuner 1 and tuner 2 in MCE.

 

You can see in the list, device 1 and 2 are the AVC tuner firewire devices, 3 and 4 are the AVC panel devices. 5 and 6 are for my dual NVIDIA tuner card and 7 is for my USB VBox HTDV box

 

If you just want to use the command line application you are done, if you want a command line without a cmd box then channelw.exe takes the same arguments without outputting any text and output opening a cmd window. If you are controlling channel.exe or channelw.exe from another program you may want to use the –n parameter and replace the Device number by the UniqueID. Adding or removing devices will not affect the UniqueID but will affect the device number. To find out the parameters for channel.exe and channelw.exe, type channel -h, you should see:

 

D:\fire>channel /?

channel: Change channel via firewire, timmmoore Copyright 2005

Firewire STB channel changer V1.0.9, by timmmoore

 

channel -v -tN -aM -d -n Device Channel

-v: verbose

-aN: alternate commands, N = 0, 1, 2, 3, 4

     0: send channel as a single command (doesn't work while streaming)

     1: send channel as a 3 press key commands

     2: send channel as a 3 press/release key commands (default)

     3: send channel as a 3 release key commands

     4: send channel as a single command (works with SA3250, SA8X00)

-tN: timeout in milliseconds between digits for -a1, 2, 3 (default: 50)

-f: force commands to be sent on non-supported devices

-d: decimal, send channel as a decimal single key

-n: device number is firewire unique name

 

Note: Channel by default checks the firewire device and picks the correct command. Parameters should only be needed during testing of a new device.

MCE Channel Changing via Firewire

Firestb.msi creates a shortcut in Startup so MyTray.exe is run each time the machine boots.

 

MyTray can be configured from MCE->More Programs->Firewire/USB STB Settings. From this page you can enable recording, configure the handling of the MCE recordings and pick with STB is which. The check box “LiveTV” is disabled and does not work yet.

 

MyTray can also be configured from the MyTray application. Go to the system tray and double click the MyTray icon. You should see a dialog containing 2 combo-boxes, one for tuner 1 and one for tuner2. If you only have 1 tuner installed, you may only see 1 combo-box.

MyTray will have selected a UniqueID for each combobox. If you only have one tuner the UniqueID will be correct. If you have two tuners check that the UniqueID selected matches with that found with channel.

 

MCE should now be configured to use firewire and which tuner is which firewire device.

 

Remove the IR blasters from the front of the STBs (don’t unplug them) and hide them.

 

Try changing channel in MCE

 

Once channel changing is working you can try recording over firewire.

MCE Recording via Firewire

Open the MyTray dialog and enable "Recording over firewire"

 

This enables recording over firewire in parallel to MCE recording from the analogue tuner. You will see 2 recordings in MCE’s Recorded TV list. One will say it is DTV and the other will not. The DTV is the recording over firewire. It will record both SD and HD channels.

 

There is a combobox containing some options for the MCE recording: "Do nothing with MCE recording", "Move MCE recording if Firewire sucessful" and "Delete MCE recording if Firewire sucessful".

If "Do nothing with MCE recording" is selected there will be two recordings in the MCE’s Recording TV” list. The Firewire recording will be marked DTV.

If "Move MCE recording if Firewire sucessful" is selected, MCE recordings will be renamed to .dvr-ms-mce and moved into a subdirectory “Old” in the “Recorded TV” directory. If this is selected only a single recording will be seen in MCE’s Recorded TV list and the recordings will not be marked DTV.

If "Delete MCE recording if Firewire sucessful" is selected, MCE recordings will be deleted after they have been used to copy metadata to the firewire recording. If this is selected only a single recording will be seen in MCE’s Recorded TV list and the recording will not be marked DTV.

 

The check box “Enable LiveTV” is disabled and does not work yet.

 

Limitations:

1.  Only works for recording, LiveTV doesn't use the firewire tuners

MCE DirecTV Serial Channel Changing

Thanks to Cancan101 for this application.

 

Firestb.msi creates a shortcut in Startup so MyTrays.exe is run each time the machine boots.

 

First make sure there are 2 or more COM ports listed under each Tuner list.

The software has the ability to auto-detect which serial port is assigned to which tuner (as Media Center identifies them). To do this, go to Media center. Set each tuner to a unique channel. Do this by going to a channel, hitting record, and then hitting channel up. Make sure the tuners properly change channels. Now click "auto-set" Hopefully a COM1 port from each column will be selected. IF not, you are going to have to guess and check. Now click run. That's it. The text box below is where errors are displayed. Currently the software only supports the new command set. I have the code for the old command set, but I have NO idea if it works as I have no device on which to test it.

 

The "monitor only?" option will show pop-ups of what the software would be going if you had it using the serial port.

 

Currently you must have two tuners. If you don't, use Dan Glass' software.

 

MCE should now be configured to use serial and which tuner is which serial device.

 

Remove the IR blasters from the front of the STBs and hide them or unplug them.

MCE NextCom USB Channel Changing

You need to install the NextCom application and driver package and plug in the STB, See http://www.nextcomwireless.com/r5000/dvr_manual/dvr_manual.htm for details. You need version 2.2 or above of the NextCom application.

When you open the MyTray dialog and select a tuner combobox you should see an entry “R5000HD”, select this entry to use the R5000HD STB.

NextCom do not support multiple STBs, nor do they support a way to select which device to use when executing their application so only a single NextCom STB is supported.

If the NextCom application has been installed in the default directory (C:\Program Files\R5000HD) MCE channel change will now work.

If you have installed the application in a different directory then use regedit to add a String called “ChannelChange0” or “ChannelChange1” to the key HKLM\Software\Timmmoore\MCETray. The string should be set to the path to the NextCom executable r5000hd.exe, for example if installed in the directory “d:\R5000”, ChannelChange0 will need to be set to “d:\r5000\r5000hd.exe”.

USB Sky Heenan Controller

The USB Sky Controller can be used to control Sky STBs. It plugs into the MCE machine and it does not require any drivers. Once the USB Sky Controller is installed, MyTray.exe will have two new options in the combo boxes “USB Sky” and “USB Sky Plus”, selecting one of these options for a tuner will cause the USB Sky controller to be used for channel change for this tuner. Joseph Heenan supplies controllers that support 1 or 2 STBs. MyTray supports 1 USB Sky controller for either 1 or 2 STBs, i.e. MyTray does not support using two 1 port USB Sky controllers.

External program for channel change

If you want to use tunertracker to track the channels on 1 or 2 STBs and use an external program to change channels, you can configure MyTray.exe to do this. This needs to be configured via the registry at the moment. Add a String called “ChannelChange0” (first tuner) and “ChannelChange1” (second tuner) to the key HKLM\Software\Timmmoore\MCETray and set it to the command line to be executed including parameters. MyTray will replace certain parameters:

·         %T which is replaced with 0 (for the first tuner) or 1 (for the second tuner)

·         %C which is replaced with the channel number as a single string

·         %D which is replaced with a single digit, the executable is then executed 3 times, once for each digit, e.g. for channel 123, the executable will be executed once with 1, then with 2 and finally with 3, leading zeros will not be executed, e.g. 12 will be executed as 1, 2

·         %0D which is replaced with a single digit, the executable is then executed 3 times, once for each digit, e.g. for channel 123, the executable will be executed once with 1, then with 2 and finally with 3, leading zeros will be executed, e.g. 12 will be executed as 0, 1, 2

Change History

6/10/2005

1.  Fixed A/V with extenders changing channel

2.  Added support for channel change on SA3250HD

6/12/2005

1.  Missing channel changes which happens quickly after pressing record

2.  Added support for recording from www.169time.com STBs

3.  Added support for SA4200 under the assumption it’s the same as the SA3250HD (Not tested)

6/13/2005

1.  Closed Captions now in recordings, thanks to Zodiak for the cccp.ax filter

2.  Missing channel changes which happens quickly after pressing record (another case)

6/14/2005

1.  Recording twice the same show on same channel at same time fails

2.  Doesn’t always allocate a tuner when starting a LiveTV session

6/15/2005

1.  Scheduled recording starting at the same time as a livetv channel change, recording given wrong tuner

2.  Scheduled recording may sometimes get wrong tuner, when livetv stopped

6/16/2005

1.  Re-load the combo-boxes each time the dialog is opened

2.  Added Registry setting to allow the filename Prefix to be changed

3.  Close button on dialog now minimizes; to close, right click on system tray icon and select close

4.  Now packaged as a MSI installer

6/17/2005

1.  Integrated DirecTV serial channel changing into MSI installer

6/19/2005

1.  Changed order audio, video and CC goes into StreamBufferSink, works with WMP and MCE

2.  Fixed check for AverMedia Tuner

3.  Fixed a case where recording was using LiveTV tuner when it shouldn’t

6/20/2005

1.  UnMap the audio PID from MyTray filter once the audio format has been found

2.  Fixed the 6/19/2005.3 fix, messed up LiveTV

3.  Testing a fix for not always seeing PIDs (starting graph twice). This doesn’t break anything so leave in.

6/21/2005

1.  Changed name of memory mapped file MyTray opens to be session global

2.  Fixed issue if livetv on 2 or more devices using the same tuner and change channel on one, may not change correctly on the STB

3.  Added a registry setting for Closed Caption on/off

4.  Added a registry setting for the directory name that firewire recordings are made in.

6/22/2005

1.  6/19/2005.1 broken CC in MCE; fixed but breaks WMP. Haven’t been able to get CC in MCE and have WMP play video, use ClosedCaption registry setting to decide between Closed Captioning and playing in WMP.

6/23/2005

1.  Make sure MCE recording is not moved to “Old” directory if firewire recording failed.

2.  Delete firewire recording if its not complete, i.e. 5C=1 cases

6/24/2005

1.  Fixed channel.exe and channelw.exe to do supported check correctly without –v parameter

6/25/2005

1.  Added support for EnabledForMCE and ignore tuners that are disabled

2.  Added support for WatchOrder/Preferred, RecordOrder/Preferred, the STB order maybe changed from before this was enabled

3.  Fixed an issue with livetv sharing tuner with a recording

4.  Fixed an issue of freeing tuners when extender is switched off

5.  Added –n to channel.exe and channelw.exe to specify firewire UniqueID rather than device number

6.  Included an updated version of mytrays.exe

6/26/2005

1.  Fixed 6/25/2005.3, MCE shares with recording but not livetv

2.  Fixed 6/21/2005.2, multiple session conflict only worked if all had tuners, now works if only some sessions had tuners

3.  Fixed 6/21/2005.2, copied channel incorrectly when changing channel with multiple sessions

4.  Fixed recording conflict needing to take livetv tuner delaying until start of show

6/27/2005

1.  Fixed a recording tuner allocation problem when there are 2 livetv sessions and a scheduled recording is started. If one of the livetv sessions is stopped the wrong tuner is picked for the recording

2.  Added a registry setting to enable/disable the DTV flag in the firewire recording

3.  Added a registry setting to enable/disable the ATSC flag in the firewire recording

4.  Updated audio parser to get audio_acmod and lfeon parameters from audio stream. Change Directshow graph create code to set the number of channels correctly on the MPEG2 demux audio output pin from audio_acmod and lfeon parameters

6/28/2005

1.  Fixed a problem where the MCE recording file is not found

2.  Time the timeout between sending digits to the STB for channel change, if the timeout was too long, retry since the STB will timeout

3.  Check that the MCE recording has all the metadata before we copy to the firewire recording

4.  Fixed an issue where tuner wasn’t being freed and a new tuner allocated when channel number changed between < 1000 and >= 1000 (ATSC)

5.  Lower the priority of the metadata copying thread so it doesn’t interfere with other recordings/channel changes

6/29/2005

1.  Retry copying metadata if failed to set attribute

6/30/2005

1.  Fixed metadata failing if 2 recordings finish at the same time

7/01/2005

1.  Fixed creating firewire recording directory

7/02/2005

1.  Changed what is done with mce recordings when moved to OLD directory, renamed to .dvr-ms-mce so MCE doesn’t see them

2.  Changed order to moves to cover art now appear in Recorded TV details for firewire recordings if MCE recordings are moved to OLD directory

3.  If MCE records are to be moved firewire recordings are not marked with DTV and ATSC

4.  Added checkbox to UI to enable move MCE recordings to OLD directory

5.  Fixed a case where recording took a livetv tuner and channel didn’t change correctly

7/03/2005

1.  Integrated LiveTV changes into MyTray, checkbox to enable LiveTV. LiveTV streams to temporary StreamBufferSink. Temporary files deleted on shutdown and startup. Changes to modify MCE play graph not integrated

7/04/2005

1.  Fixed a case where recording took a livetv tuner and channel didn’t change correctly

7/05/2005

1.  Switched to Visual Studio 2005 Beta 2, fixed a number of changes between beta 1 and beta 2

2.  Added check for no firewire devices configured but system has valid analogue tuners and firewire devices, just assign them to each other. For 1 device works, for 2 devices may be in wrong order and user must change

3.  Added sbsins.dll to package

7/06/2005

1.  Fixed not setting number of ATSC tuners correctly, if no ATSC tuners

2.  Fixed 6/28/2005.4

3.  Handle case of all LiveTV sessions using a tuner are stopped. Tuner is free for record to use

4.  Fixed issue if never get pid and leave on channel, continuous errors in log, stop reading pids after 20sec

5.  Updated runtime dlls to go with new version of Visual Studio

7/07/2005

1.  Fixed 2 issues with 7/05/2005.1

7/08/2005

1.  Fixed another issue with 7/05/2005.1

7/11/2005

1.  Fixed an issue with logging of subtitles

7/13/2005

1.  Fixed an issue with 6/25/2005.4

7/16/2005

1.  Created a DLL version of channel.exe and added to package

2.  Add support for SA8000HD and SA8300HD (Untested)

7/20/2005

1.  Added option to delete MCE recordings if firewire recording is successful

7/22/2005

1.  Modified channel.exe, etc. to support channel numbers >= 1000

2.  Modified installer to install or update the .inf file

7/23/2005

1.  Fixed a problem with 7/05/2005.2

2.  Updated readme.htm for driver installation changes

3.  Added registry key for Max STB channel number

7/25/2005

1.  Fixed a problem with reading devpath from registry in MyTray

2.  Check if multiple remote clients running MyTray.exe and only the first controls the STBs

7/27/2005

1.  Added support to run MyTray as a service. The service controls the STBs and does recording. MyTray run from Startup group displays channel/recording but doesn’t control the STBs

2.  Add registry notifications when MyTray registry settings change

7/28/2005

1.  Fixed a bug with 7/27/2005.2

2.  Fixed an issue with PID parsing if querying for PID information before the parser is fully initialized occurs

7/29/2005

1.  Fixed a bug with sharing tuner but channel is not yet known

8/2/2005

1.  Added support for AIW tuners and tidied up the tuner checking code

2.  Added support not to truncate logs if 2 or more copies of MyTray running in different Winsta’s

3.  If multiple copies on MyTray running in different Winsta’s, first MyTray does channel changing and recording other copies just display information and allow configuration of MyTray

8/3/2005

1.  Tied up the logging code

2.  Fixed 8/2/2005.1

8/5/2005

1.  Check the inf file for additional supported STBs

2.  Added registry setting to disable channel change via MyTray

8/6/2005

1.  Added option to execute an external program to change channel rather than use firewire, e.g. NextCom R5000 supplies a command line app to change channel and does not supply an SDK to allow other applications to change channel, only support for STB tuners

8/7/2005

1.  Check explicitly for R5000HD device and default external program configuration correctly for the R5000HD

2.  Add %T parameter to external channel change program for tuner number

3.  Added registry option to pick first or last PID detected

8/8/2005

1.  Increased maximum number of ATSC tuners to 2 for Roll-up 2

2.  Added support for an external record program, assumes recording to a .ts file and then processes the file to a .dvr-ms file, copying meta-data from MCE recording

8/9/2005

1.  Tested on Roll-up 2, recording and channel change works

8/10/2005

1.  Fixed a number of issues with 8/8/2005.2

2.  Reducing logging for device searching and registry setting loading

3.  Add combobox selection and default selection for R5000HD

4.  Number of attributes in dvr-ms increased to 83 with roll-up 2

5.  Check CurrentBitrate in firewire recorded dvr-ms and if HD recording set new roll-up 2 WM/WMRVHDContent metadata attribute

8/11/2005

1.  Fixed an issue if one tuner but DevInstance is 1

2.  Add check for USB Sky STB change channel controller and to send it change channel commands

8/12/2005

1.  Fixed not sending –rem ok at end of a r5000hd channel change

2.  Fixed not starting record for a r5000hd

3.  Add start r5000hd.exe when select it R5000HD as STB, otherwise causes problems if multiple copies are running

4.  Assume r5000hd.exe is set to save recorded .ts files in “Recorded TV\Fire”

8/13/2005

1.  Fixed 8/12/2005.3

2.  Added timeout between digits for R5000HD channel change

8/20/2005

1.  Added a registry entry to record only HD recordings

8/21/2005

1.  Added hdproxy.exe which on Roll-up 2 calls into MCE to mark recorded item as HDTV so the HD logo appears on HD firewire recordings

2.  Added support for R5000HD.exe with filename on command line

3.  Add MCE version check for Roll-up 2 so hdproxy.exe is not called on Roll-up 1

4.  Fixed a problem with hdproxy.exe where setting the HDTV flag wasn’t writing recordings.xml to disk

8/22/2005

1.  Extended hdproxy.exe so it can set or reset HDTV, ATSC and DTV flags in recordings.xml

2.  Fixed r5000hd recording, didn’t generate filename correctly

3.  Added support for r5000hd.exe > 2.0a filename parameter, disabled until update released

4.  Fixed a problem with r5000hd channel change with leading 0s

8/23/2005

1.  Fixed a number of issues converting .ts files to .dvr-ms files

2.  Changed r5000hd to use %D rather than %0D

3.  Added a separate channel digit timeout for r5000hd

4.  Changed R5000HD to send commands to running application via WM_COPYDATA

8/24/2005

1.  Fixed an issue with channel up and down with r5000hd

2.  Minimize r5000hd.exe after starting it

8/25/2005

1.  Fixed an issue with r5000hd dropping an intermediate digit

2.  Changed .ts to .dvr-ms conversion to act after .ts recording is finished

8/27/2005

1.  Closed Caption needs to be disabled for new extender

2.  Fixed an issue with IsAudioAC3 attribute, if fails to be set doesn’t fail the recording

3.  Modified channel.exe, channelw.exe and channel.dll –d parameter to access full range of AV/C Panel buttons 0-127 with ‘0’ being 32

4.  Add capability of sending exit button after changing channel, removes the STB program info popup on channel change

8/29/2005

1.  Allow registry keys SetATSC and SetDTV to have value of 2 which means set regardless of MCE recording move setting, default SetATSC to 2

8/31/2005

1.  Call hdproxy.exe for ATSC and DTV to set these flags in recordings.xml

2.  Work round for new extender not generating LiveTV events after 1st time

9/1/2005

1.  Fixed ref count issue on tuner when share tuners

2.  Print out error codes when tuner allocation/connect fails

3.  Work round for Roll-up 2 when an error occurs, LiveTV session is closed and a new session is opened. LiveTV event doesn’t occur

9/2/2005

1.  Add another AIW tuner detection

9/10/2005

1.  Included new sbsins.dll MCE graph modification code

2.  Changed graph event stopping code so don’t get invalid events on stopping the graph

3.  Added sbstest.exe into the package

4.  Added vob2dvrms.exe into the package, converts .ts and .vob files to a .dvr-ms file

9/12/2005

1.  Added different device code to list to restart after S3 resume, SA3250HD reports different device code

9/13/2005

1.  Changes to only restart device on S3 automatic resume, not manual resume

2.  Added a restart device if get firewire device fails with NO RESOURCES, helps S3 resume problems

3.  Fixed a problem writing commands to Sky USB controller

9/14/2005

1.  Merged code from vob2dvr-ms into MyTray for converting .ts to .dvr-ms files

9/15/2005

1.  Updated vob2dvr-ms to support multiple vobs being converted a .dvr-ms file, takes a directory structure of “Name\VIDEO_TS\*.vob” and converts to “Name.dvr-ms”. You lose secondary audio streams, sub-pictures, etc.

9/16/2005

1.  Fixed an issue with generating filename for R5000HD converting .ts to .dvr-ms

2.  Fixed an issue not starting R5000HD recording correctly

3.  Fixed a number of issues with vob2dvrms, now supports an output directory argument

9/17/2005

1.  Fixed an issue with vob2dvrms with file extensions

2.  Fixed an issue with S3 and Motorola STBs

3.  Read duration from .ifo header when converting from .vob to .dvr-ms and write to .dvr-ms metadata

4.  Re-write the tuner allocation algorithm to fix case of 2 recordings and watching livetv on the same channel as 1 of the recordings

9/18/2005

1.  Increase the number of STBs being tracked to 4

9/20/2005

1.  Fix for 9.1.2005.3

9/22/2005

1.  Send volume up/volume down command to Motorola STBs before start recording, DCT-6412 mutes itself when it stops recording, this means firewire does not get an audio stream

9/23/2005

1.  Increased the time difference from current time to match on a MCE recording

2.  Fixed an error in .ts to .dvr-ms waiting for incorrect file

9/24/2005

1.  Fixed an error in .ts to .dvr-ms conversion needing unique profile name

2.  Enabled R5000HD 2.1 command line support

9/25/2005

1.  Fixed 9/24/2005.2

2.  Fixed an issue with multiple .ts to .dvr-ms conversion graphs running simultaneously

3.  Increased timeout waiting for initial PIDs

4.  Changed installer to check for Media Center before installing

5.  Add MCE HTML page to configure Firewire

9/26/2005

1.  Increased the MPEG2-TS PID timeout

2.  Check the bitrate of the recording and fail the recording if its too small

9/27/2005

1.  Fixed a number of bugs in HTML MyTray configuration page and ActiveX control

2.  Added a channel mapping table to R5000HD support

9/28/2005

1.  Fixed bugs in 9/27/2005.1

2.  Fixed bugs in 9/27/2005.2

3.  Fixed an issue with recording with tuners in use for livetv, should take most preferred tuner

4.  Add wait if firewire recording is unavailable due to access denied, likely due to be firewire recording is being watched while recording, will wait for 30 minutes before giving up

9/29/2005

1.  Added support for 1-10 ranges in SkipChannels

2.  Added MaxSTBChannels, ClosedCaption, FastChannel and SkipChannels to HTML configuration page

9/30/2005

1.  Added support for recording onto a different drive than MCE’s “Recorded TV” directory. Registry “Directory”, should be of style \\?\D:\Recorded TV\Fire”, “D:\Recorded TV” should be on the watch list. Firewire recordings are created in “D:\Recorded TV\Fire” and moved to “D:\Recorded TV” when finished and metadata added

2.  Added 169time.com version 8d6 version to supported list

3.  Fixed 9/29/2005.2

10/1/2005

1.  Fixed 9/30/2005.1. Registry “Directory”; should be of style \\?\D:\Recorded TV\Fire”, “D:\Recorded TV” should be on the watch list. Firewire recordings are created in “D:\Recorded TV\Fire” and moved to “D:\Recorded TV” when finished and metadata added

2.  Fixed updating of 9/29/2005.2

3.  Modify PSI parser to make it more reliable to stream errors

10/2/2005

1.  Fixed auto device restart code for crash restart

2.  Fixed 10/1/2004.3

3.  Removed SkipChannels from HTML configuration page until can get it working

4.  Fixed 9/28/2005.3 didn’t handle 2nd recording correctly with 2 STBs

10/3/2005

1.  Added SkipChannels to HTML configuration page, # and – both work for ranges, e.g. 1-10 and 1#10 mean the same, allows use of remote control to enter ranges

2.  Modified the MoveFocus code to work better with a scrollable list of spinners

3.  Modified the bitrate failure check to require a bitrate > 1.8Mbps before the recording is considered good

10/6/2005

1.  Add registry DWORD SendPower, will send power command to STB on suspend and resume

2.  Adjusted bitrate check for HD to 8Mbps, down from 10Mbps

3.  Modified installer to correct mytray.mcl during install if not installing in default directory

4.  Fixed 10/6/2005.1

10/7/2005

1.  Added support for Motorola BMC-9012

2.  Fixed a tuner allocation problem, recording channel X, watching livetv Y, starting recording next program on X, should take tuner for livetv

3.  BMC-9012 uses firewire command 0, added to special STB command table

10/8/2005

1.  Changed format of Closed Captioning in StreamBufferSink. Closed Captioning now works with WMP and extenders, new filter between CCCP and SBSSink

2.  Removed MCE check in installer

3.  Made PnPID checks case-insensitive

10/9/2005

1.  Fixed detection of Philips based tuner cards

2.  Modified installer to re-instate MCE check but have a command line parameter to override check: msiexec /i firestb.msi IDENT=”1” will install on a non-MCE machine

10/23/2005

1.  Changed load listbox logic in mytray.exe and traycon.dll to handle > 2 tuners, where first 2 tuners are not STB tuners

2.  Changed tunertracker logging to allow for > 2 tuners, where first 2 tuners are not STB tuners

10/24/2005

1.  Fixed vob2dvrms to set Duration property to correct value, converting faster than real-time seems to set Duration to conversion time rather than actual converted file play time

10/25/2005

1.  Fixed Duration property in .ts to .dvr-ms conversion, same problem as 10/24/2005.1

1/14/2006

1.  Rebuilt using RTM Visual Studio 2005

1/15/2006

1.  Use the –w_hide flag on R5000HD v2.2 to start Nextcom minimized

2.  Changed visual studio projects for mytray.exe, tunertracker.dll, kill.dll, channel.exe, channel.dll, channelw.exe, vob2dvrms.exe and ccfilter.ax to embed manifest

1/17/2006

1.  Changed installer to include merge modules for C++ runtime and MFC

2.  Changed mytray.exe to static MFC library and removed MFC merge module

3.  Fixed array index overrun in SetAC3Attribute, cause crash on start of recording

1/18/2006

1.  Fixed buffer overrun when zeroing WM/MediaCredits

2.  Fixed a lot of wcscpy_s buffer size issues

1/22/2006

1.  Fixed IsAudioAC3 metadata, been failing to write metadata attribute since rebuilt with RTM. Now writing attribute correctly

2.  Added DCT6416 to supported PnP IDs

3.  Sometimes failed to move firewire recording with shared access, if MCE is displaying information about file. Retry in this case

4.  Set WM/MediaCredits to large value at start of recording, seems to fix large time delay to copy metadata after recording

2/3/2006

1.  Added Post execute in channel.dll

2/4/2006

1.  Fixed bug in 2/3/2006.1

2/11/2006

1.  Added support for DCT-3412

2/12/2006

1.  Build 2 versions of hdproxy.exe (MCE 2005 rollup 2 and Vista), MyTray checks OS version and uses correct version

2.  Changed installer so will install on Vista

3.  Changed stop recording so Control Stop is on another thread and can be timed out

4.  Tested firewire recorded .dvr-ms files from MCE 2005 on Vista MCE. HD files do not play in MCE but play in Vista Media Player

2/13/2006

1.  Changed installer so works on both Vista and MCE 2005. Command for non MCE machines is msiexec /i firestb.msi IDENT=0

2/18/2006

1.  Fixed installer so More Programs entry works on Vista. Vista doesn’t allow mytray.mcl to be written in Program Files directory so write it in %temp% directory

Next Vista issues:

·         Tunertracker memory mapped file not being created

Create tunertracker as a separate process and have tunertracker MSAS send messages to the service. The tunertracker service needs global name create privilege

·         Firewire .dvr-ms recordings not playing in Vista MCE (but does in WMP 11)

2/19/2006

1.  Fixed case of sharing tuner between livetv and recording. Channel tracking may be incorrect when get pay event on livetv

2.  Fixed case when allocating tuner to recording and sharing tuner with other sessions, shouldn’t change other sessions channels if recording hasn’t received channel information yet

3.  Created one file containing all the PnPIds of STBs supported and use it in all programs

4.  Can’t create global memory mapped file on Vista if not in Session 0. For now remove Global from memory mapped file so will not work with terminal server sessions and extenders on Vista. Also don’t will not work except with first logged in user and don’t log that first user off

5.  Fixed 2/18/2006.1 so on MCE 2005 when %windir% is “c:\windows” registration still works

6.  Changed .dvr-ms format so audio and video is in Encrypted/Tagged format

2/21/2006

1.  Fixed 2/19/2006.6

2/22/2006

1.  Another go at fixing 2/19/2006.6

2.  Modified MyTray so if it is installed as a service, creates memory mapped file and modified TunerTracker so if it correctly starts MyTray as a service opens memory mapped file

3/2/2006

1.  Added support for QIP-6200 STB

3/5/2006

1.  Fixed issue in TunerTacker when all STBs are in use with livetv and a recording starts and one of the STBs is watching the same channel as recording, wrong STB maybe used

2.  Fixed an issue in vob2dvrms with relative directories

3.  Fixed an issue in ccfilter.ax causes issues with CC

3/8/2006

1.  Fixed issue in installer so installs correctly on non-MCE

3/9/2006

1.  Fixed a couple of issues in .inf file

2.  Fixed issue in installer so doesn’t multiple copy the inf file

3/14/2006

1.  Fixed a issue when recording a livetv channel

3/15/2006

1.  Fixed ClosedCaption problem, doesn’t completely fix it. Seems to work on some channels but not others – works for analogue channels and some digital channels.

3/16/2006

1.  Missing a Release for ClosedCaption Directshow filter

4/8/2006

1.  Check tuners found in registry are actually running

4/20/2006

1.  Fixed an install issue on non c: drives

6/15/2006

1.  Fixed an issue with format of video in dvr-ms file, caused problems playing files back on Vista. Thanks to the Media Center group for finding this bug and letting me know.

6/17/2006

1.  Fixed an issue with logging, when an extender shutdown, there is a continuous log of that in the log file.

2.  This version installs on Vista with UAC disabled, doesn’t mean it works on Vista.

6/18/2006

1.  Fixed a tuner allocation error.

6/22/2006

1.  Updated hdproxyv.exe for Vista beta 2.

2.  Added directory monitor that monitors directories in WatchedFolders registry key. If you are running a MCE that uses recordings done on another MCE machine this will update the HD attributes for the UI

6/23/2006

1.  Added fixdvrms.exe to package to fix dvrms files that will not play on Vista.

6/25/2006

1.  Installs on Vista Beta 2 with or without UAC enabled but UAC must be disabled to run correctly (Control Panel->User Accounts->Change security settings, uncheck “Use User Account Control (UAC) to help protect your computer”.

2.  Modified inf file so Unknown device on DCT6200 is installed with no driver, no need to disable the device.

3.  Firewire channel change hangs on Vista. Disabling firewire channel change on Vista, recording works.

7/9/2006

1.  Fix for tuner allocation when recording while watching same channel while recording on 2nd tuner (thanks Ray Kuss for finding scenario).

7/10/2006

1.  Add MFC merge module into installer, otherwise mytray.exe will not run if an MFC is not installed on the machine.

8/10/2006

1.  Fixed a crash if run mytray.exe or channel.exe on a machine with no video capture devices.

9/2/2006

1.  Built hdproxyv.exe against Vista RC1.

2.  Enabled firewire channel change on Vista, working with RC1.

3.  Removed null driver messed up inf file.

4.  Vista RC1 adds more attributes to recording, allow for them, skip WM/Picture, MCE will add it if not there.

5.  hdproxy.exe/hdproxyv.exe not run if move MCE recording

9/3/2006

1.  Updated fixdvrms.exe, didn’t catch all cases. Also added –us and –uh to force header into HD or SD resolution.

2.  Corrected an error in checking for memory mapped file already existing, fixed extenders on Vista.

FAQ

My recordings do not play on Vista?

I had an error in MyTray and it marked the dvr-ms files incorrectly. Vista Beta 2 checks and fails to play these files. This error is now fixed and new recordings play on Vista. I believe Vista is removing this check but if you want to play older recordings in Vista Beta 2, use fixdvrms which is a command line program installed with the package.

      Fixdvrms [-u] name.dvr-ms

Without –u fixdvrms will check each file specified and print out whether it has an incorrect header or not. With the –u argument it will fix the header. Only a single file name can be supplied but it may include wildcards e.g.

      Fixdvrms –u *.dvr-ms

Will fix all dvr-ms files in the directory.

What about Live TV?

I believe this is possible and I am working on it.

Can I use it to control more than 2 STBs?

The package now tracks 4 STBs; however this has not been tested above 2 STBs.

How to I install on a non-MCE machine?

The package by default checks for MCE 2005. However, the drivers and command line utilities are useful on non-MCE machines, to install on a non-MCE machine run the following command:

 

MSIEXEC /i firestb.msi IDENT=0

Are HD recordings really HD?

The recordings that are recorded via firewire are in the format that is sent from the cable company, so HD is HD. This does mean large files; an HD recording is often 7.5Gbytes per hour.

Note: While digital SD and HD are sent directly from the Cable Company without the STB changing it; analogue SD channels are encoded by the STB and different STBs will encode differently. I have seen the same show via 2 STBs (both DCT-6200) with different encoding.

Note: Scientific-Atlanta STBs do not support conversion of analogue channels to MPEG2-TS for firewire, so with these STBs no firewire recording will be made for analogue channels.

The Motorola DCT-3412 does not support conversion of analogue channels since it does not contain an analogue tuner.

How do I tell which recordings are HD?

Before rollup 2 this was difficult. With rollup 2 there is a HD logo shown in recorded show information for firewire HD recordings.

What about 5C?

This package doesn’t bypass 5C protection. If a channel has been 5C protected by the cable company then you will not be able to record the show using this package. The normal SD recording made by MCE will still be available.

To check whether 5C is enabled for a channel on a DCT-6200, 6208, 6412:

 

There are 2 types of SA3250HD, to check whether 5C is enabled for a channel depends on the type (try the instructions for one type and if it doesn’t work try the other).

For a SA3250HD with SARA software:

·         On the box itself (not using the remote), press and hold the "+" button for a few seconds, the "envelope" light will come on blinking. (the + button is the "bulls-eye" in the middle of the 4 "arrow" keys).

·         Press the "info" key next

·         19 pages of data are available. Use the left / right navigation keys to move thru pages. Firewire port status is last or second to last page. SA will show CCI/EMI state rather than use the "5c" nomenclature. This is shown channel by channel so you must change channels to check state of the channel of interest

·         Quit by pressing the "exit" key on the front panel.

 

For a SA3205HD with Passport software:

·         Go to your diagnostic channel (try 996)

·         Press "exit" on the STB, a new screen opens

·         Scroll down to 1394, it will display info for the last channel you tuned to

 

If 5C is enabled then firewire recording will not work for that channel.

I see 2 recordings in MCE Recorded TV list?

This is correct; this package records a 2nd recording. You can tell the difference in that the firewire recording will show up in MCE as a DTV recording.

If you select "Move MCE recording if Firewire sucessful", MCE recordings will be renamed to .dvr-ms-mce and moved into a subdirectory called “Old” in the Recorded TV directory. The subdirectory will be automatically created. MCE recordings will only be moved if the firewire recording completes successfully.

Note: The MCE recordings are not deleted, but are renamed to .dvr-ms-mce.

If you select "Delete MCE recording if Firewire sucessful" the MCE recordings will be deleted after use.

I don’t get any firewire recordings

Make sure "Do nothing with MCE recording" is selected, otherwise the MCE recording is moved out of the Recorded TV directory or deleted and it is difficult to tell if the recording is a firewire recording or the MCE recording. Once you are sure firewire recording is working then select Move MCE recording or Delete MCE recordings.

If “Do nothing with MCE recordings” is selected and there are not two recordings per recording then the firewire recording is failing. There are four reasons this can fail:

·         “Enable firewire recording” is not checked

·         STBs do not have firewire enabled. Check that you have firewire tuners and AV/C Panel devices in the device manager, also check the FAQ for 5C to access the STB firewire settings

·         The show is protected, if the cable company has set 5C=1 for that show that there will be no firewire recording. See the FAQ on 5C to see how to check for