#!/bin/sh
# flac2ogg
# Written in 2019-2020 by Lucas
# CC0 1.0 Universal/Public domain - No rights reserved
#
# To the extent possible under law, the author(s) have dedicated all
# copyright and related and neighboring rights to this software to the
# public domain worldwide. This software is distributed without any
# warranty. You should have received a copy of the CC0 Public Domain
# Dedication along with this software. If not, see
# <http://creativecommons.org/publicdomain/zero/1.0/>.

err()
{
	printf "%s: %s\n" "${0##*/}" "$*" >&2
	exit 1
}

convert_to_ogg()
{
	ogg=${1%.flac}.ogg

	printf "Converting %s ..." "$1"
	oggenc -Q -q 7 -o "$ogg" "$1"

	rc=$?
	if [ $rc -ne 0 ]; then
		echo " FAIL"
	else
		echo " OK"
	fi
	return $rc
}

rc=0
if [ -t 0 ]; then
	if [ $# -gt 0 ]; then
		for flac in "$@"; do
			[ -f "$flac" ] || err "$flac: not found"
			convert_to_ogg "$flac" || rc=$?
		done
	else
		for flac in *.flac; do
			[ -f "$flac" ] || continue
			convert_to_ogg "$flac" || rc=$?
		done
	fi
else
	while read -r flac; do
		[ -f "$flac" ] || err "$flac: not found"
		convert_to_ogg "$flac" || rc=$?
	done
fi
exit $rc
