104 lines
3.2 KiB
Bash
104 lines
3.2 KiB
Bash
prntSet() {
|
|
cat << EOF
|
|
$(bold CameraName): ${CAM_NAME}
|
|
$(bold RecordingDate): ${REC_DATE}
|
|
$(bold RecordingTime): ${REC_TIME}
|
|
|
|
$(bold FPS): ${FPS}
|
|
$(bold Resolution): ${RES_IN}
|
|
$(bold TotalFrames): ${FRAMES}
|
|
|
|
$(bold Aperture): ${APERTURE}
|
|
$(bold ISO): ${ISO}
|
|
$(bold ShutterSpeed): ${SHUTTER}
|
|
$(bold WBKelvin): ${KELVIN}
|
|
|
|
$(bold FocalLength): ${LEN_FOCAL}
|
|
|
|
EOF
|
|
}
|
|
|
|
mlvSet() {
|
|
camDump=$(${MLV_DUMP} -v -m ${ARG}) #Read it in *once*; otherwise it's unbearably slow on external media.
|
|
|
|
FPS=`echo "$camDump" | grep FPS | awk 'FNR == 1 {print $3}'`
|
|
|
|
CAM_NAME=`echo "$camDump" | grep 'Camera Name' | cut -d "'" -f 2`
|
|
FRAMES=`echo "$camDump" | awk '/Processed/ { print $2; }'` #Use actual processed frames as opposed to what the sometimes incorrect metadata thinks.
|
|
RES_IN=`echo "$camDump" | grep "Res" | sed 's/[[:alpha:] ]*: //'`
|
|
ISO=`echo "$camDump" | grep 'ISO' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f2`
|
|
APERTURE=`echo "$camDump" | grep 'Aperture' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f1`
|
|
LEN_FOCAL=`echo "$camDump" | grep 'Focal Len' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f1`
|
|
SHUTTER=`echo "$camDump" | grep 'Shutter' | sed 's/[[:alpha:] ]*: //' | grep -oP '\(\K[^)]+' | cut -d$'\n' -f1`
|
|
REC_DATE=`echo "$camDump" | grep 'Date' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f1`
|
|
REC_TIME=`echo "$camDump" | grep 'Time: [0-2][0-9]\:*' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f1`
|
|
KELVIN=`echo "$camDump" | grep 'Kelvin' | sed 's/[[:alpha:] ]*: //' | cut -d$'\n' -f1`
|
|
}
|
|
|
|
rawSet() { #To be implemented maybe - exiftool? Or raw_dump? ...
|
|
CAM_NAME="Unknown"
|
|
FRAMES="Unknown"
|
|
RES_IN="Unknown"
|
|
ISO="Unknown"
|
|
APERTURE="Unknown"
|
|
LEN_FOCAL="Unknown"
|
|
SHUTTER="Unknown"
|
|
REC_DATE="Unknown"
|
|
REC_TIME="Unknown"
|
|
KELVIN="Unknown"
|
|
}
|
|
|
|
dngSet() { #Set as many options as the RAW spec will allow. Grey out the rest.
|
|
dngLoc=$1
|
|
|
|
if [[ -z $dngLoc ]]; then dngLoc="${ARG}"; fi
|
|
|
|
for dng in $dngLoc/*.dng; do
|
|
dataDNG="$(pwd)/.datadng.dng"
|
|
cp $dng $dataDNG
|
|
break
|
|
done
|
|
FPS=24 #Standard FPS.
|
|
|
|
#Frames is taken care of.
|
|
CAM_NAME=$(exiftool -UniqueCameraModel -s -s -s $dataDNG)
|
|
RES_IN=$(exiftool -ImageSize -s -s -s $dataDNG)
|
|
ISO=$(exiftool -UniqueCameraModel -s -s -s $dataDNG)
|
|
APERTURE=$(exiftool -ApertureValue -s -s -s $dataDNG)
|
|
LEN_FOCAL=$(exiftool -FocalLength -s -s -s $dataDNG)
|
|
SHUTTER=$(exiftool -ShutterSpeed -s -s -s $dataDNG)
|
|
REC_DATE=$(echo "$(exiftool -DateTimeOriginal -s -s -s $dataDNG)" | cut -d$' ' -f1)
|
|
REC_TIME=$(echo "$(exiftool -DateTimeOriginal -s -s -s $dataDNG)" | cut -d$' ' -f2)
|
|
KELVIN="Unknown"
|
|
|
|
rm $dataDNG
|
|
}
|
|
|
|
printFileSettings() {
|
|
ARG="${FILE_ARGS_ARRAY[0]}"
|
|
checkArg
|
|
|
|
BASE="$(basename "$ARG")"
|
|
EXT="${BASE##*.}"
|
|
|
|
if [ $EXT == "MLV" ] || [ $EXT == "mlv" ]; then
|
|
# Read the header for interesting settings :) .
|
|
mlvSet
|
|
|
|
echo -e "\n\033[1m\033[0;32m\033[1mFile\033[0m: ${ARG}\n"
|
|
prntSet
|
|
elif [ $EXT == "RAW" ] || [ $EXT == "raw" ]; then
|
|
rawSet
|
|
|
|
echo -e "\n\033[1m\033[0;32m\033[1mFile\033[0m\033[0m: ${ARG}\n"
|
|
prntSet
|
|
elif [ -d $ARG ]; then
|
|
dngSet
|
|
|
|
echo -e "\n\033[1m\033[0;32m\033[1mFile\033[0m\033[0m: ${ARG}\n"
|
|
prntSet
|
|
else
|
|
echo -e "Cannot print settings from ${ARG}; it's not a valid file!"
|
|
fi
|
|
}
|