  
    
main.htmlMain Page     
classes.htmlData Structures     
files.htmlFiles     
dirs.htmlDirectories   
  
    
files.htmlFile List     
globals.htmlGlobals   
dir_3c4fde49625df9344590fff295c7c38d.htmllibexif  &raquo dir_e4999f848bec30b78ca7726bbe28f323.htmlolympus mnote-olympus-entry.c
mnote-olympus-entry_8c.htmlGo to the documentation of this file. 00001 /* mnote-olympus-entry.c 00002  * 00003  * Copyright © 2002 Lutz Müller <lutz@users.sourceforge.net> 00004  * 00005  * This library is free software; you can redistribute it and/or 00006  * modify it under the terms of the GNU Lesser General Public 00007  * License as published by the Free Software Foundation; either 00008  * version 2 of the License, or (at your option) any later version. 00009  * 00010  * This library is distributed in the hope that it will be useful, 00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 00013  * Lesser General Public License for more details. 00014  * 00015  * You should have received a copy of the GNU Lesser General Public 00016  * License along with this library; if not, write to the 00017  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018  * Boston, MA 02111-1307, USA. 00019  */ 00020 
00021 #include <config.h> 00022 #include " mnote-olympus-entry_8h.htmlmnote-olympus-entry.h " 00023 
00024 #include <stdio.h> 00025 #include <stdlib.h> 00026 #include <string.h> 00027 
00028 #include < exif-format_8h.htmllibexif/exif-format.h > 00029 #include < exif-utils_8h.htmllibexif/exif-utils.h > 00030 #include < exif-entry_8h.htmllibexif/exif-entry.h > 00031 #include < i18n_8h.htmllibexif/i18n.h > 00032 
mnote-olympus-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e6400033  #define CF(format,target,v,maxlen)                              \ 00034 {                                                               \ 00035         if (format != target) {                                 \ 00036                 snprintf (v, maxlen,                            \ 00037                         _("Invalid format '%s', "               \ 00038                         "expected '%s'."),                      \ 00039                         exif_format_get_name (format),          \ 00040                         exif_format_get_name (target));         \ 00041                 break;                                          \ 00042         }                                                       \ 00043 } 00044 mnote-olympus-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce300045  #define CC(number,target,v,maxlen)                                      \ 00046 {                                                                       \ 00047         if (number != target) {                                         \ 00048                 snprintf (v, maxlen,                                    \ 00049                         _("Invalid number of components (%i, "          \ 00050                         "expected %i)."), (int) number, (int) target);  \ 00051                 break;                                                  \ 00052         }                                                               \ 00053 } 00054 mnote-olympus-entry_8c.html#d10a673ae1cc3b2ac77f28c2e8f0973700055  #define CC2(number,t1,t2,v,maxlen)                                      \ 00056 {                                                                       \ 00057         if ((number != t1) && (number != t2)) {                         \ 00058                 snprintf (v, maxlen,                                    \ 00059                         _("Invalid number of components (%i, "          \ 00060                         "expected %i or %i)."), (int) number,           \ 00061                         (int) t1, (int) t2);                            \ 00062                 break;                                                  \ 00063         }                                                               \ 00064 } 00065 00066 static struct {
mnote-olympus-entry_8c.html#78f90c775fe0ce878f9d729c2a3a12b900067          exif-tag_8h.html#1a0ded93d47585f6889eb546915d0f41ExifTag  mnote-canon-tag_8c.html#f81b5c697b6608b9a512a4bf55f025e8tag ;
mnote-olympus-entry_8c.html#66c1d764f59ace6273a76b5ef418b7f900068      exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d2ExifFormat  mnote-olympus-entry_8c.html#66c1d764f59ace6273a76b5ef418b7f9fmt ;
00069         struct {
mnote-olympus-entry_8c.html#750b5d744c39a06bfb13e6eb010e35d000070                  int exif-entry_8c.html#750b5d744c39a06bfb13e6eb010e35d0index ;
mnote-olympus-entry_8c.html#e1adbce218e7a9d09164012443191d2400071                  const char * mnote-olympus-entry_8c.html#e1adbce218e7a9d09164012443191d24string ;
00072         } exif-entry_8c.html#999e61f123728f445ec40f6062a1b338elem [10];
00073 } mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [] = {
00074   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a7093cfc57ff7cc466587785ca28953eMNOTE_NIKON_TAG_LENSTYPE , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d2fdf39e6e5864897d50e52419fbe48356EXIF_FORMAT_BYTE ,
00075     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("AF non D Lens")},
00076       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Manual")},
00077       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("AF-D or AF-S Lens")},
00078       {6, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("AF-D G Lens")},
00079       {10, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("AF-D VR Lens")},
00080       {0, NULL}}},
00081   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a8f131fdc05739fd051ca5d0742e9915MNOTE_NIKON_TAG_FLASHUSED , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d2fdf39e6e5864897d50e52419fbe48356EXIF_FORMAT_BYTE ,
00082     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Flash did not fire")},
00083       {4, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Flash unit unknown")},
00084       {7, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Flash is external")},
00085       {9, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Flash is on Camera")},
00086       {0, NULL}}},
00087   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686e1940faf94da7d882fed9a13408d21d6MNOTE_NIKON1_TAG_QUALITY , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00088     { {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("VGA Basic")},
00089       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("VGA Normal")},
00090       {3, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("VGA Fine")},
00091       {4, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SXGA Basic")},
00092       {5, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SXGA Normal")},
00093       {6, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SXGA Fine")},
00094       {10, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("2 MPixel Basic")},
00095       {11, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("2 MPixel Normal")},
00096       {12, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("2 MPixel Fine")},
00097       {0, NULL}}},
00098   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746866423d9ef6b4fd9ca513340b837d4184eMNOTE_NIKON1_TAG_COLORMODE , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00099     { {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Color")},
00100       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Monochrome")},
00101       {0, NULL}}},
00102   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468638d65fa23950660dcf7413ae873f8145MNOTE_NIKON1_TAG_IMAGEADJUSTMENT , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00103     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Normal")},
00104       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Bright+")},
00105       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Bright-")},
00106       {3, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Contrast+")},
00107       {4, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Contrast-")},
00108       {0, NULL}}},
00109   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468632fbda78323edfc440459f48d899e721MNOTE_NIKON1_TAG_CCDSENSITIVITY , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00110     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("ISO80")},
00111       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("ISO160")},
00112       {4, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("ISO320")},
00113       {5, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("ISO100")},
00114       {0, NULL}}},
00115   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746860029fcb84cba9755d776ebb53f3de65aMNOTE_NIKON1_TAG_WHITEBALANCE , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00116     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Auto")},
00117       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Preset")},
00118       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Daylight")},
00119       {3, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Incandescense")},
00120       {4, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Fluorescence")},
00121       {5, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Cloudy")},
00122       {6, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SpeedLight")},
00123       {0, NULL}}},
00124   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746868b0fa71c1b7a2bc4a554150f6e517d96MNOTE_NIKON1_TAG_CONVERTER , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00125     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("No Fisheye")},
00126       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Fisheye On")},
00127       {0, NULL}}},
00128   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746864d48d8c676d293105f43388a0621fea6MNOTE_OLYMPUS_TAG_QUALITY , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00129     { {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SQ")},
00130       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("HQ")},
00131       {3, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("SHQ")},
00132       {0, NULL}}},
00133   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468653b56a9c64206fdc56317703d581ab10MNOTE_OLYMPUS_TAG_MACRO , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00134     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("No")},
00135       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Yes")},
00136       {0, NULL}}},
00137   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686c4eb11c9c02166371c30dbb377290979MNOTE_OLYMPUS_TAG_DIGIZOOM , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00138     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("1x")},
00139       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("2x")},
00140       {0, NULL}}},
00141   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468628bab579c24d0125a9d21991ef9783fcMNOTE_OLYMPUS_TAG_FLASHMODE , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00142     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Auto")},
00143       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Red-eye reduction")},
00144       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Fill")},
00145       {3, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Off")},
00146       {0, NULL}}},
00147   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746863d6d4f44251dd6b49175c6e09d869685MNOTE_OLYMPUS_TAG_SHARPNESS , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00148     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Normal")},
00149       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Hard")},
00150       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Soft")},
00151       {0, NULL}}},
00152   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686253140d1f8647009e1a24ff61f80f7efMNOTE_OLYMPUS_TAG_CONTRAST , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00153     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Hard")},
00154       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Normal")},
00155       {2, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Soft")},
00156       {0, NULL}}},
00157   { mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a48248aea15499dbd88e9570593ce968MNOTE_OLYMPUS_TAG_MANFOCUS , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT ,
00158     { {0, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("No")},
00159       {1, i18n_8h.html#75278405e7f034d2b1af80bfd94675feN_ ("Yes")},
00160       {0, NULL}}},
00161   { 0, }
00162 };
00163 
00164 char *
mnote-olympus-entry_8h.html#b0f8efbd0c69bd3a3c0811483a54586100165  mnote-olympus-entry_8c.html#c037be3986826d7e73f647376e19a220mnote_olympus_entry_get_value  ( struct__MnoteOlympusEntry.htmlMnoteOlympusEntry  *entry, char *v, unsigned int maxlen)
00166 {
00167         char         buf[30];
00168         exif-utils_8h.html#34c5d7765ab2e6dec8308c5127a10afaExifLong      vl;
00169         exif-utils_8h.html#398536727127a9bc2206ffbdacaafaadExifShort     vs = 0;
00170         structExifRational.htmlExifRational  vr;
00171         int          i, j;
00172         double       r, b;
00173 
00174         if (!entry)
00175                 return (NULL);
00176 
00177         memset (v, 0, maxlen);
00178         maxlen--;
00179 
00180         if ((!entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data ) && (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components  > 0)) return (v);
00181 
00182         switch (entry-> struct__MnoteOlympusEntry.html#b0cc8c0d3b18e39cf4c42ef3881645b8tag ) {
00183         
00184         /* Nikon */ 00185         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746868ab5603cc9e8423fb70dea669de5bbd6MNOTE_NIKON_TAG_FIRMWARE :
00186                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format ,  exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25ce63b2dc5a1db046bcd130bb0eff2bcEXIF_FORMAT_UNDEFINED , v, maxlen);
00187                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 4, v, maxlen);
00188                 vl = exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00189                 if ((vl & 0xF0F0F0F0) == 0x30303030) {
00190                         memcpy (v, entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, 4));
00191                 } else {
00192                         snprintf (v, maxlen, "%04lx", (long unsigned int) vl);
00193                 }
00194                 break;
00195         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686d7f3047cb2bdb8c38f4c75b982b636c5MNOTE_NIKON_TAG_ISO :
00196                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT , v, maxlen);
00197                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 2, v, maxlen);
00198                 //vs = exif_get_short (entry->data, entry->order); 00199                 vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data  + 2, entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00200                 snprintf (v, maxlen, "ISO %hd", vs);
00201                 break;
00202         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746862dd1950b02ae18c25ae34e9450b741cfMNOTE_NIKON_TAG_ISO2 :
00203                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT , v, maxlen);
00204                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 2, v, maxlen);
00205                 //vs = exif_get_short (entry->data, entry->order); 00206                 vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data  + 2, entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00207                 snprintf (v, maxlen, "ISO2 %hd", vs);
00208                 break;
00209         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686adf9f1e473976c023740abb8b8a7033aMNOTE_NIKON_TAG_QUALITY :
00210                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d28cee3caa738d8bb85311678f0cb0e868EXIF_FORMAT_ASCII , v, maxlen);
00211                 //CC (entry->components, 8, v, maxlen); 00212                 //vl =  exif_get_long (entry->data  , entry->order); 00213                 //printf("-> 0x%04x\n",entry->data); 00214                 //printf("-> 0x%s<\n",entry->data - 0); 00215                 memcpy(v, entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data  ,entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components );
00216                 //snprintf (v, maxlen, "%s<",  ( entry->data - 9  ); 00217                 break;
00218         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746863ec8bf66d43870bee4d2071af6e65385MNOTE_NIKON_TAG_COLORMODE :
00219         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686f768aa67c4070a9587bcc888857cb2ceMNOTE_NIKON_TAG_COLORMODE1 :
00220         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a1aa31076c247b7626f1cd3d9a3d0f1cMNOTE_NIKON_TAG_WHITEBALANCE :
00221         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686bbff1351f649627b91651cc9f3ca8d20MNOTE_NIKON_TAG_SHARPENING :
00222         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686e071f1135050c60c3a365aa6a0e8c5deMNOTE_NIKON_TAG_FOCUSMODE :
00223         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686ee8f4773348e06031123de764ec167a6MNOTE_NIKON_TAG_FLASHSETTING :
00224         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746863b00eac802c62b5d653ac1853b67bcb5MNOTE_NIKON_TAG_ISOSELECTION :
00225         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746866f37c752d05e9509653918aba2c95eb4MNOTE_NIKON_TAG_FLASHMODE :
00226         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468603fb832d9499706077eeb4434d37a51cMNOTE_NIKON_TAG_IMAGEADJUSTMENT :
00227         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468697b19d0ca106139028866fc826949587MNOTE_NIKON_TAG_ADAPTER :
00228                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d28cee3caa738d8bb85311678f0cb0e868EXIF_FORMAT_ASCII , v, maxlen);
00229                 memcpy(v, entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components ));
00230                 break;
00231         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686167271a188e9434043a4d7acf00da93dMNOTE_NIKON_TAG_TOTALPICTURES :
00232                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25611dcd2fcdcaf91f25412bece8485b6EXIF_FORMAT_LONG , v, maxlen);
00233                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00234                 vl =  exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00235                 snprintf (v, maxlen, "%lu",  (long unsigned int) vl );
00236                 break;
00237         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686fef9c79078ac7bf02dbbcf46bb6daeebMNOTE_NIKON_TAG_WHITEBALANCEFINE :
00238                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d285dbf2985c5d03f406746f0b0cf1cbbeEXIF_FORMAT_SSHORT , v, maxlen);
00239                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00240                 vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00241                 snprintf (v, maxlen, "%hd", vs);
00242                 break;
00243         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686348ad353dedf08a7b14f698d04f35d84MNOTE_NIKON_TAG_WHITEBALANCERB :
00244                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00245                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 4, v, maxlen);
00246                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00247                 r = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr. structExifRational.html#2c32f17876dd1f86a1869450946be56bdenominator ;
00248                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data +8, entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00249                 b = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr. structExifRational.html#2c32f17876dd1f86a1869450946be56bdenominator ;
00250                 //printf("numerator %li, denominator %li\n", vr.numerator, vr.denominator); 00251                 snprintf (v, maxlen, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Red Correction %f, Blue Correction %f"), r,b);
00252                 break;
00253         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746865b44bb8c80cb4f011787ab3b4f1306cfMNOTE_NIKON_TAG_MANUALFOCUSDISTANCE :
00254                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00255                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00256                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00257                 if (vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator ) {
00258                         r = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr. structExifRational.html#2c32f17876dd1f86a1869450946be56bdenominator ;
00259                         snprintf (v, maxlen, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("%2.2f meters"), r);
00260                 } else {
00261                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("No manual focus selection"), maxlen);
00262                 }
00263                 break;
00264         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686d84c3966f115356f57bbf868218587f3MNOTE_NIKON_TAG_DIGITALZOOM :
00265         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468671271938967dd8d29bbfc941011872beMNOTE_NIKON1_TAG_DIGITALZOOM :
00266                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00267                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00268                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00269                 r = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr. structExifRational.html#2c32f17876dd1f86a1869450946be56bdenominator ;
00270                 snprintf (v, maxlen, "%2.2f", r);
00271                 break;
00272         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686b0df026af228a53403f2551e4b89dcc3MNOTE_NIKON_TAG_AFFOCUSPOSITION :
00273                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25ce63b2dc5a1db046bcd130bb0eff2bcEXIF_FORMAT_UNDEFINED , v, maxlen);
00274                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 4, v, maxlen);
00275                 switch (  *( entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data +1)  ) {
00276                         case  0: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("AF Position: Center"), maxlen); break;
00277                         case  1: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("AF Position: Top"), maxlen); break;
00278                         case  2: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("AF Position: Bottom"), maxlen); break;
00279                         case  3: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("AF Position: Left"), maxlen); break;
00280                         case  4: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("AF Position: Right"), maxlen); break;
00281                         default: strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Unknown AF Position"), maxlen);
00282                 }     
00283                 break;
00284         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686c4eb11c9c02166371c30dbb377290979MNOTE_OLYMPUS_TAG_DIGIZOOM :
00285                 if (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format  == exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL ) {
00286                         mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00287                         vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00288                         r = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr. structExifRational.html#2c32f17876dd1f86a1869450946be56bdenominator ;
00289                         if (!vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator ) {
00290                                 strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("None"), maxlen);
00291                         } else {
00292                                 snprintf (v, maxlen, "%2.2f", r);
00293                         }
00294                         break;
00295                 }
00296                 /* fall through to handle SHORT version of this tag */ 00297         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a7093cfc57ff7cc466587785ca28953eMNOTE_NIKON_TAG_LENSTYPE :
00298         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a8f131fdc05739fd051ca5d0742e9915MNOTE_NIKON_TAG_FLASHUSED :
00299         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686e1940faf94da7d882fed9a13408d21d6MNOTE_NIKON1_TAG_QUALITY :
00300         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746866423d9ef6b4fd9ca513340b837d4184eMNOTE_NIKON1_TAG_COLORMODE :
00301         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468638d65fa23950660dcf7413ae873f8145MNOTE_NIKON1_TAG_IMAGEADJUSTMENT :
00302         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468632fbda78323edfc440459f48d899e721MNOTE_NIKON1_TAG_CCDSENSITIVITY :
00303         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746860029fcb84cba9755d776ebb53f3de65aMNOTE_NIKON1_TAG_WHITEBALANCE :
00304         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746868b0fa71c1b7a2bc4a554150f6e517d96MNOTE_NIKON1_TAG_CONVERTER :
00305         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746864d48d8c676d293105f43388a0621fea6MNOTE_OLYMPUS_TAG_QUALITY :
00306         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468653b56a9c64206fdc56317703d581ab10MNOTE_OLYMPUS_TAG_MACRO :
00307         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468628bab579c24d0125a9d21991ef9783fcMNOTE_OLYMPUS_TAG_FLASHMODE :
00308         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746863d6d4f44251dd6b49175c6e09d869685MNOTE_OLYMPUS_TAG_SHARPNESS :
00309         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686253140d1f8647009e1a24ff61f80f7efMNOTE_OLYMPUS_TAG_CONTRAST :
00310         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a48248aea15499dbd88e9570593ce968MNOTE_OLYMPUS_TAG_MANFOCUS :
00311                 /* search the tag */ 00312                 for (i = 0; ( mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i].tag && mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i].tag != entry-> struct__MnoteOlympusEntry.html#b0cc8c0d3b18e39cf4c42ef3881645b8tag ); i++);
00313                 if (! mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i]. mnote-canon-tag_8c.html#f81b5c697b6608b9a512a4bf55f025e8tag ) {
00314                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Internal error"), maxlen);
00315                         break;
00316                 }
00317                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format , mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i].fmt, v, maxlen);
00318                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry-> struct__MnoteOlympusEntry.html#e728d4f0db6d1d00aa1d31426a3be051components , 1, v, maxlen);
00319                 switch (entry-> struct__MnoteOlympusEntry.html#a6c6942f8c365ddd5251b43a14471df8format ) {
00320                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d2fdf39e6e5864897d50e52419fbe48356EXIF_FORMAT_BYTE :
00321                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25ce63b2dc5a1db046bcd130bb0eff2bcEXIF_FORMAT_UNDEFINED :
00322                         vs = entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data [0];
00323                         break;
00324                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT :
00325                         vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short (entry-> struct__MnoteOlympusEntry.html#faf1ec8526e7e59d3a1f7fe0fb51b470data , entry-> struct__MnoteOlympusEntry.html#af33b1b1fc726738ae27b949be8041e4order );
00326                         break;
00327                 default:
00328                         vs = 0;
00329                         break;
00330                 }
00331                 /* find the value */ 00332                 for (j = 0; mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i].elem[j].string &&
00333                             ( mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i].elem[j].index < vs); j++);
00334                 if ( mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i]. exif-entry_8c.html#999e61f123728f445ec40f6062a1b338elem [j]. exif-entry_8c.html#750b5d744c39a06bfb13e6eb010e35d0index  != vs) {
00335                         snprintf (v, maxlen, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Unknown value %hi"), vs);
00336                         break;
00337                 }
00338                 strncpy (v, mnote-olympus-entry_8c.html#371468674b06da9cb591a4132a61abe1items [i]. exif-entry_8c.html#999e61f123728f445ec40f6062a1b338elem [j]. mnote-olympus-entry_8c.html#e1adbce218e7a9d09164012443191d24string , maxlen);
00339                 break;
00340 
00341         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686c2801f4cdaa10a017ceb5a642f0ec26bMNOTE_NIKON_TAG_LENS :
00342                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00343                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 4, v, maxlen);
00344                 {
00345                         double c,d;
00346                         unsigned long a,b;
00347                         vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data, entry->order);
00348                         a = vr.numerator / vr.denominator;
00349                         vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data+8, entry->order);
00350                         b = vr.numerator / vr.denominator;
00351                         vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data+16, entry->order);
00352                         c = (double)vr.numerator / vr.denominator;
00353                         vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data+24, entry->order);
00354                         d = (double)vr. structExifRational.html#f0b91792fb6f2a858be8ca9ae6795a19numerator  / vr.denominator;
00355                         //printf("numerator %li, denominator %li\n", vr.numerator, vr.denominator); 00356                         snprintf (v, maxlen, "%ld-%ldmm 1:%3.1f - %3.1f",a,b,c,d);
00357                 }
00358                 break;
00359         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686a93282cdad55cf43d0593bbe2efc22a5MNOTE_NIKON1_TAG_FOCUS :
00360                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00361                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 1, v, maxlen);
00362                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data, entry->order);
00363                 if (!vr.denominator) {
00364                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Infinite"), maxlen);
00365                 } else {
00366                         r = (double)vr.numerator / vr.denominator;
00367                         snprintf (v, maxlen, "%2.2f", r);
00368                 }
00369                 break;
00370 
00371         /* Olympus */ 00372         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746861c8f6c2c9b429f76b12d9e4bcd2ed56cMNOTE_OLYMPUS_TAG_MODE :
00373                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25611dcd2fcdcaf91f25412bece8485b6EXIF_FORMAT_LONG , v, maxlen);
00374                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 3, v, maxlen);
00375                 vl = exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry->data, entry->order);
00376                 switch (vl) {
00377                 case 0:
00378                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("normal"), maxlen);
00379                         break;
00380                 case 1:
00381                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("unknown"), maxlen);
00382                         break;
00383                 case 2:
00384                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("fast"), maxlen);
00385                         break;
00386                 case 3:
00387                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("panorama"), maxlen);
00388                         break;
00389                 default:
00390                         snprintf (v, maxlen, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("%li"), (long int) vl);
00391                 }
00392                 vl = exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry->data + 4, entry->order);
00393                 snprintf (buf, sizeof (buf), "/%li/", (long int) vl);
00394                 strncat (v, buf, maxlen - strlen (v));
00395                 vl = exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry->data + 4, entry->order);
00396                 switch (vl) {
00397                 case 1:
00398                         strncat (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("left to right"), maxlen - strlen (v));
00399                         break;
00400                 case 2:
00401                         strncat (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("right to left"), maxlen - strlen (v));
00402                         break;
00403                 case 3:
00404                         strncat (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("bottom to top"), maxlen - strlen (v));
00405                         break;
00406                 case 4:
00407                         strncat (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("top to bottom"), maxlen - strlen (v));
00408                         break;
00409                 default:
00410                         snprintf (buf, sizeof (buf), i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("%li"),
00411                                   (long int) vl);
00412                         strncat (v, buf, maxlen - strlen (v));
00413                 }
00414                 break;
00415         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a274686ed6709ff1f9fdc8b84d05a18b6d49e60MNOTE_OLYMPUS_TAG_UNKNOWN_1 :
00416                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT , v, maxlen);
00417                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 1, v, maxlen);
00418                 strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Unknown tag."), maxlen);
00419                 break;
00420         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a27468667d27873e90a6e4cd6afcd7ef643f3e3MNOTE_OLYMPUS_TAG_UNKNOWN_2 :
00421                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00422                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 1, v, maxlen);
00423                 break;
00424         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746867b267a688f46a5a72e16cbec3cfab1c2MNOTE_OLYMPUS_TAG_UNKNOWN_3 :
00425                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d285dbf2985c5d03f406746f0b0cf1cbbeEXIF_FORMAT_SSHORT , v, maxlen);
00426                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 1, v, maxlen);
00427                 break;
00428         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746863c0b536ff229a6c2a64d95cccf0a568fMNOTE_OLYMPUS_TAG_VERSION :
00429                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d28cee3caa738d8bb85311678f0cb0e868EXIF_FORMAT_ASCII , v, maxlen);
00430                 mnote-canon-entry_8c.html#d10a673ae1cc3b2ac77f28c2e8f09737CC2  (entry->components, 5, 8, v, maxlen);
00431                 strncpy (v, (char *)entry->data, exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, entry->size));
00432                 break;
00433         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746868ac7209933e9b9b038fb963f2077fbccMNOTE_OLYMPUS_TAG_INFO :
00434                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d28cee3caa738d8bb85311678f0cb0e868EXIF_FORMAT_ASCII , v, maxlen);
00435                 mnote-canon-entry_8c.html#d10a673ae1cc3b2ac77f28c2e8f09737CC2  (entry->components, 52, 53, v, maxlen);
00436                 strncpy (v, (char *)entry->data, exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, entry->size));
00437                 break;
00438         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746860149e52c88fe729a37ad67a4f37c5f82MNOTE_OLYMPUS_TAG_ID :
00439                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25ce63b2dc5a1db046bcd130bb0eff2bcEXIF_FORMAT_UNDEFINED , v, maxlen);
00440                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 32, v, maxlen);
00441                 strncpy (v, (char *)entry->data, exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, entry->size));
00442                 break;
00443         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746865993b48e9d618002d1b97d0e43ed31ffMNOTE_OLYMPUS_TAG_UNKNOWN_4 :
00444                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25611dcd2fcdcaf91f25412bece8485b6EXIF_FORMAT_LONG , v, maxlen);
00445                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 30, v, maxlen);
00446                 break;
00447         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746867afe2cbc55b9c3f64b96fa45c45175ebMNOTE_OLYMPUS_TAG_FOCUSDIST :
00448                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d22712817194f241cb15f19e5a77d2bf42EXIF_FORMAT_RATIONAL , v, maxlen);
00449                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 1, v, maxlen);
00450                 vr = exif-utils_8c.html#1feb547c289aa57a4d2119338b03706cexif_get_rational  (entry->data, entry->order);
00451                 if (vr.numerator == 0) {
00452                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Unknown"), maxlen);
00453                 }
00454                 else {
00455                         unsigned long tmp = vr.numerator / vr.denominator;
00456                         /* printf("numerator %li, denominator %li\n", vr.numerator, vr.denominator); */ 00457                         snprintf (v, maxlen, "%li mm", tmp);
00458                 }
00459                 break;
00460         case mnote-olympus-tag_8h.html#4b8d8a90fb313de066b339db8a2746869d1d57be47894b4f73bd5afd7a9646f0MNOTE_OLYMPUS_TAG_WBALANCE :
00461                 mnote-canon-entry_8c.html#be3f1c3be53cd1322a0c0d55b7277e64CF  (entry->format, exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT , v, maxlen);
00462                 mnote-canon-entry_8c.html#07ec45612d8ae3bfd365de49a1459ce3CC  (entry->components, 2, v, maxlen);
00463                 vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry->data, entry->order);
00464                 switch (vs) {
00465                 case 1:
00466                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Automatic"), maxlen);
00467                         break;
00468                 case 2:
00469                         {
00470                                 exif-utils_8h.html#398536727127a9bc2206ffbdacaafaadExifShort  v2 = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry->data + 2, entry->order);
00471                                 unsigned long colorTemp = 0;
00472                                 switch (v2) {
00473                                 case 2:
00474                                         colorTemp = 3000;
00475                                         break;
00476                                 case 3:
00477                                         colorTemp = 3700;
00478                                         break;
00479                                 case 4:
00480                                         colorTemp = 4000;
00481                                         break;
00482                                 case 5:
00483                                         colorTemp = 4500;
00484                                         break;
00485                                 case 6:
00486                                         colorTemp = 5500;
00487                                         break;
00488                                 case 7:
00489                                         colorTemp = 6500;
00490                                         break;
00491                                 case 9:
00492                                         colorTemp = 7500;
00493                                         break;
00494                                 }
00495                                 if (colorTemp) {
00496                                         snprintf (v, maxlen, "Manual: %liK", colorTemp);
00497                                 }
00498                                 else {
00499                                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Manual: Unknown"), maxlen);
00500                                 }
00501 
00502                         }
00503                         break;
00504                 case 3:
00505                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("One-touch"), maxlen);
00506                         break;
00507                 default:
00508                         strncpy (v, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("Unknown"), maxlen);
00509                         break;
00510                 }
00511                 break;
00512         default:
00513                 switch (entry->format) {
00514                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d28cee3caa738d8bb85311678f0cb0e868EXIF_FORMAT_ASCII :
00515                         strncpy (v, (char *)entry->data,
00516                                  exif-loader_8c.html#3acffbd305ee72dcd4593c0d8af64a4fMIN  (maxlen, entry->components));
00517                         break;
00518                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25f22efb2ec9e3bd9e29faa87cd7b64e5EXIF_FORMAT_SHORT :
00519                         vs = exif-utils_8c.html#4b4acf537a8c6b9405e7b53be868e4d7exif_get_short  (entry->data, entry->order);
00520                         snprintf (v, maxlen, "%hi", vs);
00521                         break;
00522                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25611dcd2fcdcaf91f25412bece8485b6EXIF_FORMAT_LONG :
00523                         vl = exif-utils_8c.html#4ad94614630897766dd0a5c9bc2a59bfexif_get_long  (entry->data, entry->order);
00524                         snprintf (v, maxlen, "%li", (long int) vl);
00525                         break;
00526                 case exif-format_8h.html#761152047d73b4a9fcdc4e2051b817d25ce63b2dc5a1db046bcd130bb0eff2bcEXIF_FORMAT_UNDEFINED :
00527                 default:
00528                         snprintf (v, maxlen, i18n_8h.html#32a3cf3d9dd914f5aeeca5423c157934_ ("%li bytes unknown data: "),
00529                                   (long int) entry->size);
00530                         for (i = 0; i < (int)entry->size; i++) {
00531                                 sprintf (buf, "%02x", entry->data[i]);
00532                                 strncat (v, buf, maxlen - strlen (v));
00533                         }
00534                         break;
00535                 }
00536                 break;
00537         }
00538 
00539         return (v);
00540 }
Generated on Sun Apr 23 02:19:19 2006 for EXIF library (libexif) Internals by 
http://www.doxygen.org/index.htmldoxygen  1.4.6 