Implements a zero-dependency INI parser for application settings with [batch], [conversion], and [quality] sections. Includes AppConfig::load(), write_default(), output_format(), and parsed_extensions() helpers, along with a documented config.ini example file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
52 lines
1.6 KiB
INI
52 lines
1.6 KiB
INI
# photo-converter configuration
|
||
# Lines starting with # or ; are comments.
|
||
# Copy this file and adjust paths before running in batch mode:
|
||
# photo-converter --batch --config config.ini
|
||
|
||
[batch]
|
||
# Directory containing input images (RAW or standard formats)
|
||
input_dir = import
|
||
|
||
# Directory where converted images are written
|
||
output_dir = output
|
||
|
||
# Scan input_dir recursively into subdirectories (true/false)
|
||
recursive = false
|
||
|
||
# Comma-separated list of file extensions to process (case-insensitive)
|
||
file_extensions = arw,cr2,cr3,nef,dng,orf,rw2,raf,pef,jpg,jpeg,png,tif,tiff
|
||
|
||
[conversion]
|
||
# Film type detection strategy:
|
||
# auto – NegativeDetector analyses the histogram and orange mask
|
||
# c41 – force C-41 colour negative processing
|
||
# bw – force B&W negative processing
|
||
film_type = auto
|
||
|
||
# Output format:
|
||
# png16 – 16-bit PNG (lossless, archival quality)
|
||
# png8 – 8-bit PNG (lossless, smaller files)
|
||
# tiff16 – 16-bit TIFF (lossless, for professional editing)
|
||
# jpg – 8-bit JPEG (lossy, smallest files)
|
||
output_format = png16
|
||
|
||
# Output bit depth (8 or 16); ignored when format is jpeg
|
||
output_bit_depth = 16
|
||
|
||
# Automatically detect and crop the film frame (true/false)
|
||
auto_crop = true
|
||
|
||
# Apply unsharp-mask sharpening (true/false)
|
||
sharpen = true
|
||
|
||
# Invert negative to positive (true/false)
|
||
# Set to false if input is already a positive (slide/print)
|
||
invert = true
|
||
|
||
[quality]
|
||
# JPEG output quality [0-100]; only used when output_format = jpg
|
||
jpeg_quality = 95
|
||
|
||
# Unsharp-mask strength [0.0-1.0]
|
||
sharpen_strength = 0.5
|