amazstream

Amarok 1.x Scripts

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on git.opendesktop.org

0
Score 50%
Description:

amazstream is a little script (and description) which enables streaming of audios heared in amarok to a streaming server (icecast2).

Several users asked for and no solution was given in the vanilla amarok so here's a "quick & dirty" solution.

pisani

10 years ago

Hello --
I thought I'd post a few modifications to your script that I found helpful. First off, I had to change the bash path as /usr/local/bin doesn't exist in my distro. Anyhow, I added in another "dirty" method for pause/resume by suspending the icecast server and continuing it on "playing" status change. I also added in a quick check that firesoff the icecast and ezstream processes. The paths for configuration may need to change based on the user's configuration. I don't believe the kill of the ezstream or icecast are working at this moment. I think a trap needs to be added to catch the kill signal from amarok so that i cleans up.

#!/bin/bash

if !(ps -ef | grep -q icecast | grep -v grep); then

/usr/bin/icecast -c /etc/icecast.xml &

fi

if !(ps -ef | grep -q ezstream | grep -v grep); then

/usr/bin/ezstream -c ~/ezstream/amazstream.xml &

fi
ICEPID=$(/sbin/pidof icecast)
EZPID=$(/sbin/pidof ezstream)

while read stdin; do
if [ "${stdin}" == "trackChange" ]; then
dcop amarok player path > ~/ezstream/amazstream.txt
killall -USR1 ezstream 2 > /dev/null
sleep 1
elif [ "${stdin}" == "engineStateChange: paused" ]; then

kill -19 $ICEPID

elif [ "${stdin}" == "engineStateChange: playing" ]; then

kill -18 $ICEPID

fi

done <&0

kill $EZPID $ICEPID

Report

File (click to download) Version Description Downloads Date Filesize DL OCS-Install
Pling
Details
license
version
0.0.1
updated May 23 2008
added May 21 2008
downloads today
0
page views today 1
page views total 491
System Tags addon