My Telly Version 1.01 Contact: thomast@hexi.com http://www.hexi.com/thomast/mytelly Installing: 1. Install the JRE 1.4.0 or later from: http://java.sun.com/j2se/downloads.html 2. unzip MyTelly.zip into a directory 3. run: MyTelly.bat (if under windows). MyTellyMacLinux (if under Mac or Linux) Features: - Download television listings from the "Zap2It Data Direct Service" by labs.zap2it.com - View listings in a Grid. - Create searches for items you are regularly interested in. - Mark items to add to your favorites search. - Create a Schedule that can be printed, exported to html, or exported to TVPI (supported by various Personal Video Recorder (PVR) programs. Notes: - As of May 10, 2004, Zap2It will likely have changed their website so that the HTML Scraper Grabber that is included in MyTelly will no longer work. You will have to use the new "Zap2It Data Direct" grabber. New installations of My Telly will no longer show the HTML Scraper as a choice in the configuration dialog. - Once running, click on the configure toolbar button (or the tools/configure... menu item). The "Zap2It Data Direct Service" requires you to register by filling out a survey. Choose "Zap2It Data Direct Service" from the drop down box. If you haven't registered yet, click the register button. The certificate you need to register with (ZCYM-ZI4N-IBUT) has been copied to the clipboard. Once you have registered, put the userid and password you registered with in fields of the configuration dialog box. - Click the Update toolbar button (or the tools/update... menu item). This will take around 30 seconds to a minute. You can cancel at any point. - You may also run MyTelly_debug.bat if you are having problems. It will dump some debug info to a command-line window. Known issues: - 1.0: If you choose linups from Zap2It that contain duplicate stations, but different channels only one of the stations will show programs. And it might not be correct. The data coming down from Zap2It does not seem to have any way to distinguish which scheduled program goes to which channel. They are only linked to stations. - Beta 6+: With the new "Zap2It Data Direct" service, you may end up running out of memory during the retrieval of the data and the subsequent parsing. If so, try in creasing the amount of maximum memory allowed by editing the -Xmx128m parameter in the - Beta 3+: Now requires Java 1.4.0+. - Alpha 8: The grid view is slow with the new SQL backend. This control needs to be rewritten to properly take advantage of scrolling, etc... New: Release 1.01: X Updated to latest release of the Zap2It Data Direct Client (1.3.2). Fixes the "java.io.IOException: Not in GZIP format" error that some people have exprienced. Release 1.0: X Fixed: Java version detection would fail on Java 1.5+. X Some UI adjustments so that it looks ok in Java 1.5. X Added item text coloring based on categories. Colors can be configured by editing the config.xml file. X Make sure Zap2It Direct Data is selected when no config file exists. Beta 6: X New Grabber: Zap2It Data Direct WebService. This is a service that you must register for using the certificate: ZCYM-ZI4N-IBUT. The benefit is that you can get a week's worth of data in about 30 seconds. X Old Grabber: The Zap2It HTML Scraper will no longer show up as an option for new installs. Zap2It is changing their site and the HTML Scraper will have to be completely rewritten. Currently, there isn't much reason to do so given the nice new service provided above. X Fixed: If no favorites identified, no longer returns all programs. X Fixed the "Now" button so that it picks the right day when the list of programs spans across the new year. X Fixed case where some Canadian providers re-use channel numbers for more than one Station. Beta 5: X Added an option in the config.xml that tells whether to use GMT in the TVPI format. X Reorganized the code to be put in packages. X Zap2It Fix: Format for getting providers changed. X Removed crimson.jar from distribution since JRE 1.4.x has all that we need. X Fixed scrolling in the search names column of the search tab. Beta 4: X Fixed: Optimized the determination of stop times by making sure it only happens once. This should speed up startup time from Beta 3. X Quick Fix: Ignore 500 error from Zap2It when downloading channels. Beta 3: X Fixed: Updated scraping to account for latest Zap2It site changes. X Fixed: bug generating the end time for an item in programs.xml when a program crosses over midnight. X Added the ability to export the schedule to .tvpi format used by some PVR programs. X Added a start date for updating data from the web. Can be set from the update launch dialog. X Fixed: Removed custom UI form toolbar buttons when run on Mac OS X to prevent Exception. X Fixed: Switched to 1.4.0 spinner in the UpdateLaunchDialog. Now works for Mac OS X. X Fixed: Exception when saving quick searches. Beta 2: X Changed scraped URLs to tvlistings.zap2it.com from tvlistings2.zap2it.com. May only be a temporary fix. X Modified the Retry mechanism during listings download to re-initialize the connection component. Hopefully, this will help eliminate the continued inability to get a page once a timeout error has occurred. X Disabled "Run Search", "Edit Search", and "Delete Search" in the Search menu when the Search Tab is not selected. "New Search" will now take you to the Search Tab when completed. Beta 1: X Modified toolbar so that it works correctly in Sun's JRE 1.4.0. X Modified scraper so that it correctly scrapes the subtitles for programs when running under Sun's JRE 1.4.0. X The schedule is now purged of entries older than the current day when the app is started. Alpha 10: X Moved database compaction out of the shutdown process so that the app closes faster, while still keeping the data files from growing uncontrollably. X Fixed: Running the update dialog standalone wasn't properly initializing the database, so the XML was being grabbed, but it wasn't being imported. X Fixed: Edit search dialog would lock up on "OK". Alpha 9: X Fix: Changes to the program listings grabber adjusting to changes at the Zap2It website as of May 1, 2002. X Fix: Channels table was not being reset on update. Alpha 8: X Progress dialog for running searches. X New SQL storage for programs and channels. Requires less memory, though not perfect. Note: make sure that hsqldb.jar is in your classpath if you aren't using the supplied batch files. X Import XMLTV files generated by other sources. (Only tested with files generated by My Telly so far). Alpha 7: X Fixed: paging with the scrollbars in the TV Grid didn't page the correct number of columns or rows. X Fixed: Exception when clicking outside the actual grid. Didn't affect function, but cleaner. X Removed debug output during printing. X Fixed: bug when a stop time is not parsed correctly from listing and not entered into the xml. X Change: "Cancel" in the Update dialog will now cancel retries. X Change: Changed the Retry dialog during update. Added a "Retry Now" button and changed "Cancel" to "Skip". Alpha 6: X Added the ability to launch the update dialog from the command line for automated updates. X Update now notifies user if the zipcode and provider haven't been chosen yet. X Fixed bug in the enabling of the Next Day button. X Fixed: Grid scrollbar's extents not set correctly until the app is resized. X Fixed some message dialogs that were resizing incorrectly since moving to the native OS Look and Feel. X Fixed: Editing a search would complain about a duplicate search name. X Printing: A basic 4 column layout for the schedule has been implemented. No configuration at this point. Ignores page range selections in print dialog. Alpha 5: X Added "Select All" and "Select None" to Channel edit dialog. X Update launch dialog X Configure the number of days to scrape. X Configure the timeout during scraping X Configure the retry delay X Changed how I was handling mouse clicks so that it is easier to click checkboxes, etc... X Made dialog boxes (I think I got them all) appear in the middle of the app instead of the screen. Alpha 4: X A few more tweaks to better fit local OS. Mostly trying to fit the Mac checkbox in better, though I don't like the look of it. I may go back to drawing my own. Also, Update dialog adjusted to look more natural. X Output schedule to HTML X Select channels you care about. X Better toolbar icons :) X 'Now' button to take you to the current time in the grid. X Day advance buttons in Grid. X Fixed: Grid: Clicking in the middle of a program, but near a column start, will check the program. X Confirm the user wants to update. Alpha 3: X Fixed bug where app locks up if you click on the "Search" or "Schedule" tabs when no programs.xml has been loaded. (Null pointer) X Added a shell script that should run on a Mac OS X machine (MyTellyMac). X Now tries to take on the look and feel of the host system. (not sure I like this yet) X Adding to Favorites from various tables X Restrict Favorites search to titles and whole titles match only. X context sensitive popup menus. X About box. Alpha 2: X Add to schedule from Grid X Tools menu X The grid should now be correct at the end of the day. X Add wait cursors X Out of memory after "update" appears to be fixed. X Search creating / editing X Favorites creating / editing X Quick Search X Save main frame coords on exit and resize to those coords when starting. X Splash screen To do: - Write a parser for the Zap2It Data Direct service that doesn't take up so much memory. - Add the ability to cancel the download without updating the database. - Import current XMLTV format. - Grab and import multiple providers. - Memory usage - Make initial startup (first time) cleaner: Display configuration dialog and prompt for update? - Keyboarding in tables and grid. - Update printing to latest Java printing model. - Rewrite grid component to be more Swing like. Credits: Original code to grab html listings derived from work by Jerry Veldhuis. XMLTV format developed by Edward Avis. Both works can be found at http://www.doc.ic.ac.uk/~epa98/work/apps/xmltv/ The HTTPClient package used is Copyright (C) 1996-2001 Ronald Tschalär and can be found at: http://www.innovation.ch/java/HTTPClient/ . This product includes Hypersonic SQL. My Telly comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. For details, see the GPL.TXT file or go to http://www.gnu.org/copyleft/gpl.html Copyright (c) 2002-2005 Tom Talbott