Me -  GPG -  Palm Freeware -  PalmOrb -  Tipsy -  Showtimes -  XBOX Noise


Showtimes  -  Setup  -  FAQ  -  Whats New  -  Contribute  -  Submit Bugs/Suggestions

Showtimes v0.5
A freeware movie showtime database
for the Palm Connected Organizer

For the latest version of this document, please visit the Showtimes website.

Frequently Asked Questions


General

What is Showtimes?

Showtimes is a movie showtime database/browser.It lets you download current, local movie showtimes from http://movies.yahoo.com/ and browse them on your Palm Connected Organizer.

Starting with v0.3, you can also download from http://cinema.scoot.co.uk/ thanks to a contribution from Gareth Watts (gareth@omnipotent.net).

Starting with v0.4, you can also download from http://www.allocine.fr/ (thanks to AlloCine for providing a custom page just for Showtimes!), and from http://movies.yahoo.com.au/ thanks to a contribution from Duncan Sargeant (dunc@rcpt.to).

Who wrote it?

The majority of the program was written by myself, J Robert Ray, please mail me if you use Showtimes and enjoy using it.
Au.Yahoo downloading capability was contributed by Duncan Sargeant (dunc@rcpt.to).
Scoot downloading capability was contributed by Gareth Watts (gareth@omnipotent.net).

How was it written?

The PalmOS portion of Showtimes was developed in C using the win32 port of GCC.

A good place to look for more information about PalmOS development is Palm OS Programmer's FAQ.

Can I get listings in ... ?

The perl script that downloads the listings data from websites is designed so that new modules for new websites can be created by 3rd parties. New sites can be supported by writing a module to parse the desired website. Examine the contents of existing modules (the *.pm files) to get an idea of how to create a custom module.

If you create a new module, please send it to me.

Installation

What are the files and where do the they go?

Unpack the zip into a new directory where ever you would like to install the program. Take care to maintain the directory structure of the zip.

