sj: Add -W/--wait option
[sunny256-utils.git] / mp3_to_ogg
blob08f782f744f197f47f59c7c6564ecc91edb1dbff
1 #!/usr/bin/env bash
3 # mp3_to_ogg
4 # File ID: 5f192e02-5d41-11df-b8db-90e6ba3022ac
6 # Konverterer alle *.mp3-filene til ogg og legger dem i en egen "ogg"-katalog.
7 # Hvis -r spesifiseres som første parameter, slettes mp3-filene etterhvert som
8 # konverteringa skrider frem. Hvis filnavn ikke blir skrevet etter kvaliteten,
9 # konverteres alle *.mp3-filene i katalogen scriptet kjøres i.
11 # Laget av Øyvind A. Holm <sunny@sunbase.org>
13 remove_files=0
15 [ "$1" = "-r" ] && { remove_files=1; shift; }
16 [ "$1" = "" ] && { echo "Syntax: $0 [-r] kvalitet_(-1_til_10) [filer]" >&2; exit 1; }
18 # (mpg321 --version | grep -i "mpg321" >/dev/null 2>&1) || { echo "Trenger mpg321(1) for å kjøre" >&2; exit 1; }
19 # (oggenc --version | grep -i "oggenc" >/dev/null 2>&1) || { echo "Trenger oggenc(1) for å kjøre" >&2; exit 1; }
20 # (sed --version | grep -i "sed" >/dev/null 2>&1) || { echo "Trenger sed(1) for å kjøre" >&2; exit 1; }
22 KVAL=$1; shift;
24 if [ "$1" = "" ]; then
25 exp="*.[mM][pP]3"
26 else
27 exp="$*"
30 [ -d "ogg" ] || mkdir ogg || { echo "Klarte ikke mkdir ogg" >&2; exit 1; }
32 for f in $exp; do
33 if [ -r "$f" ]; then
34 echo "======== Konverterer \"$f\"..."
35 mpg321 --wav - "$f" | oggenc -q$KVAL -c "encoding=$(oggenc --version 2>&1) -q$KVAL" -c "sourcemedia=MP3" -o "$(echo "ogg/$f"|sed s/\\.mp3$//i).ogg" -
36 [ "$remove_files" = "1" ] && rm -v "$f"
37 else
38 echo "$f: Klarte ikke å åpne fila for lesing." >&2
40 echo
41 done