Ignore:
Timestamp:
2017-10-30T22:46:09+01:00 (8 years ago)
Author:
Don-vip
Message:

fix #15505 - update to metadata-extractor 2.10.1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/com/drew/metadata/exif/makernotes/OlympusCameraSettingsMakernoteDescriptor.java

    r10862 r13061  
    4141 * @author Drew Noakes https://drewnoakes.com
    4242 */
     43@SuppressWarnings("WeakerAccess")
    4344public class OlympusCameraSettingsMakernoteDescriptor extends TagDescriptor<OlympusCameraSettingsMakernoteDirectory>
    4445{
     
    143144            case TagArtFilterEffect:
    144145                return getArtFilterEffectDescription();
     146            case TagColorCreatorEffect:
     147                return getColorCreatorEffectDescription();
    145148
    146149            case TagDriveMode:
     
    407410        int p4 = (int)(values[index + 3].doubleValue() * 100);
    408411
     412        if(p1 + p2 + p3 + p4 == 0)
     413            return "n/a";
     414
    409415        return String.format("(%d%%,%d%%) (%d%%,%d%%)", p1, p2, p3, p4);
    410 
    411416    }
    412417
     
    10191024        StringBuilder sb = new StringBuilder();
    10201025        for (int i = 0; i < values.length; i++) {
    1021             if (i == 1)
    1022                 sb.append("Highlights ");
    1023             else if (i == 5)
    1024                 sb.append("Shadows ");
    1025 
    1026             sb.append(values[i]).append("; ");
     1026            if (i == 0 || i == 4 || i == 8 || i == 12 || i == 16 || i == 20 || i == 24)
     1027                sb.append(_toneLevelType.get(values[i])).append("; ");
     1028            else
     1029                sb.append(values[i]).append("; ");
    10271030        }
    10281031
     
    10341037    {
    10351038        int[] values = _directory.getIntArray(TagArtFilterEffect);
    1036         if (values == null || values.length == 0)
     1039        if (values == null)
    10371040            return null;
    10381041
     
    10401043        for (int i = 0; i < values.length; i++) {
    10411044            if (i == 0) {
    1042                 sb.append((_filters.containsKey(values[i]) ? _filters.get(values[i]) : "[unknown]"));
     1045                sb.append((_filters.containsKey(values[i]) ? _filters.get(values[i]) : "[unknown]")).append("; ");
     1046            } else if (i == 3) {
     1047                sb.append("Partial Color ").append(values[i]).append("; ");
    10431048            } else if (i == 4) {
    10441049                switch (values[i]) {
     
    10681073                        break;
    10691074                }
     1075                sb.append("; ");
     1076            } else if (i == 6) {
     1077                switch (values[i]) {
     1078                    case 0:
     1079                        sb.append("No Color Filter");
     1080                        break;
     1081                    case 1:
     1082                        sb.append("Yellow Color Filter");
     1083                        break;
     1084                    case 2:
     1085                        sb.append("Orange Color Filter");
     1086                        break;
     1087                    case 3:
     1088                        sb.append("Red Color Filter");
     1089                        break;
     1090                    case 4:
     1091                        sb.append("Green Color Filter");
     1092                        break;
     1093                    default:
     1094                        sb.append("Unknown (").append(values[i]).append(")");
     1095                        break;
     1096                }
     1097                sb.append("; ");
    10701098            } else {
    1071                 sb.append(values[i]);
     1099                sb.append(values[i]).append("; ");
    10721100            }
    1073             sb.append("; ");
     1101        }
     1102
     1103        return sb.substring(0, sb.length() - 2);
     1104    }
     1105
     1106    @Nullable
     1107    public String getColorCreatorEffectDescription()
     1108    {
     1109        int[] values = _directory.getIntArray(TagColorCreatorEffect);
     1110        if (values == null)
     1111            return null;
     1112
     1113        StringBuilder sb = new StringBuilder();
     1114        for (int i = 0; i < values.length; i++) {
     1115            if (i == 0) {
     1116                sb.append("Color ").append(values[i]).append("; ");
     1117            } else if (i == 3) {
     1118                sb.append("Strength ").append(values[i]).append("; ");
     1119            } else {
     1120                sb.append(values[i]).append("; ");
     1121            }
    10741122        }
    10751123
     
    12941342    }
    12951343
     1344    @Nullable
    12961345    private String getFiltersDescription(int tagId)
    12971346    {
     
    13121361    }
    13131362
     1363    private static final HashMap<Integer, String> _toneLevelType = new HashMap<Integer, String>();
    13141364    // ArtFilter, ArtFilterEffect and MagicFilter values
    13151365    private static final HashMap<Integer, String> _filters = new HashMap<Integer, String>();
     
    13541404        _filters.put(40, "Partial Color II");
    13551405        _filters.put(41, "Partial Color III");
     1406
     1407        _toneLevelType.put(0, "0");
     1408        _toneLevelType.put(-31999, "Highlights ");
     1409        _toneLevelType.put(-31998, "Shadows ");
     1410        _toneLevelType.put(-31997, "Midtones ");
    13561411    }
    13571412}
Note: See TracChangeset for help on using the changeset viewer.