Lagde et enkelt script for å parse .m3u-playlists laget av MPD og decode til .wav slik at jeg kan brenne de enkelt og i rekkefølge. Scriptet fjerner alle spaces og renamer til lowercase.
Krever flac, ogg-tools og lame.
Script:
Output:
Det ble noe tull med copy/pasting. Det skal være #!/bin/bash øverst, samt "function decode_ogg" ikke "decode_ogg".
Krever flac, ogg-tools og lame.
Script:
Kode
# Decode a list of media files function decode_flac() { flac --silent --decode "$1" -o "$2" 2>/dev/null return $? } function decode_mp3() { lame --silent --decode "$1" "$2" 2>/dev/null return $? } decode_ogg() { oggdec -b 16 --quiet "$1" -o "$2" 2>/dev/null return $? } function fixname() { echo "$1" | tr ' ' '_' | tr '[A-Z]' '[a-z]' } Lines=0 if [ "$VERBOSE" == "yes" ]; then echo "Processing $*..." echo fi cat "$1" | while read file; do { if [ ! -f "$file" ]; then echo "ERROR: $file is not a file" continue fi (( Lines++ )); dest=`pwd` clean=`basename "$file"` line=`printf %02d $Lines` ftype=`echo $clean | awk -F . '{print $NF}'` bname=`basename "$file" .$ftype` bname=$dest/$line---`fixname "$bname"`.wav if [ "$VERBOSE" == "yes" ]; then echo "Decoding $line: $file" fi if [ "$ftype" == "mp3" ]; then decode_mp3 "$file" "$bname" elif [ "$ftype" == "ogg" ]; then decode_ogg "$file" "$bname" elif [ "$ftype" == "flac" ]; then decode_flac "$file" "$bname" else if [ "$VERBOSE" == "yes" ]; then echo -e "\tNot a valid file!" fi fi if [ $? -ne 0 ]; then if [ "$VERBOSE" == "yes" ]; then echo -e "\tDecode failed!" fi else echo $bname fi } done
Kode
13:13:12 [[ incendio ]] kimt:/tmp $ decode /var/lib/mpd/playlists/test.m3u /tmp/01---01._a_perfect_circle_-_the_package.wav /tmp/02---acdc_-_back_in_black.wav /tmp/03---01_chernozem.wav 13:13:42 [[ incendio ]] kimt:/tmp $ VERBOSE=yes decode /var/lib/mpd/playlists/test.m3u Processing /var/lib/mpd/playlists/test.m3u... Decoding 01: /stuff/music/A Perfect Circle/Thirteenth Step (2003)/01. A Perfect Circle - The Package.ogg /tmp/01---01._a_perfect_circle_-_the_package.wav Decoding 02: /stuff/music/singles/ACDC - Back In Black.mp3 /tmp/02---acdc_-_back_in_black.wav Decoding 03: /stuff/music/aes_dana--memory_shell/01 Chernozem.flac /tmp/03---01_chernozem.wav
Sist endret av slicer; 1. mars 2009 kl. 13:38.
Grunn: Automatisk sammenslåing med etterfølgende innlegg.