#!/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 # . 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