1 /* mnote-fuji-tag.c 2 * 3 * Copyright (c) 2002 Lutz Mueller <lutz (at) 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 <stdlib.h> 22 23 #include <config.h> 24 #include <libexif/i18n.h> 25 26 #include "mnote-fuji-tag.h" 27 28 29 static const struct { 30 MnoteFujiTag tag; 31 const char *name; 32 const char *title; 33 const char *description; 34 } table[] = { 35 #ifndef NO_VERBOSE_TAG_STRINGS 36 {MNOTE_FUJI_TAG_VERSION, "Version", N_("Maker Note Version"), ""}, 37 {MNOTE_FUJI_TAG_SERIAL_NUMBER, "SerialNumber", N_("Serial Number"), N_("This number is unique and based on the date of manufacture.")}, 38 {MNOTE_FUJI_TAG_QUALITY, "Quality", N_("Quality"), ""}, 39 {MNOTE_FUJI_TAG_SHARPNESS, "Sharpness", N_("Sharpness"), ""}, 40 {MNOTE_FUJI_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, 41 {MNOTE_FUJI_TAG_COLOR, "ChromaticitySaturation", N_("Chromaticity Saturation"), ""}, 42 {MNOTE_FUJI_TAG_TONE, "Contrast", N_("Contrast"), ""}, 43 {MNOTE_FUJI_TAG_FLASH_MODE, "FlashMode", N_("Flash Mode"), ""}, 44 {MNOTE_FUJI_TAG_FLASH_STRENGTH, "FlashStrength", N_("Flash Firing Strength Compensation"), ""}, 45 {MNOTE_FUJI_TAG_MACRO, "MacroMode", N_("Macro Mode"), ""}, 46 {MNOTE_FUJI_TAG_FOCUS_MODE, "FocusingMode", N_("Focusing Mode"), ""}, 47 {MNOTE_FUJI_TAG_FOCUS_POINT, "FocusPoint", N_("Focus Point"), ""}, 48 {MNOTE_FUJI_TAG_SLOW_SYNC, "SlowSynchro", N_("Slow Synchro Mode"), ""}, 49 {MNOTE_FUJI_TAG_PICTURE_MODE, "PictureMode", N_("Picture Mode"), ""}, 50 {MNOTE_FUJI_TAG_CONT_TAKING, "ContinuousTaking", N_("Continuous Taking"), ""}, 51 {MNOTE_FUJI_TAG_SEQUENCE_NUMBER, "ContinuousSequence", N_("Continuous Sequence Number"), ""}, 52 {MNOTE_FUJI_TAG_FINEPIX_COLOR, "FinePixColor", N_("FinePix Color"), ""}, 53 {MNOTE_FUJI_TAG_BLUR_CHECK, "BlurCheck", N_("Blur Check"), ""}, 54 {MNOTE_FUJI_TAG_FOCUS_CHECK, "AutoFocusCheck", N_("Auto Focus Check"), ""}, 55 {MNOTE_FUJI_TAG_AUTO_EXPOSURE_CHECK, "AutoExposureCheck", N_("Auto Exposure Check"), ""}, 56 {MNOTE_FUJI_TAG_DYNAMIC_RANGE, "DynamicRange", N_("Dynamic Range"), ""}, 57 {MNOTE_FUJI_TAG_FILM_MODE, "FilmMode", N_("Film Simulation Mode"), ""}, 58 {MNOTE_FUJI_TAG_DYNAMIC_RANGE_SETTING, "DRangeMode", N_("Dynamic Range Wide Mode"), ""}, 59 {MNOTE_FUJI_TAG_DEV_DYNAMIC_RANGE_SETTING, "DevDRangeMode", N_("Development Dynamic Range Wide Mode"), ""}, 60 {MNOTE_FUJI_TAG_MIN_FOCAL_LENGTH, "MinFocalLen", N_("Minimum Focal Length"), ""}, 61 {MNOTE_FUJI_TAG_MAX_FOCAL_LENGTH, "MaxFocalLen", N_("Maximum Focal Length"), ""}, 62 {MNOTE_FUJI_TAG_MAX_APERT_AT_MIN_FOC, "MaxApertAtMinFoc", N_("Maximum Aperture at Minimum Focal"), ""}, 63 {MNOTE_FUJI_TAG_MAX_APERT_AT_MAX_FOC, "MaxApertAtMaxFoc", N_("Maximum Aperture at Maximum Focal"), ""}, 64 {MNOTE_FUJI_TAG_FILE_SOURCE, "FileSource", N_("File Source"), ""}, 65 {MNOTE_FUJI_TAG_ORDER_NUMBER, "OrderNumber", N_("Order Number"), ""}, 66 {MNOTE_FUJI_TAG_FRAME_NUMBER, "FrameNumber", N_("Frame Number"), ""}, 67 #endif 68 {0, NULL, NULL, NULL} 69 }; 70 71 const char * 72 mnote_fuji_tag_get_name (MnoteFujiTag t) 73 { 74 unsigned int i; 75 76 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 77 if (table[i].tag == t) return (table[i].name); 78 return NULL; 79 } 80 81 const char * 82 mnote_fuji_tag_get_title (MnoteFujiTag t) 83 { 84 unsigned int i; 85 86 bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); 87 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 88 if (table[i].tag == t) return (_(table[i].title)); 89 return NULL; 90 } 91 92 const char * 93 mnote_fuji_tag_get_description (MnoteFujiTag t) 94 { 95 unsigned int i; 96 97 for (i = 0; i < sizeof (table) / sizeof (table[0]); i++) 98 if (table[i].tag == t) { 99 if (!table[i].description || !*table[i].description) 100 return ""; 101 bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); 102 return _(table[i].description); 103 } 104 return NULL; 105 } 106