Add flac2ogg
This commit is contained in:
parent
e29482a373
commit
be2b7edc4c
@ -14,8 +14,8 @@
|
||||
|
||||
PREFIX = $(HOME)
|
||||
MANPREFIX = $(PREFIX)/local
|
||||
BIN = ZZZ browser credentials fetch imgresize invidious rfcopen \
|
||||
screenshot sekrit tor-browser w3m-copy-link xsekrit
|
||||
BIN = ZZZ browser credentials fetch flac2ogg imgresize invidious \
|
||||
rfcopen screenshot sekrit tor-browser w3m-copy-link xsekrit
|
||||
MAN1 = sekrit.1
|
||||
|
||||
all: $(BIN)
|
||||
|
54
bin/flac2ogg.sh
Normal file
54
bin/flac2ogg.sh
Normal file
@ -0,0 +1,54 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user