========================== Changelog for JPEGView 3.3 ========================== ---- Bugs ---- (fc1) Removed the unnecessary use of the Time Manager to measure image drawing time, simply counting ticks instead. The alleviates a number of system-level crashes that would occur if JPEGView crashed during decompression. (b5) The "Startup Screen" option in the Save As file format menu has been changed to read "PICT Resource" so that users don't get confused as to why their compressed startup screens won't display properly. (b5) Small image files (<600 bytes) would be incorrectly reported as invalid; this has been fixed. (b5) Choosing to crop the icon only when saving, and using proportional icons (dog-ear or no) would cause the icon cropping not to kick in. (b5) The rectangle the icons are drawn into is now inset by 1 pixel, so that the 1-pixel black border around the icon doesn't overwrite so much of the actual icon image. (b4) An unresolved alias found while searching a slide show directory would dump JPEGView into an infinite loop or cause it to abort the scan of the current folder. This situation should be remedied. (b4) The Inited flag is now cleared when saving images; this seems to force the Finder to update custom icons better. (b3) The JPEGView JFIF Preview has been recompiled yet again. It is now a true fat component, created according to the Component Manager 3.0 specs. This should hopefully solve the occasional weird problems I was getting with JFIF previews. (b3) Slide shows with virtual memory on no longer allow offscreen bitmaps to be created in temporary memory. This results in more paging than with version 3.2, but it is quite tolerable -- at least on my PM6100/60av! (b2) Certain color startup screens would not be displayed properly if there was also a black & white version stored in the data fork. JPEGView now checks for a color screen, and ignores the black & white one if it is found. (b2) Selecting the Desktop for a slide show scan finally seems to get it right (I think!) Also, I put in a check during the slide show scan so that infinitely-recursive alias resolution can no longer get you into trouble! (b2) The dog-ears on large icons are now slightly bigger, and should be comparable to dog-ears from other apps. (b1) Revealing a hidden part of a window during two-pass color reduction of the image in that window would abort the quantization. This was particularly bad when doing the color reduction during a save. (b1) Somehow, bundle bits in the Finder were not set on the version 3.2.1 I released; this is now done explicitly during the build. In addition to the bundle bit, the shared bit is now set so multiple copies of JPEGView can be run from a single copy on a server. (b1) There was a conflict between the "always require bitmaps" preference option and the "no bitmaps for uncompressed images" option -- that is, JPEGView would complain it didn't have enough memory to make a bitmap for an uncompressed image, because you told it not to :-) (b1) If you had selected a slide show folder that was on a removable medium, JPEGView would prompt you to insert that disk everytime you started up. JPEGView now does a less-intrusive check for the existence of the last slide show folder you chose, and if it doesn't find it, it resets the path to point to the Desktop. (b1) Some people were detecting a write to memory location 0 when quitting JPEGView. (b1) The QuickTime VM patch would sometimes be incorrectly installed on machines that didn't need it, resulting in a significant slowdown. (b1) When scaling really large images (>1000 pixels in both dimensions) down to icon size, the very high quality drawing (which I use for making the icons) would sometimes crap out and not draw anything. This was due to the fact that when a large number of pixels in the source image contribute to a single pixel in the destination, each pixel's contribution could end up rounding down to 0, since I only kept track of things to 1/1024th of a pixel. I have since modified the very high quality drawing to retain resolution down to 1/65536th of a pixel, which appears to solve this problem for the most part. (b1) The Select Screen Area command would not be available if an image that would have fit in a full screen window was instead being displayed scaled in a normal window. (b1) Printing images to the LaserWriter 8.1.1 driver seemed to go awry somewhere along the line. This appears to be gone with the new implementation of the QuickTime VM patch. ------------ Interim bugs ------------ (fc1, introduced in b1) Dragging a selection so the cursor was outside the image rectangle would cause an unimplemented trap error, because I was failing to check for the Drag Manager ahead of time. (b5, introduced in b3) The JPEGView JFIF Preview wasn't displaying previews properly for files with type 'JPEG'. Files with type 'JFIF' were working all right, though. (b2, introduced in b1) Fixed high quality drawing on the PowerPC. -------- Features -------- (fc1) The comments and statistics text can now be dragged out of JPEGView and into another application. (fc1) Progress dialogs and displays are updated more frequently now. (b5) A variant of the Independent JPEG Group's JPEG decompression code has been added as an alternative to using QuickTime for displaying JFIF images. The IJG code is much more robust at error handling than the QuickTime code, but is considerably slower on 680x0 machines. For this reason, QuickTime is still the default for 680x0 machines, while the IJG code is used automatically on PowerPC machines. If QuickTime is not installed in the system, then the IJG code will automatically be used on either system. User control over which code to use can be found in the Miscellany section of the Preferences, at the bottom. (b3) A new preference has been added: icon styles, under the "Files" section of the preferences. This allows you to choose one of four preview icon styles: square or proportional (a la Photoshop), with or without "dog ears". Hopefully that will be enough to please most everyone. (b3) The scale AppleScript property of an image now accepts integers from 1-100 instead of fixed point numbers which AppleScript doesn't know how to deal with. (b2) The File Format popup menu is no longer displayed if you are saving a non-JPEG image. Hopefully this will stop people asking me for an "unlocked version" which supports this. :-) (b2) Added a new mini-popup menu to the bottom of the save dialog which lets you do something with the currently selected area of the image you're saving. The options are: do nothing, use selected area to specify the icon cropping (it still has to be square for now, though), or use selected area to specify image cropping. (b1) After toying with a version of what I considered to be "low" quality drawing (i.e., really fast but pretty crummy), I discovered that my low quality was actually equivalent to my high quality in 95% of the cases. With that knowledge in hand, I rewrote high quality drawing to do "low" quality drawing instead, and came up with a good 20-75% speed increase (you'll a see 5-25% increase overall, including decompression) with very little additional quality loss. The high quality dithering is still included, so it will continue to be labelled "high" quality, despite the fact that the scaling quality isn't quite on par with Color QuickDraw's. (b1) Due to the above change, the default drawing quality is now set to "very high". (b1) Display times in the statistics floating window are now given to the 1/100th of a second. I was mainly using this for PowerPC benchmarking, and may decide not to keep it in for good. (b1) On a drag-aware system (that is, with the Macintosh Drag and Drop extension *and* a drag-aware Finder -- e.g., a Mac with system 7.1.2 and the extension), you can now drag any folder or disk icon from the Finder into the slide show options window to set the slide show folder (very cool :-). (b1) Dragging a selection outside of its window will, on Drag-aware systems, allow you to drag and drop portions of an image into other apps, or into clippings files in the Finder. (b1) Updated the operation and use of the internal QuickTime VM patch, so that it now allows the use of up to 512k of temporary memory for image decompression. Its effects are also now disabled before giving time to other applications so that extensions that need to use temporary memory can still do their thing. (b1) Opening PICTs at other than 72dpi now expands them to the full resolution. (b1) The "marching ants" used to indicate a selection have been redone completely, and are no longer rendered invisible in medium-gray areas of images. (b1) Once you've cropped an image, you are now allowed to save it; when you do this, however, what you are actually saving is not the cropped image alone, but rather the entire original image plus a 'RECT' resource which specifies the initial cropping. Thus, images may be cropped for better viewing, but may always be recovered. ================================= Remaining "bugs" for JPEGView 3.3 ================================= ---- Bugs ---- (?) Statistics for cropped images saved with previous versions are messed up. (?) The JPEGView Convert To PICT script saves palettes for grayscale JFIFs. (?) JPEGView's progress window can poke through the Finder's window when running in the background. (?) Dragging windows from 1-bit screens to deeper screens doesn't always force a complete redraw? (?) I've had two reports of bugs when running a second slide show during the same JPEGView session. As far as I can tell, it's linked to selecting a different folder for the second show, but I can't reproduce the problem at all. -------- Features -------- (?) Modify the way the slide show works internally to read any number of aliases from the specified file. This is in anticipation of the future, where we will store slide show information in a separate file, allowing multiple files and/or folders. Although we will put in the code to handle multiple entries and external files, 3.2.2 will always read from the Preferences file, and will always find only one folder specified. Consider it a step forward. (future) More detailed preferences for specifying dithering, display quality, and color reduction for each image depth. Something like this: When using... Reduce colors? Dither? Quality? 16 colors x x normal v 256 colors x x very high v Thousands x very high v Millions very high v