How to Setup

The easy way:

Warning: You need to use EyeTV internal tuner for this to work; not S-Video or composite (RCA) cables to listen to TV. i.e. EyeTV must be able to change channels by itself for EEP to work. This is a limitation in EyeTV.

1. Install EyeTV EPG Proxy using the installer.

2. Continue with step 7 below. The installer took care of all the rest!


The hard way:

1. Install the PHP binaries for OS X from this page: http://www.entropy.ch/software/macosx/php/
Note: Choose the package for Apache 1.3
Note 2: The default PHP 4 install from Mac OS X 10.4 won't work! You need PHP 5 with SOAP enabled.

2. In TextEdit, create a new file with this content:
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName data.titantv.com
    DocumentRoot /Library/WebServer/Documents/eyetv-epg-proxy
</VirtualHost>
<VirtualHost *:80>
    ServerName partners.titantv.com
    DocumentRoot /Library/WebServer/Documents/eyetv-epg-proxy/dataservice.asmx/partnertools
</VirtualHost>
<Directory /Library/WebServer/Documents/eyetv-epg-proxy>
    AllowOverride All
</Directory>

Save the file as /private/etc/httpd/users/eep.conf

3. Go in System Preferences > Sharing
Disable Personal Web Sharing (if it's enabled).
Enable Personal Web Sharing.

4. Create a new folder in /Library/WebServer/Documents called "eyetv-epg-proxy".
Create a new folder in /Library/WebServer/Documents/eyetv-epg-proxy called "dataservice.asmx" (yes, it looks like a filename...)

5. Copy eyetv-epg-proxy.tar.gz in that new folder (dataservice.asmx)
Extract it by double-clicking it.
Delete both eyetv-epg-proxy.tar.gz and eyetv-epg-proxy.tar files when you're done extracting.

6. In Terminal:
sudo chown www /Library/WebServer/Documents/eyetv-epg-proxy/dataservice.asmx/cache
sudo chmod 777 /Library/WebServer/Documents/eyetv-epg-proxy/dataservice.asmx/cache

More than important notice:EyeTV EPG Proxy stopped functioning on September 1st 2007 for Canadians. This is when Zap2It, the provider of the data used for Canadian EPG, stopped offering their data for free. You can read a little more about this here. Sorry to everyone who was using this daily, as I was.


7. Get a Zap2It Data Direct account: go to http://labs.zap2it.com and create a new account.
When asked for a certificate code, enter: ZYZM-TE5O-SBUT
Configure your Zap2It account with the correct Lineup that you want to receive in EyeTV.
Important Note: Only enter one Lineup per Zap2It account!

8. In TextEdit, open /Library/WebServer/Documents/eyetv-epg-proxy/dataservice.asmx/config.inc.php; enter the details of your provider, and your account information to access Zap2It data. Change all the text that looks like 'your_xxx_here'.
Here's an example of what a configured file would look like:
<?php

$config = array();

$config['providers'] = array(
'A_00001' => array('epg-source' => 'zap2it', 'type' => 'cable', 'desc' => 'Videotron', 'city' => 'Montreal'),
);

$config['zap2it_access'] = array(
'A_00001' => array('username' => 'gboudrea', 'password' => 'something'),
);

?>

The type of a provider is important. If you don't use the correct value, the Channels Lineup dropdown menu in EyeTV will be empty.
Step 5.a of the EyeTV Installation instructions will tell you how to verify that you have the correct value.

9. [Optional] If you want to override some channel names (I prefer my own names instead of using Zap2It channel names), then create a file named "providerId.channels" (Example: "A_00001.channels"), and enter each channel name in it. The format is: channel_number[TAB]channel_name
See example.channels to see how it should look like.

Important note about the .channels file

EyeTV seems to keep a cache of the channels lineup (including channel names) on it's side. If you want to change the channel names from an already existing .channels file, you need to also change the provider ID in your configuration to disable any cache that EyeTV might keep.

For example, if your provider ID was A_00001, and you want to change your A_00001.channels file, first rename it to A_00002.channels, then edit your config.inc.php to change A_00001 for A_00002 and finally rename cache/A_00001.cache to A_00002.cache. Then, in EyeTV, select again your channel lineup to see your changes.

Continue with either XMLTV Installation instructions (if you're not in Canada) or the EyeTV Installation instructions.