55 lines
1.1 KiB
Bash
55 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# flac2ogg
|
|
# Written in 2019 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 "$1" ] || err "Missing file \"$1\"."
|
|
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 "$1" ] || err "Missing file \"$1\"."
|
|
convert_to_ogg "$flac" || rc=$?
|
|
done
|
|
fi
|
|
exit $rc
|