big release, lots of good stuff.

fixes / changes:

* more tolerance for TIFF read errors
* fix to IS3WriteTiffMultiViaCB, when appending to existing file. would fail.
* added updated TIFF-OJPEG reading code.
* fixed IS3IPTCInitializeFromByteArray header comments
* fixed IS3WriteTiffMultiViaCB header comments
* new mode in IS3CopyJPGWithNewMarkers

seven new functions:

* IS3EXIFInitializeFromByteArray : given a block of EXIF data in memory (such as a JPEG_APP1 marker), parse it for EXIF data.

* IS3EXIFGetTagPos : find the location of the actual tag structure for a given tag, within a block of data as read by the preceding function.

* IS3GetJPGOutputMarkerCount : get the number of data blocks you've set in the ImgSource JPG output marker array.

* IS3SetJPGOutputMarker : change one of the data blocks in the current ImgSource JPG output marker array. ie. if you've added 4, and want to change the 3rd one, you can use this.

* IS3GetJPGOutputMarker : get a data block from the JPG output marker array.

* IS3SwapLong : change a 32-bit integer from Motorola to Intel byte order, and vice versa.

* IS3SwapShort : change a 16-bit integer from Motorola to Intel byte order, and vice versa.


Q: what does all of this add up to ?
A: EXIF tag editing for JPGs.

Before we get too excited, let me warn you: using ImgSource to do EXIF modifications is not a simple process, and right now, it requires a lot of attention to detail. But, it's a start.

Here is a sample that should guide you through all of what you need to know in order to do your EXIF editing: