From e1906bc19ef725fe08a11e7722e5505b74014867 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 4 Aug 2011 02:10:00 +0200 Subject: added stream module for noise in /etc/sudoers you will need to add: noise ALL=(ALL) NOPASSWD: /krebs/streams/streams noise/modules/stream: is a sudo wrapper for streams/streams --- noise/modules/stream | 66 ++-------------------------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) (limited to 'noise') diff --git a/noise/modules/stream b/noise/modules/stream index 1e6fd0c5..476ffff9 100755 --- a/noise/modules/stream +++ b/noise/modules/stream @@ -1,64 +1,2 @@ -#! /bin/sh -inputdir=$HOME/noise/streams -basename="`basename "$0"`" -case "$1" in - (--help) - if echo "$0 $*" | grep -q '[[:space:]]--verbose\>'; then - echo -e "\x1B[35mtype \x1B[32m/$basename off \x1B[35mto turn stream off\x1B[m" - for i in `ls $inputdir` ; do - filename="$inputdir/$i" - shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` - title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"` - topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"` - stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` - echo -e "\x1B[35mtype \x1B[32m/$basename $shortcut \x1B[35mfor $topic\x1B[m" - done - else - echo "play an audio stream" - fi - ;; - (*) - exec 2>&1 - ffs='xml' - - if test -z "$*" ; then - echo -e "\x1B[32m/stream off \x1B[33m- turn stream off\x1B[m" - for i in `ls $inputdir` ; do - filename="$inputdir/$i" - shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` - title=`xmlstarlet sel -t -v /station/@title "$inputdir/$i"` - topic=`xmlstarlet sel -t -v /station/@topic "$inputdir/$i"` - stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` - echo -e "\x1B[32m/stream $shortcut \x1B[33m- $title \x1B[35m$topic\x1B[m" - done - else if [ "$1" = "off" ]; then - [ ! -d /tmp/noise ] || ( echo "no directory /tmp/noise; aborting" ; exit 1 ) - [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` ) - [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 ) - else - for i in `ls $inputdir` ; do - filename="$inputdir/$i" - shortcut=`xmlstarlet sel -t -v /station/@shortcut "$inputdir/$i"` - stream=`xmlstarlet sel -t -v /station/@stream "$inputdir/$i"` - if [ "$shortcut" == "$1" ]; then - [ ! -d /tmp/noise ] || ( umask 077 ; mkdir /tmp/noise ) || ( echo "can't create /tmp/noise; aborting" ; exit 1 ) - [ -f /tmp/noise/stream.pid ] && ( kill ` cat /tmp/noise/stream.pid ` ) - [ -e /tmp/noise/stream.pid ] && rm /tmp/noise/stream.pid || ( echo "can't remove /tmp/noise/stream.pid; aborting" ; exit 1 ) - mplayer -cache 2048 -quiet "$stream" & - ( umask 077 ; echo $! > /tmp/noise/stream.pid ) - break - fi - done || cat<