// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2010 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file minoltamn.hpp @brief Minolta MakerNote implemented using the following references:
Minolta Makernote Format Specification by Dalibor Jelinek,
Minolta Makernote list by Phil Harvey
Minolta Makernote list from PHP JPEG Metadata Toolkit
Email communication with caulier dot gilles at gmail dot com
Some Minolta camera settings have been decoded by Xavier Raynaud from digiKam project and added by Gilles Caulier. @version $Rev$ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 06-May-06, gc: submitted */ #ifndef MINOLTAMN_HPP_ #define MINOLTAMN_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions //! MakerNote for Minolta cameras class EXIV2API MinoltaMakerNote { public: //! Return read-only list of built-in Minolta tags static const TagInfo* tagList(); //! Return read-only list of built-in Minolta Standard Camera Settings tags static const TagInfo* tagListCsStd(); //! Return read-only list of built-in Minolta 7D Camera Settings tags static const TagInfo* tagListCs7D(); //! Return read-only list of built-in Minolta 5D Camera Settings tags static const TagInfo* tagListCs5D(); //! @name Print functions for Minolta %MakerNote tags //@{ //! Print Exposure Speed setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureSpeedStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Time setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureTimeStd(std::ostream& os, const Value& value, const ExifData*); //! Print F Number setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFNumberStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Compensation setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureCompensationStd(std::ostream& os, const Value& value, const ExifData*); //! Print Focal Length setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFocalLengthStd(std::ostream& os, const Value& value, const ExifData*); //! Print Minolta Date from standard Minolta Camera Settings makernote static std::ostream& printMinoltaDateStd(std::ostream& os, const Value& value, const ExifData*); //! Print Minolta Time from standard Minolta Camera Settings makernote static std::ostream& printMinoltaTimeStd(std::ostream& os, const Value& value, const ExifData*); //! Print Flash Exposure Compensation setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFlashExposureCompStd(std::ostream& os, const Value& value, const ExifData*); //! Print White Balance setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaWhiteBalanceStd(std::ostream& os, const Value& value, const ExifData*); //! Print Brightness setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaBrightnessStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Manual Bias setting from 5D Minolta Camera Settings makernote static std::ostream& printMinoltaExposureManualBias5D(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Compensation setting from 5D Minolta Camera Settings makernote static std::ostream& printMinoltaExposureCompensation5D(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; static const TagInfo tagInfoCs5D_[]; static const TagInfo tagInfoCs7D_[]; static const TagInfo tagInfoCsStd_[]; }; // class MinoltaMakerNote } // namespace Exiv2 #endif // #ifndef MINOLTAMN_HPP_