								   pCD
							A Photo CD Viewer

							 Hadmut Danisch
						  (danisch@ira.uka.de)

							  Dick Phillips
							 (rlp@lanl.gov)


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).

 - - - [addendum for 0.2:]
					       Garance Alistair Drosehn
					      (gad@eclipse.its.rpi.edu)


I'm calling Dick Phillips' version "0.1".  I have made quite a few changes
to it and am calling this version 0.2.  More options are implemented, some
bugs are fixed, and the code is structured differently in many parts.  I'm
hoping that everything about the result is pretty obvious, as I haven't
written any help for it yet...

The one feature that isn't obvious is that you can get a "face-tiff-sized"
selection rectangle by holding down the option key before click-dragging
in an image window.  This feature may move to a different key combination
in future versions, as I'm not sure it's correct from the standpoint of
NeXT User Interface Guidelines.

This now supports opening all the image sizes, although the preference
panel does not allow you to select the largest size.  You can try that
size if you want, but it requires HUGE amounts of VM.

Source code is included, as is a compiled version of the resulting
program.  This program will only work on NeXTSTEP Release 3.0 or better.
I hope people find this interim release useful, even though there are
many many things that I'd like to do to improve this some more.  I doubt
I'll have time to do any of those things anytime soon though, so I 
decided I'd make this version available as it is.

	- Garance - Jan 12, 1993
	
 - - - [addendum for 0.3:]
					       Garance Alistair Drosehn
					      (gad@eclipse.its.rpi.edu)

I've worked on pCD some more, and here's version 0.3.  It includes a few
features that were requested by a lot of people.  It also includes some
good ideas from Hugo Burm (tamtam!hugob@relay.nluug.nl).  He had been
working on the original version at the same time I was, and made a number
of changes which I hadn't seen.  Our two versions are divergent enough
that I couldn't just plug in his changes, but I have reimplemented some
of his ideas in this version.

For one, this version let's you set the image size to open photos up at
without bringing up the preference panel.  I've also added a new ability
that I found very useful in my testing (I'm using pCD to test a color
printer that we have here).  The program used to read in images and always
treat them as if they were 72dpi bitmaps.  That is great for displaying on
a monitor, but it's not the ideal for displaying on some other device.  So
this version includes an option to set what resolution the program should
treat the bitmap images at.  For instance, it should be true that you'll
get the best results out of your NeXT color printer by setting this option
to 360dpi before opening any images.

The second reason for doing this is to save virtual memory usage.  On my
machine I can not open the largest image size at 72dpi, but I can both
open it and even print it (without running out of disk space) if I open
it at 300dpi.  Since I want to print it at 300dpi anyway, this option
works out very well for me.

One quirk in this is that the dpi processing gets goofed up somehow if
you print from inside pCD.app.  If you save a tiff image, and then use
Preview.app to print that tiff, it will indeed print at 300dpi.  If you
try to print from within pCD.app, something is causing the picture to be
scaled.  I have not looked into why this happens, but it is annoying...

This version also has a number of bug fixes, and is reorganized some more.
There is plenty more I'd like to do with it, but I doubt I'll have the
time to work on it for the next few weeks.

If the code looks a bit ugly in places, that's because this is my first
attempt at some major NeXT programming.  A number of things that I 
started out to do didn't work the way I expected, so some sections of
code are not as pretty as I'd like.  I'm also in the middle of implementing
yet more goodies, and so some of the code which looks pretty useless right
how is there because of things that I plan to implement.

I still haven't written any help for the application (so it just has the
standard NeXT help panels), and I'm not all that convinced that my user
interface is as intuitive as I'd like it to be.  Still, I do think the
added features will prove useful to people.  Since I don't plan to be
working on this for a few weeks, feel free to make changes to this version
and let me know about them.

	- Garance - Jan 17, 1993