showtimes.prc-this should get installed onto your Palm device.
SampleData/*-these are some sample data you can install if you would like to try out the program right away.
Script/getdata.cfg-the configuration file that you modify to customize what the script does.
Script/getdata.pl-this is the perl script that downloads the data.
Script/FlipReg2.exe-this is a small program to set the registry to tell the HotSync program to copy the data to your Palm device. It is necessary if you are running Windows. You should put this program in the same place you put the getdata.pl script, and place the DLLs in a subdirectory called 'dlls' (or in your path).
doc/*-local copy of the on-line docs

Where do I get perl?

Windows users no longer need to download perl, because Showtimes for Windows comes with a compiled version of the getdata.pl in the form of getdata.exe.

If you are running Windows, you can get a precompiled binary from ActiveState.
Mac users can find a precompiled binary from MacPerl.com.
Otherwise, you can go to http://www.perl.com/ to find the perl sources, or binaries for other OSes.

Why Perl?

Perl is great for string manipulation, and is perfectly suited for this task: parsing an HTML file. Also, it is available for a myriad of platforms, and so allows Showtimes to reach a larger audience of people.

What else do I need?

If you are downloading the Windows or Mac version of Perl for the first time, you should get everything you need. But if you already have Perl installed, or have trouble running the script, you also need the libwww-perl module. The easiest way to get this is to download a precompile zip of it from ActiveState.
Installing a module on other platforms can be slightly more challenging. Download the sources for libwww-perl from the link above or from CPAN.

Can I get the data without Perl?

Justin Beech has created a web gateway will generate the .pdb's and mail them to you. Unfortunately he has abandoned the project, but it has been picked up again. More information is available at ShowtimesToGo.com.

Also, Windows users can use the compiled version of the perl script, getdata.exe. Configuration / Troubleshooting

How do I configure Showtimes?

You need to modify the getdata.cfg file before you run the script. Instructions for what to change can be found inside that file.
The basic steps are:

  • Visit a supported website to find the URL(s) for your area.

  • Cut and paste the URL(s) into the appropriate place in getdata.cfg.

  • Set your USERNUM, or if you are not using Windows, set the destination directory to where you install prc/pdb files from.

See the setup page for more detailed instructions.

How do I edit getdata.cfg? I click on getdata.cfg but nothing happens.

You can edit getdata.cfg with any text editor, such as Notepad. Start Notepad, then use the menu to open getdata.cfg, or drag the getdata.cfg icon into the Notepad window.
Make sure you turn word-wrap off, or you may run into trouble.

For example:

Click your start button.
Click "Run...".
Type "notepad".
Press return.

[Notepad pops up.]

Click the "Format" menu item.
If "Word Wrap" has a checkmark by it, click "Word Wrap".

Drag the icon for getdata.cfg into the notepad window.

Change the zip codes in the URL lines.

Click the "File" menu item.
Click "Save".
Click the "File" menu item.
Click "Exit".

[Notepad goes away.]

Double-click the getdata.exe icon.
Hotsync your Palm.
[Repeat last two items as necessary.]

Why doesn't the data update during hotsync?

You are responsible for running getdata yourself to download new data, it does not happen automatically during Hotsync.

There is an experimental conduit available for Windows users, but be advised that it apparenlty conflicts with 3rd party conduits such as Intellisync, PocketMirror, etc. You can find it on the pre-release page. The conduit will run getdata for you during Hotsync.

Can Showtimes update multiple Palm devices?

Yes, this is supported for Windows users. You can do this by having multiple USERNUM lines in the configuration file. The data will be installed on each profile.

When I run the script, all I see is a blur of text and then the window closes.

If you want to see what the script is printing out, you need to run the script from a DOS (command) prompt. Open a command prompt (you can do a Start, Run..., "command" (or "cmd" on NT)), cd into the directory where you put getdata.pl, and type:

perl getdata.pl

As of v0.3a, the script should pause if there are any errors, so you can read the output.

What if I'm behind a firewall?

You can set the PROXY setting in the getdata.cfg file to your web proxy.

Everything was working but now it doesn't.

The getdata.pl parses information retrieved from the web, and the format of the HTML in the web pages is subject to change. I will endeavor to keep the script updated if and when things change.

Specific Errors

This script is too big to be loaded in MacPerl.

This is true. MacPerl's editor only allows files up to 32K, and getdata.pl has grown larger than that. I believe it is possible to change what editor MacPerl uses, but besides trying that, you can also run the script a different way.
Start MacPerl, and choose "Run Script..." from the menu. When prompted, feed it getdata.pl.

Can't locate URI/Heuristic.pm in @INC.

MacPerl does not seem to come with Heuristic module installed, so I have removed the need for this module as of v0.3a.

Can't locate LWP/UserAgent.pm in @INC.

You may have a broken installation of Perl. Try reinstalling Perl and see if this helps.

Otherwise, if you are missing the libwww-perl module, see the question on how to find this.

Can't locate File/Spec.pm in @INC.

MacPerl doesn't have this module, the latest version of getdata.pl does not need this file.

If you recently downloaded v0.5, please download it again.

Unable to open the configuration file, getdata.cfg.

The script looks in the current directory for the configuration file getdata.cfg. If you are running the script from a scheduled task, make sure the task runs from the directory where the script and config file are.

Alternately, you can specify a command line option to set the path that the getdata.cfg file is opened from. The command to run the script should look like getdata.pl -d /path/to/getdata.cfg, where the path should be only the path where getdata.cfg is.

Unable to allocate enough memory to display data.

It is possible to get this error for exactly the reason the error messages says, because you do not have enough free memory available on your Palm device.

However, it is much more likely that your data is bad. Make sure that the script is able to download the web pages, and that it is writing out .pdbs with more than zero (0) records.

You may have check your proxy settings, or your URLs.

Use of uninitialized value at C:\PERL\lib/Socket.pm line 275 (#1).

A product named Netsonic can cause this error. There is no known workaround except to disable Netsonic before you run the script.

I enabled downloading of plots but I don't see any plots on my Palm.

When you enable the downloading of plots you must synchronize with your Palm each and every time you run getdata. Only new plots found since last time getdata was run are copied to your Palm, in order to save on synchronize time.

If your Palm and desktop are out of sync, you can force all of the plots to be copied to your Palm by running getdata with a special flag like so:

getdata -f

Scheduling

How do I automatically run the perl script on ...?

I'm looking for user feedback on this topic.

The most basic way to do this would be to make a .bat file to run the getdata.pl script, and place this .bat file in your Startup folder. Then, your data would get updated whenever you log on.

Note: Be sure to put the FlipReg.exe program somewhere in your path if you configure the script to run automatically.

  • Windows 98/NT

    Windows 98 and NT have a Task Scheduler that is fairly simple to set up. Open "My Computer" and then "Scheduled Tasks". Choose "Add Scheduled Task" and follow the prompts.

  • Windows 95

    Windows 95 has a scheduler if you have Plus! installed. I do not have any information about configuring this.

  • Windows NT

    Windows NT has an at command similar to that found on unix. To create an event at runs at 6:00am every day, you would type something like this at a command prompt: at 06:00:00 /every:M,T,W,Th,F,S,Su "perl c:\somewhere\getdata.pl"
    For more information, type help at, or search in help for 'at'.

  • Unix

    Unix has the cron facility to schedule tasks.
    Justin Beech (justin@mail.com) was kind enough to contribute the following info:

    crontab -l
    lists your cron lines.

    crontab -e
    edits your crontab using your default editor, or whatever is set in EDITOR environment variable... (hopefully, vi!)

    add a new line..
    mm hh dayofmonth month dayofweek command
    asterix is "any" and ranges can be given as a-b, or a,b,c etc...

    On linux, man 5 crontab gives you more detail. On Solaris etc its man -s 5 crontab.

    For the command, use this /path/to/getdata.pl > /path/to/logfile 2>&1 which will capture any nasty errors in the file "logfile" or, if you are relaxed about this kind of stuff (hey, its movies, not database backups) /path/to/getdata.pl >/dev/null 2>&1

  • Mac

    Two scheduling programs that I have been told about are Frontier and QuickKeys, but I don't have any more information about this.

What should I put in the .bat file?

If you schedule a task, it might be easiest to create a .bat file to use as the command to run when the task is triggered.
The contents of the .bat file should look something like this:

cd c:\path\to\getdata.pl
perl getdata.pl

Or now with v0.4:

perl c:\path\to\getdata.pl\getdata.pl -d /path/to/getdata.cfg

J Robert Ray
showtimes@jrray.org

Submit bugs and suggestions

Mon Jun 17 02:38:38 PDT 2002