pCD A Photo CD Viewer Hadmut Danisch (danisch@ira.uka.de) Dick Phillips (rlp@lanl.gov) [ ******* Note that this README file has not been updated for version 0.2, it describes version 0.1 from Dick Phillips. Version 0.2 includes a number of changes, done by Garance Drosehn. See the PCD.README file for some details on 0.2 ******* ] Thanks to Hadmut Danisch of the University of Karlsruhe, who deciphered Kodak's Photo CD file format by reverse engineering, I have been able to put together a Photo CD viewer for the NeXT. The app ain't perfect and there still lurks a bug or two, but I wanted get it out to beat the Christmas rush. In addition to my source code for the user interface, I have included Hadmut's original software, hpcdtoppm (v0.3). I assume the directory structure for all Photo CDs are the same, but my experience is limited to quantity one. In particular, pCD assumes that at the volume root level there will be a file with the name overview.pcd, and a directory entitled images. Under this directory there are an indeterminate number of files, each with a name of the form imgnnnn.pcd, where nnnn is a four digit sequence number. If your Photo CD is structured differently, make appropriate changes to the Controller class. When pCD launches it requests a Photo CD volume name. Then by reading the overview.pcd file, it produces a window showing thumbnails of the images in the images directory. Each thumbnail is a button, which when clicked, reads and displays the base (512 x 768) size of the image. By looking at my code and Hadmut's program, you can modify pCD to bring up all the image sizes available. They are: base/16 128 x 192 base/4 256 x 384 base 512 x 768 (supported by pCD) 4base 1024 x 1536 16base 2048 x 3072 If I get time next year, I may add support for other sizes. If you beat me to it, please share your improvements with the world. One other thing Ð although all thumbnails appear in landscape format, the selected images will be displayed appropriately. Once you open an image, you can: 1) Save it as a TIFF, EPS, or JPEG file. 2) Rubber-band out a rectangular region region of the image and copy it to the pasteboard. If you then issue a paste command, an new window will open containing the subimage. Alternately, you can paste the subimage into any application that accepts the above formats. 3) Print either just the image or the image with the enclosing window frame. Be careful! Only the Print and Cancel buttons work correctly. (Perhaps someone will finish off the printing code). Have fun! Dick Phillips rlp@lanl.gov