Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # prerequisites: mp3info, gsed (gnu-sed), flac
- /bin/echo -n "Reading files: "
- cat ${1} | while IFS= read -r LINE; do
- EXT=`echo ${LINE} | gsed -e 's/.*\.\([A-z]*\)$/\1/'`
- if [ "${EXT}" == "flac" ]; then
- metaflac --show-total-samples --show-sample-rate "${LINE}" | tr '\n' ' ' | awk '{print $1/$2}' >> /tmp/$$.playlength
- else # mp3
- mp3info -p "%S" "${LINE}" >> /tmp/$$.playlength
- echo '' >> /tmp/$$.playlength
- fi
- done
- echo "Done. Calculating..."
- TOTSECS=0
- for value in `cat /tmp/$$.playlength`; do
- TOTSECS=`echo ${TOTSECS} $value | awk '{print $1+$2}'`
- done
- TOTSECS=`echo ${TOTSECS} | cut -f1 -d'.'`
- rm -f /tmp/$$.playlength
- DAYS=`expr ${TOTSECS} / 86400`
- TOTSECS=`expr ${TOTSECS} % 86400`
- HOURS=`expr ${TOTSECS} / 3600`
- TOTSECS=`expr ${TOTSECS} % 3600`
- MINUTES=`expr ${TOTSECS} / 60`
- SECONDS=`expr ${TOTSECS} % 60`
- /bin/echo -n "Playing time:"
- echo "${DAYS} days, ${HOURS} hours, ${MINUTES} minutes, ${SECONDS} seconds"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement