1/* mnote-pentax-tag.c: 2 * 3 * Copyright (c) 2002 Lutz Mueller <lutz@users.sourceforge.net> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301 USA. 19 */ 20 21#include <config.h> 22#include "mnote-pentax-tag.h" 23 24#include <stdlib.h> 25 26#include <libexif/i18n.h> 27 28static const struct { 29 MnotePentaxTag tag; 30 const char *name; 31 const char *title; 32 const char *description; 33} table[] = { 34#ifndef NO_VERBOSE_TAG_STRINGS 35 {MNOTE_PENTAX_TAG_MODE, "Mode", N_("Capture Mode"), ""}, 36 {MNOTE_PENTAX_TAG_QUALITY, "Quality", N_("Quality Level"), ""}, 37 {MNOTE_PENTAX_TAG_FOCUS, "Focus", N_("Focus Mode"), ""}, 38 {MNOTE_PENTAX_TAG_FLASH, "Flash", N_("Flash Mode"), ""}, 39 {MNOTE_PENTAX_TAG_UNKNOWN_05, NULL, NULL, NULL}, 40 {MNOTE_PENTAX_TAG_UNKNOWN_06, NULL, NULL, NULL}, 41 {MNOTE_PENTAX_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, 42 {MNOTE_PENTAX_TAG_UNKNOWN_08, NULL, NULL, NULL}, 43 {MNOTE_PENTAX_TAG_UNKNOWN_09, NULL, NULL, NULL}, 44 {MNOTE_PENTAX_TAG_ZOOM, "Zoom", N_("Zoom"), NULL}, 45 {MNOTE_PENTAX_TAG_SHARPNESS, "Sharpness", N_("Sharpness"), ""}, 46 {MNOTE_PENTAX_TAG_CONTRAST, "Contrast", N_("Contrast"), ""}, 47 {MNOTE_PENTAX_TAG_SATURATION, "Saturation", N_("Saturation"), ""}, 48 {MNOTE_PENTAX_TAG_UNKNOWN_14, NULL, NULL, NULL}, 49 {MNOTE_PENTAX_TAG_UNKNOWN_15, NULL, NULL, NULL}, 50 {MNOTE_PENTAX_TAG_UNKNOWN_16, NULL, NULL, NULL}, 51 {MNOTE_PENTAX_TAG_UNKNOWN_17, NULL, NULL, NULL}, 52 {MNOTE_PENTAX_TAG_UNKNOWN_18, NULL, NULL, NULL}, 53 {MNOTE_PENTAX_TAG_UNKNOWN_19, NULL, NULL, NULL}, 54 {MNOTE_PENTAX_TAG_ISO_SPEED, "ISOSpeed", N_("ISOSpeed"), ""}, 55 {MNOTE_PENTAX_TAG_UNKNOWN_21, NULL, NULL, NULL}, 56 {MNOTE_PENTAX_TAG_COLOR, "Color", N_("Colors"), ""}, 57 {MNOTE_PENTAX_TAG_UNKNOWN_24, NULL, NULL, NULL}, 58 {MNOTE_PENTAX_TAG_UNKNOWN_25, NULL, NULL, NULL}, 59 {MNOTE_PENTAX_TAG_PRINTIM, "PrintIM", N_("PrintIM Settings"), ""}, 60 {MNOTE_PENTAX_TAG_TZ_CITY, "TimeZone", N_("Time Zone"), ""}, 61 {MNOTE_PENTAX_TAG_TZ_DST, "DaylightSavings", N_("Daylight Savings"), ""}, 62 63 {MNOTE_PENTAX2_TAG_MODE, "Mode", N_("Capture Mode"), ""}, 64 {MNOTE_PENTAX2_TAG_PREVIEW_SIZE, "PentaxPreviewSize", N_("Preview Size"), ""}, 65 {MNOTE_PENTAX2_TAG_PREVIEW_LENGTH, "PentaxPreviewLength", N_("Preview Length"), ""}, 66 {MNOTE_PENTAX2_TAG_PREVIEW_START, "PentaxPreviewStart", N_("Preview Start"), ""}, 67 {MNOTE_PENTAX2_TAG_MODEL_ID, "ModelID", N_("Model Identification"), ""}, 68 {MNOTE_PENTAX2_TAG_DATE, "Date", N_("Date"), ""}, 69 {MNOTE_PENTAX2_TAG_TIME, "Time", N_("Time"), ""}, 70 {MNOTE_PENTAX2_TAG_QUALITY, "Quality", N_("Quality Level"), ""}, 71 {MNOTE_PENTAX2_TAG_IMAGE_SIZE, "ImageSize", N_("Image Size"), ""}, 72 {MNOTE_PENTAX2_TAG_PICTURE_MODE, "PictureMode", N_("PictureMode"), ""}, 73 {MNOTE_PENTAX2_TAG_FLASH_MODE, "FlashMode", N_("Flash Mode"), ""}, 74 {MNOTE_PENTAX2_TAG_FOCUS_MODE, "FocusMode", N_("Focus Mode"), ""}, 75 {MNOTE_PENTAX2_TAG_AFPOINT_SELECTED, "AFPointSelected", N_("AF Point Selected"), ""}, 76 {MNOTE_PENTAX2_TAG_AUTO_AFPOINT, "AutoAFPoint", N_("Auto AF Point"), ""}, 77 {MNOTE_PENTAX2_TAG_FOCUS_POSITION, "FocusPosition", N_("Focus Position"), ""}, 78 {MNOTE_PENTAX2_TAG_EXPOSURE_TIME, "ExposureTime", N_("Exposure Time"), ""}, 79 {MNOTE_PENTAX2_TAG_FNUMBER, "FNumber", N_("F-Number"), ""}, 80 {MNOTE_PENTAX2_TAG_ISO, "ISO", N_("ISO Number"), ""}, 81 {MNOTE_PENTAX2_TAG_EXPOSURE_COMPENSATION, "ExposureCompensation", N_("Exposure Compensation"), ""}, 82 {MNOTE_PENTAX2_TAG_METERING_MODE, "MeteringMode", N_("Metering Mode"), ""}, 83 {MNOTE_PENTAX2_TAG_AUTO_BRACKETING, "AutoBracketing", N_("Auto Bracketing"), ""}, 84 {MNOTE_PENTAX2_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, 85 {MNOTE_PENTAX2_TAG_WHITE_BALANCE_MODE, "WhiteBalanceMode", N_("White Balance Mode"), ""}, 86 {MNOTE_PENTAX2_TAG_BLUE_BALANCE, "BlueBalance", N_("Blue Balance"), ""}, 87 {MNOTE_PENTAX2_TAG_RED_BALANCE, "RedBalance", N_("Red Balance"), ""}, 88 {MNOTE_PENTAX2_TAG_FOCAL_LENGTH, "FocalLength", N_("Focal Length"), ""}, 89 {MNOTE_PENTAX2_TAG_DIGITAL_ZOOM, "DigitalZoom", N_("Digital Zoom"), ""}, 90 {MNOTE_PENTAX2_TAG_SATURATION, "Saturation", N_("Saturation"), ""}, 91 {MNOTE_PENTAX2_TAG_CONTRAST, "Contrast", N_("Contrast"), ""}, 92 {MNOTE_PENTAX2_TAG_SHARPNESS, "Sharpness", N_("Sharpness"), ""}, 93 {MNOTE_PENTAX2_TAG_WORLDTIME_LOCATION, "WorldTimeLocation", N_("World Time Location"), ""}, 94 {MNOTE_PENTAX2_TAG_HOMETOWN_CITY, "HometownCity", N_("Hometown City"), ""}, 95 {MNOTE_PENTAX2_TAG_DESTINATION_CITY, "DestinationCity", N_("Destination City"), ""}, 96 {MNOTE_PENTAX2_TAG_HOMETOWN_DST, "HometownDST,", N_("Hometown DST"), N_("Home Daylight Savings Time")}, 97 {MNOTE_PENTAX2_TAG_DESTINATION_DST, "DestinationDST", N_("Destination DST"), N_("Destination Daylight Savings Time")}, 98 {MNOTE_PENTAX2_TAG_FRAME_NUMBER, "FrameNumber", N_("Frame Number"), ""}, 99 {MNOTE_PENTAX2_TAG_IMAGE_PROCESSING, "ImageProcessing", N_("Image Processing"), ""}, 100 {MNOTE_PENTAX2_TAG_PICTURE_MODE2, "PictureMode2", N_("Picture Mode (2)"), ""}, 101 {MNOTE_PENTAX2_TAG_DRIVE_MODE, "DriveMode", N_("Drive Mode"), ""}, 102 {MNOTE_PENTAX2_TAG_COLOR_SPACE, "ColorSpace", N_("Color Space"), ""}, 103 {MNOTE_PENTAX2_TAG_IMAGE_AREA_OFFSET, "ImageAreaOffset", N_("Image Area Offset"), ""}, 104 {MNOTE_PENTAX2_TAG_RAW_IMAGE_SIZE, "RawImageSize", N_("Raw Image Size"), ""}, 105 {MNOTE_PENTAX2_TAG_AFPOINTS_USED, "AfPointsUsed,", N_("Autofocus Points Used"), ""}, 106 {MNOTE_PENTAX2_TAG_LENS_TYPE, "LensType", N_("Lens Type"), ""}, 107 {MNOTE_PENTAX2_TAG_CAMERA_TEMPERATURE, "CameraTemperature", N_("Camera Temperature"), ""}, 108 {MNOTE_PENTAX2_TAG_NOISE_REDUCTION, "NoiseReduction", N_("Noise Reduction"), ""}, 109 {MNOTE_PENTAX2_TAG_FLASH_EXPOSURE_COMP, "FlashExposureComp", N_("Flash Exposure Compensation"), ""}, 110 {MNOTE_PENTAX2_TAG_IMAGE_TONE, "ImageTone", N_("Image Tone"), ""}, 111 {MNOTE_PENTAX2_TAG_SHAKE_REDUCTION_INFO, "ShakeReductionInfo,", N_("Shake Reduction Info"), ""}, 112 {MNOTE_PENTAX2_TAG_BLACK_POINT, "BlackPoint", N_("Black Point"), ""}, 113 {MNOTE_PENTAX2_TAG_WHITE_POINT, "WhitePoint", N_("White Point"), ""}, 114 {MNOTE_PENTAX2_TAG_AE_INFO, "AEInfo", N_("AE Info"), ""}, 115 {MNOTE_PENTAX2_TAG_LENS_INFO, "LensInfo", N_("Lens Info"), ""}, 116 {MNOTE_PENTAX2_TAG_FLASH_INFO, "FlashInfo", N_("Flash Info"), ""}, 117 {MNOTE_PENTAX2_TAG_CAMERA_INFO, "CameraInfo", N_("Camera Info"), ""}, 118 {MNOTE_PENTAX2_TAG_BATTERY_INFO, "BatteryInfo", N_("Battery Info"), ""}, 119 {MNOTE_PENTAX2_TAG_HOMETOWN_CITY_CODE, "HometownCityCode", N_("Hometown City Code"), ""}, 120 {MNOTE_PENTAX2_TAG_DESTINATION_CITY_CODE, "DestinationCityCode", N_("Destination City Code"), ""}, 121 122 {MNOTE_CASIO2_TAG_PREVIEW_START, "CasioPreviewStart", N_("Preview Start"), ""}, 123 {MNOTE_CASIO2_TAG_WHITE_BALANCE_BIAS, "WhiteBalanceBias", N_("White Balance Bias"), ""}, 124 {MNOTE_CASIO2_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, 125 {MNOTE_CASIO2_TAG_OBJECT_DISTANCE, "ObjectDistance", N_("Object Distance"), N_("Distance of photographed object in millimeters.")}, 126 {MNOTE_CASIO2_TAG_FLASH_DISTANCE, "FlashDistance", N_("Flash Distance"), ""}, 127 {MNOTE_CASIO2_TAG_RECORD_MODE, "RecordMode", N_("Record Mode"), ""}, 128 {MNOTE_CASIO2_TAG_SELF_TIMER, "SelfTimer", N_("Self Timer"), ""}, 129 {MNOTE_CASIO2_TAG_QUALITY, "CasioQuality", N_("Quality Level"), ""}, 130 {MNOTE_CASIO2_TAG_FOCUS_MODE, "CasioFocusMode", N_("Focus Mode"), ""}, 131 {MNOTE_CASIO2_TAG_TIME_ZONE, "TimeZone", N_("Time Zone"), ""}, 132 {MNOTE_CASIO2_TAG_BESTSHOT_MODE, "BestshotMode", N_("Bestshot Mode"), ""}, 133 {MNOTE_CASIO2_TAG_CCS_ISO_SENSITIVITY, "CCSISOSensitivity", N_("CCS ISO Sensitivity"), ""}, 134 {MNOTE_CASIO2_TAG_COLOR_MODE, "ColorMode", N_("Color Mode"), ""}, 135 {MNOTE_CASIO2_TAG_ENHANCEMENT, "Enhancement", N_("Enhancement"), ""}, 136 {MNOTE_CASIO2_TAG_FINER, "Finer", N_("Finer"), ""}, 137#endif 138 {0, NULL, NULL, NULL} 139}; 140 141const char * 142mnote_pentax_tag_get_name (MnotePentaxTag t) 143{ 144 unsigned int i; 145 146 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 147 if (table[i].tag == t) return (table[i].name); 148 return NULL; 149} 150 151const char * 152mnote_pentax_tag_get_title (MnotePentaxTag t) 153{ 154 unsigned int i; 155 156 bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); 157 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 158 if (table[i].tag == t) return (_(table[i].title)); 159 return NULL; 160} 161 162const char * 163mnote_pentax_tag_get_description (MnotePentaxTag t) 164{ 165 unsigned int i; 166 167 bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); 168 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 169 if (table[i].tag == t) { 170 if (!table[i].description || !*table[i].description) 171 return ""; 172 return (_(table[i].description)); 173 } 174 return NULL; 175} 176