#/bin/bash # # Captures a frame and converts it to ascii art. # Reads defaults from webcam.conf. BRIGHTNESS/EXPOSURE env vars (set by # exec-cycle.sh's live preview controls) override the config's defaults. dir="$(dirname "$0")" [ -f "$dir/webcam.conf" ] && source "$dir/webcam.conf" : "${RESOLUTION:=640x480}" : "${JPEG_QUALITY:=85}" : "${BRIGHTNESS:=${DEFAULT_BRIGHTNESS:-auto}}" : "${EXPOSURE:=${DEFAULT_EXPOSURE:-auto}}" : "${BRIGHTNESS_CONTROL:=Brightness}" : "${EXPOSURE_CONTROL:=Exposure (Absolute)}" set_opts=() [ "$BRIGHTNESS" != "auto" ] && set_opts+=(--set "${BRIGHTNESS_CONTROL}=${BRIGHTNESS}%") [ "$EXPOSURE" != "auto" ] && set_opts+=(--set "${EXPOSURE_CONTROL}=${EXPOSURE}%") fswebcam -q --no-banner -r "$RESOLUTION" --jpeg "$JPEG_QUALITY" "${set_opts[@]}" web-cam-shot.jpg &> /dev/null ascii-image-converter web-cam-shot.jpg | tee ascii-img.txt