CD -rippaus automaattiseksi
Virittelin cd -levyn muuttamisen mp3-tiedostoiksi tapahtumaan aika kätevästi. Kun cd -asemaan ilmestyy cd -levy, levyn kappaleet muutetaan mp3-tiedostoiksi automaattisesi, kopioidaan kansioon jossa muukin musiikki on ja kun homma on ohi niin sen merkiksi levykelkka avautuu. Lisäksi Abcde hakee levyn ja kappaleiden nimet tiedostoille automaattisesti cd -tietokannasta.
Järjestelmään tarvitaan:
Abcde (A Better CD Encoder).
asennus: sudo apt-get install abcde
CDDA Paranoia
asennus: sudo apt-get install cdparanoia
LAME MP3 Encoder
asennus: sudo apt-get install lame
Automaattiseen cd -rippaukseen tarvittavat skriptit löytyy asennuksen jälkeen /usr/share/doc/abcde/examples/ -kansiosta. Kansiosta kopioidaan abcde.init -tiedosto /etc/init.d/ -kansioon. Lisäksi abcded -tiedoston kopioin /usr/local/bin kansioon ja muutin omistajaksi rootin (chown root abcded).
/etc/abcde.conf -tiedostoon muokkasin hieman lame -asetuksia, koska oletusasetuksilla mp3 -tiedostojen laaduksi tulee 128kbps. Muutettu rivi näyttää tältä: LAMEOPTS='-v --vbr-new'. Muu oleellinen tieto annetaan abcde:lle käynnistyskäskyn yhteydessä: /usr/bin/abcde -o mp3 -x -N -f. (optioiden merkitys selviää abcde -manuaalista man abcde).
Taustaprosessi käynnistyy komennolla /etc/init.d/abcde.init start.
/usr/local/bin/abcded:
#!/bin/sh
DATE=`date +%Y-%m-%d_%Hh%Mm%S`
DELAY=10
CDPARANOIA=”cdparanoia -Q 2>&1 | grep ‘audio only’”
while true; do
sleep $DELAY
GO=$CDPARANOIA
RET=$?
if [ $RET = "0" ] ; then
/usr/bin/abcde -o mp3 -x -N -f > /tmp/rip_abcde.log.$DATE 2>&1
fi
done
/etc/init.d/abcde.init:
#!/bin/sh
##########
# The first argument tells what to do.
##########
RUNNING=`ps -ef|grep [a]bcded|awk ‘{ print $2 }’`
state=$1
case $state in
start)
if [ -n "$RUNNING" ]; then
echo “abcde daemon already running.”
exit 0
fi
echo “Starting abcde daemon”
abcded &
echo “Done.”
;;
stop)
if [ -n "$RUNNING" ]; then
/bin/kill -9 $RUNNING > /dev/null
if [ $? = 0 ]; then
echo “abcde daemon killed”
fi
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac