*************************** REQUIREMENTS ************************** Linux RealPlayer 8 (for any available platform). Perl 5 (for the Snatch Robot) with File::Glob, Tk8 and a couple of other modules that are standard in most Perl installs. File::Glob didn't become included by default until Perl 5.6.0, so at least 5.6.0 is recommended. A compiler, GCC heavily recommended. *************************** COMPILATION *************************** libsnatch has to be compiled. The conversion utilities that make .snatch files useful have to be compiled. I supply a trivial, hand-written makefile to do both. It assumes gcc, and that installation should go in /usr/local. As root... make install ...will build and install Snatch. It's now ready to run. ************************ MANUAL INSTALLATION ********************** The only two important bits to install are libsnatch.so and the Snatch Robot. Installation consists of: 1) Put the Snatch Robot ('Snatch') wherever you want it. Somewhere in the path is recommended. /usr/local/bin/ usually does nicely. 2) Stick libsnatch.so where Snatch Robot can find it. The places Snatch Robot searches by default are: /usr/local/lib/libsnatch.so /usr/lib/libsnatch.so ~/snatch/libsnatch.so ~/.snatch/libsnatch.so The Snatch Robot will need to find RealPlayer too. If it's not in the path, you can deal with that after starting Snatch. The conversion utils (snatch2yuv, snatch2yuv2, snatch2wav) are not needed to run Snatch, but are useful to convert the output to something useful. These need simply be compiled (see Makefile) and placed wherever they're to be used. ***************************** EXAMPLES **************************** To install Snatch in your home directory (doesn't need root) tar -xvzf snatch-20020225.tgz cd snatch-20020225 gcc -O2 -shared libsnatch.c -o libsnatch.so mkdir ~/.snatch mv libsnatch.so ~/.snatch mv Snatch ~/ run Snatch with ~/Snatch To install Snatch for the whole system (as root) tar -xvzf snatch-20020225.tgz cd snatch-20020225 make install ******************** IMPORTANT WINDOWMANAGER TIP ****************** If RealPlayer crashes at some point (and we all know this Just Doesn't Happen! :-), the Snatch robot will helpfully try to throw a new RealPlayer process. This is especially useful during timed recording, and Snatch will try to pick up time recording when the new RealPlayer pops. However, the windowmanager, by default, throws a monkeywrench into this; it will generally ask the user to place the new RealPlayer window. When unattended, this naturally screws recording from that point on as it will wait forever for the user. It's strongly recommended to either add an X resources entry (to .Xresources) along the lines of: RealPlayer*geometry: +0+0 ...or an explicit Windowmanager configuration directive (this depends entirely on the WM in use) to force placement of the RealPlayer window. This way, a crash during unattended recording will only momentarily interrupt the recording process.