#!/usr/bin/env bash

unflac_usage() {
    echo 'Convert FLAC to MP3 320kbps with metadata via ffmpeg.'
    echo 'Usage: unflac [-h|--help] [-d|--delete] [<file>]'
    echo 'Options:'
    echo '  -h, --help      print this message and exit.'
    echo '  -d, --delete    delete original FLAC file after conversion.'
    echo 'For multiple files: for file in *; do unflac -d "$file"; done'
}

[ "$1" ] || { unflac_usage; exit 0; }

while (( "$#" )); do
    case "$1" in
    -h|--help) unflac_usage; exit 0;;
    -d|--delete) delete_flac=1; shift;;
    -*) echo Unknown option $1 >&2; exit 1;;
    *) flac="$1"; shift;;
    esac
done

if [ -f "${flac//\.flac/\.mp3}" ]; then
    echo File \*.mp3 already exists!
else
    echo -e "\e[30;102mFILE: $flac\e[0m";
    if ffmpeg -i "$flac" -ab 320k -map_metadata 0 -id3v2_version 3 "${flac//\.flac/}.mp3"; then
        echo OK
        [ "$delete_flac" ] && { echo -"Deleting original FLAC file: $flac"; rm -f "$flac"; }
    fi
fi
