UNPKG

fuji-recipes

Version:

A library to extract film simulation data from EXIF

61 lines (56 loc) 2.96 kB
import { Buffer } from 'buffer'; type ValueOf<T> = T[keyof T]; declare const WHITE_BALANCE_VALUES: { readonly 0: "Auto"; readonly 1: "Auto (white priority)"; readonly 2: "Auto (ambiance priority)"; readonly 256: "Daylight"; readonly 512: "Cloudy"; readonly 768: "Daylight Fluorescent"; readonly 769: "Day White Fluorescent"; readonly 770: "White Fluorescent"; readonly 771: "Warm White Fluorescent"; readonly 772: "Living Room Warm White Fluorescent"; readonly 1024: "Incandescent"; readonly 1280: "Flash"; readonly 1536: "Underwater"; readonly 3840: "Custom"; readonly 3841: "Custom2"; readonly 3842: "Custom3"; readonly 3843: "Custom4"; readonly 3844: "Custom5"; readonly 4080: "Kelvin"; }; type WhiteBalance = ValueOf<typeof WHITE_BALANCE_VALUES>; type WhiteBalanceFineTune = '-9' | '-8' | '-7' | '-6' | '-5' | '-4' | '-3' | '-2' | '-1' | '0' | '+1' | '+2' | '+3' | '+4' | '+5' | '+6' | '+7' | '+8' | '+9'; declare const DYNAMIC_RANGE_SETTING_VALUES: { readonly 0: "Auto"; readonly 1: "Manual"; readonly 256: "Standard (100%)"; readonly 512: "Wide1 (230%)"; readonly 513: "Wide2 (400%)"; readonly 32768: "Film Simulation"; }; type DynamicRangeSetting = ValueOf<typeof DYNAMIC_RANGE_SETTING_VALUES>; /** * Get the recipe from a Fujifilm maker note. * @param makerNote - The maker note as a buffer. */ declare function getRecipe(makerNote: Buffer | number[]): { FilmMode: "F0/Standard (Provia)" | "F1/Studio Portrait" | "F1a/Studio Portrait Enhanced Saturation" | "F1b/Studio Portrait Smooth Skin Tone (Astia)" | "F1c/Studio Portrait Increased Sharpness" | "F2/Fujichrome (Velvia)" | "F3/Studio Portrait Ex" | "F4/Velvia" | "Pro Neg. Std" | "Pro Neg. Hi" | "Classic Chrome" | "Eterna" | "Classic Negative" | "Bleach Bypass" | "Nostalgic Neg" | "Reala ACE"; GrainEffectRoughness: "Off" | "Weak" | "Strong"; GrainEffectSize: "Off" | "Small" | "Large"; ColorChromeEffect: "Off" | "Weak" | "Strong"; ColorChromeFxBlue: "Off" | "Weak" | "Strong"; WhiteBalance: WhiteBalance | `${number}K`; Red: WhiteBalanceFineTune; Blue: WhiteBalanceFineTune; DynamicRange: DynamicRangeSetting | "DR100" | "DR200" | "DR400"; HighlightTone: "+4" | "+3" | "+2" | "+1" | "0" | "-1" | "-2"; ShadowTone: "+4" | "+3" | "+2" | "+1" | "0" | "-1" | "-2"; Saturation: "Film Simulation" | "+4" | "+3" | "+2" | "+1" | "0" | "-1" | "-2" | "-3" | "-4" | "Low" | "None (B&W)" | "B&W Red Filter" | "B&W Yellow Filter" | "B&W Green Filter" | "B&W Sepia" | "Acros" | "Acros Red Filter" | "Acros Yellow Filter" | "Acros Green Filter"; Sharpness: "Film Simulation" | "+4" | "+3" | "+2" | "+1" | "0" | "-1" | "-2" | "-3" | "-4" | "n/a"; NoiseReduction: "+4" | "+3" | "+2" | "+1" | "0" | "-1" | "-2" | "-3" | "-4"; Clarity: "+3" | "+2" | "+1" | "0" | "-1" | "-2" | "-3" | "-4" | "-5"; } | null; export { getRecipe as default, getRecipe };