140 Commits (b8d802c12c78bf46a6e2ef528ce3885d0e36ee9e)

Author SHA1 Message Date
Andreas Huggel 7d3f50c244 Minor changes (moved inline functions which throw to *.cpp files) 20 years ago
Andreas Huggel a70511cc4a Changed MakerNoteFactory according to ImageFactory. Removes the need to link applications with mn.o. Fixes bug #427 20 years ago
Andreas Huggel 55aebc0686 Overhauled exception handling. The new class Error has a list of error messages, which is selected based on the error code provided in the constructor.
Image::read/writeMetadata and ImageFactory::open now throw Error in case of failure. Applications therefore now need an exception handler for the error handling of such function calls. This should result in shorter and simpler application code.
20 years ago
Andreas Huggel 90a707fa2e Fixed bugs found on MinGW and with MSVC. iotest still misteriously fails. 20 years ago
Andreas Huggel 6a675f3d82 Added support for Canon Camera settings 1/2 and Custom Functions tags 20 years ago
Andreas Huggel 1f82dffcfa Added type information to Exif tag tables. Updated comment example, documentation and tests. Implements feature #425 21 years ago
Andreas Huggel adb618fcf9 More clean-up, updated component dependency graph 21 years ago
Andreas Huggel 2347ae9e0a Cleaned up exif.hpp dependencies 21 years ago
Andreas Huggel 59e1a6f29f Added an EXV_ prefix to precompiler defines (still not to all yet - I don't like the idea of "exv_size_t" or "exv_const" - but hopefully to those more likely to create conflicts). Fixes bug #420 21 years ago
Andreas Huggel 54a42fc1f7 Generalized and cleaned-up makernote handling 21 years ago
Andreas Huggel 8521dead83 Added 2005 to Copyright lines 21 years ago
Andreas Huggel 2a0149184a Fixes and cosmetic changes; all tests now pass again, finally! 21 years ago
Andreas Huggel 8221293072 Completed ExifData assignment operator and copy constructor, added related code and tests. Fixes bug #417 21 years ago
brad 0cab366ec2 Merges all changes from the insideout branch back into trunk. This includes the IO abstraction code, split-up of image.cpp, and inside-out design change (#402, #403, and #404). 21 years ago
Andreas Huggel 5ea6544c6d Fixed bug #407 (that was easier than I first thought) 21 years ago
Andreas Huggel 72f9786ad3 Added very basic assignment op and copy constructor to ExifData - untested 21 years ago
Andreas Huggel c8d9fe0b35 Changed operator hack to be more consistent, added op=(const Value&) 21 years ago
Andreas Huggel 4b86ee4583 Fixed ExifData::eraseThumbnail(). Bug #401 21 years ago
Andreas Huggel 57a5b8c422 Undid changes from rev 421 (doesn't compile with g++), moved definitions of Exifdatum::op= to exif.cpp 21 years ago
Andreas Huggel bd5b6d2ccc Added ExifData setJpegThumbnail and op[] and Exifdatum op=. With the operator stuff you can now do things like: exifData["Exif.Thumbnail.Compression"] = uint16_t(6); 21 years ago
Andreas Huggel c4eca96836 Revamped Thumbnail classes to use the new data area feature. Implements feature #398. 21 years ago
Andreas Huggel 974d5e4637 Added data area concept to Value, ValueType, Entry, Ifd. Implements feature #395 21 years ago
brad 77d3d5621a added subversion style keywords 21 years ago
Andreas Huggel 44d0deac92 Converted Value hierarchy to use std::auto_ptr where appropriate 21 years ago
Andreas Huggel e20bffaec7 Converted Key hierarchy to use std::auto_ptr where appropriate 21 years ago
Andreas Huggel 8551c935f8 Changed MakerNote class hierarchy to use std::auto_ptr where appropriate 21 years ago
Andreas Huggel f40fba88bf Added Image::AutoPtr and related updates
Changed some local buffers to DataBuf
21 years ago
Andreas Huggel 79721d04e0 Move ExifKey to component tags, moved IptcKey to component datasets 21 years ago
Andreas Huggel 25404d55e5 Minor changes 21 years ago
Andreas Huggel 9b6e62c552 Added support to build a MakerNote from scratch 21 years ago
Andreas Huggel 1efd83bf04 Minor cleanup 21 years ago
Andreas Huggel e88a307858 Improved and cleaned-up ExifKey implementation 21 years ago
Andreas Huggel a25763d070 Replaced custom integer types with C99 types 21 years ago
Andreas Huggel 54e126d3e4 Appended one more Id to an Ifd id to work around a g++-3.4 21 years ago
Andreas Huggel 5e050bce0a Appended 'Id' to Ifd ids to work around a g++-3.4 problem 21 years ago
Andreas Huggel 6b0489a02f More patches for masked Exiv2::ifd0 and Exiv2::exifIfd (Joseph Heled) 21 years ago
Andreas Huggel 0147a77c7b Added Key, ExifKey and IptcKey class hierarchy
Changed Exif keys to 'Exif.ifdItem.tagName'
21 years ago
Andreas Huggel cb164f712f Added check if file exists before calls to ImageFactory::open 21 years ago
Andreas Huggel 166e6f7928 Added full IPTC read and write support (Brad, bs_3.patch) 21 years ago
Andreas Huggel 93d8dd7e1f Fix for masked Exiv2::ifd1 (Joseph Heled) 21 years ago
Andreas Huggel 735bb60985 Removed obsolete includes 21 years ago
Andreas Huggel 9d72b7d1ec Revamped image and introduced byte* interface (Brad, bs_1.patch with minor modifications by ahu) 21 years ago
Andreas Huggel d3ee3bdc9a Really fixed ExifData::copyFromMetadata to automatically add missing offset tags 21 years ago
Andreas Huggel 3156f53a25 Delete Exif section from the file when writing an empty ExifData 21 years ago
Andreas Huggel 8f445fa016 * Fixed MSVC errors and warnings (Steve, sking_5.patch)
* Fixed ExifData::copyFromMetadata to automatically add missing offset tags
* Fixed an embarassing bug in ExifData::updateEntries, which caused write
  after erasing metadata to write back the original metadata.
21 years ago
Andreas Huggel b921d51d1b Attempt for a fix for copyFromMetadata. Not complete. 21 years ago
Andreas Huggel f98f131244 Added the makernote buffer to the arguments passed to the create function. This allows the makernote create function to determine the exact makernote needed based on its
content. The new concept is used to automatically determine which of the three Nikon makernotes to create.
21 years ago
Andreas Huggel fdfb5fee63 Added warning when makernote cannot be read 21 years ago
Andreas Huggel 59edeff2d8 Added len argument and boundary checks to various read functions and slightly improved error handling 21 years ago
Andreas Huggel cbb1c15810 Changed namespace name Exif to Exiv2 21 years ago
Andreas Huggel 0b24a0ad29 makernote:
Added MakerNote::offset()
Fixed IfdMakerNote::copy() for IfdMakerNote with a prefix
Various doc fixes

ifd:
Fixed Ifd::erase(pos) to return an iterator
Added Ifd::dataOffset()
Various doc fixes

exif:
Added Thumbnail::offset()
Fixed ExifData::eraseThumbnail()
Fixed ExifData::erase(pos) to return an iterator
21 years ago
Andreas Huggel 99a87043a4 Workaround for MinGW bug: use remove() before rename() 21 years ago
Andreas Huggel 20bcdef949 Use DataBuf for temporary data buffers 22 years ago
Andreas Huggel 57cdf19286 Added support to read from / write to *.exv files, made return values of writeThumbnail consistent with those of other write functions 22 years ago
Andreas Huggel 2db819ccb6 Implemented erase Exif data 22 years ago
Andreas Huggel f520a571a6 Avoid opening the image twice on read and write 22 years ago
Andreas Huggel 7d7322dff7 Implemented ImageFactory::create() and its use in ExifData 22 years ago
Andreas Huggel 3681403ac4 Naming convention: Renamed data members xyz_ that are pointers to pXyz_ 22 years ago
Andreas Huggel a0a42b148e Added Thumbnail class hierarchy and support to erase thumbnails 22 years ago
Andreas Huggel 532b0c33a7 Added Thumbnail::dataSize 22 years ago
Andreas Huggel bac67ee39f Use assert macro where appropriate 22 years ago
Andreas Huggel 8a776d2f44 Supported MakerNote byte order and invalidTypeId 22 years ago
Andreas Huggel 6c389a708b Fixed TIFF thumbnail bug in Thumbnail::updateTiffImage 22 years ago
Andreas Huggel eb9541f172 Makernote write support, part 3 (differentiate memory management modes, do not sort makernote) 22 years ago
Andreas Huggel cdae02333f Makernote write support, part 2 22 years ago
Andreas Huggel 7174da0192 Auto-registration of MakerNote subclasses in the factory, combined mnfactory and makernote into one component again 22 years ago
Andreas Huggel 6cafaf11e3 Split makernote component in makernote, mnfactory and canonmn 22 years ago
Andreas Huggel 1daee4d7ae Changes for makernote write support, documentation updates 22 years ago
Andreas Huggel 03f2f15d98 Bugfixes (creation of Metadatum with 2 shorts instead of 1, duplicate StripOffset tags in thumbnail IFD) and change of makeKey() signature 22 years ago
Andreas Huggel fdd338981a MakerNote related changes and Entry clean-up 22 years ago
Andreas Huggel 6749046e40 Divided exif.[ch]pp into components 22 years ago
Andreas Huggel 8f4668a6e9 Added printing of the interpreted metadatum value 22 years ago
Andreas Huggel 9cf3e66801 Fixed blunders related to non-intrusive writing: Ambiguous Ifd constructor, incomplete implementation of updateIfds 22 years ago
Andreas Huggel f3a3e32ac2 Implemented "non-intrusive write support", part 2 and JPEG file write support 22 years ago
Andreas Huggel 214a00b842 Added thumbnail type none, added ifd and TIFF header to thumbnail 22 years ago
Andreas Huggel cd45eb0e5c Bugfixes: use the correct version of delete 22 years ago
Andreas Huggel 39172050a8 Implemented ExifData::copy() and related Thumbnail stuff 22 years ago
Andreas Huggel a4a95c0aec Added RCS id to each *.cpp file 22 years ago
Andreas Huggel ff2fdd3b9f Implemented IFD logic to support "non-intrusive write operations", part 1 22 years ago
Andreas Huggel 552ce410d8 Implemented readTiffImage and various fixes and additions 22 years ago
Andreas Huggel 4e81bbf99e Improved doc, added Value::toString and Metadatum::toString 22 years ago
Andreas Huggel 23c0d08f8f More code 22 years ago
Andreas Huggel 7dcf194501 Removed Metadatum default constructor, fixed doc 22 years ago
Andreas Huggel 9a35a619e4 Rewrote Thumbnail::read(), added ExifData::findKey, cleanup 22 years ago
Andreas Huggel 478e5f21a5 Metadatum interface, Ifd::Entry 22 years ago
Andreas Huggel 325671ff2a More code... 22 years ago
Andreas Huggel 440571b544 Values implemented 22 years ago
Andreas Huggel bb6380825d Added Value et al. 22 years ago
Andreas Huggel 9bf351c60b More code 22 years ago
Andreas Huggel 2fae82f7b7 Renamed C++ files to *.hpp and *.cpp 22 years ago