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
|