Difference between revisions of "Squeezelite"

From LinuxMCE
Jump to: navigation, search
(squeezeslave alternative)
 
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
Note: re: output devices: https://code.google.com/p/squeezelite/issues/detail?id=35
 +
 
An alternative for squeezeslave.
 
An alternative for squeezeslave.
  
Line 4: Line 6:
  
 
http://code.google.com/p/squeezelite/
 
http://code.google.com/p/squeezelite/
 +
 +
 +
Squeezelite upstart (/etc/init/squeezelite.conf). This is run after pulseaudio is started up and uses the pulseaudio sink 'kitchen'.
 +
<nowiki>
 +
# squeezelite service
 +
 +
description    "squeezelite"
 +
 +
start on started pulseaudio
 +
stop on starting shutdown or stopping pulseaudio
 +
 +
respawn
 +
 +
env EXEC="/root/squeezelite-i386"
 +
env ARGS="-a 180 -o pulse"
 +
env LOGGING="-d all=info"
 +
env MAC="00:00:00:00:00:04"
 +
env LOGFILE="/var/log/squeezelite.log"
 +
env PIDFILE="/var/run/squeezelite.pid"
 +
env NAME="kitchen"
 +
env PULSE_SINK="kitchen"
 +
env PULSE_PROP_OVERRIDE="application.name='squeezelite kitchen'"
 +
env SERVER="192.168.80.1"
 +
 +
exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -s $SERVER $ARGS $LOGGING -m $MAC -f $LOGFILE -n $NAME
 +
</nowiki>
 +
 +
Take care of the logfile
 +
<nowiki>
 +
/var/log/squeezelite.log {
 +
      daily
 +
      rotate 7
 +
      delaycompress
 +
      compress
 +
      missingok
 +
      postrotate
 +
        [ ! -f /var/run/squeezelite.pid ] || kill -HUP `cat /var/run/squeezelite.pid`
 +
      endscript
 +
}
 +
</nowiki>
 +
 +
Since pulseaudio is started via /etc/init.d/ instead of upstart I changed /etc/init.d/pulseaudio and added to end of the pulseaudio_start () section:
 +
<nowiki>
 +
        if [ ${status} -eq 0 ]; then
 +
                initctl emit started JOB=pulseaudio
 +
        fi
 +
        log_end_msg ${status}
 +
</nowiki>
 +
And added an emit entry to the /etc/init.d/pulseaudio pulseaudio_stop () section:
 +
<nowiki>
 +
pulseaudio_stop () {
 +
        log_daemon_msg "Stopping system PulseAudio Daemon"
 +
        start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n "...which is not running"
 +
        initctl emit stopping JOB=pulseaudio
 +
        log_end_msg $?
 +
}
 +
</nowiki>

Latest revision as of 20:36, 4 April 2015

Note: re: output devices: https://code.google.com/p/squeezelite/issues/detail?id=35

An alternative for squeezeslave.

Downloadable executables and source at:

http://code.google.com/p/squeezelite/


Squeezelite upstart (/etc/init/squeezelite.conf). This is run after pulseaudio is started up and uses the pulseaudio sink 'kitchen'.

# squeezelite service

description     "squeezelite"

start on started pulseaudio
stop on starting shutdown or stopping pulseaudio

respawn

env EXEC="/root/squeezelite-i386"
env ARGS="-a 180 -o pulse"
env LOGGING="-d all=info"
env MAC="00:00:00:00:00:04"
env LOGFILE="/var/log/squeezelite.log"
env PIDFILE="/var/run/squeezelite.pid"
env NAME="kitchen"
env PULSE_SINK="kitchen"
env PULSE_PROP_OVERRIDE="application.name='squeezelite kitchen'"
env SERVER="192.168.80.1"

exec start-stop-daemon  -m --pidfile $PIDFILE --exec $EXEC --start -- -s $SERVER $ARGS $LOGGING -m $MAC -f $LOGFILE -n $NAME

Take care of the logfile

/var/log/squeezelite.log {
       daily
       rotate 7
       delaycompress
       compress
       missingok
       postrotate 
        [ ! -f /var/run/squeezelite.pid ] || kill -HUP `cat /var/run/squeezelite.pid`
       endscript
}

Since pulseaudio is started via /etc/init.d/ instead of upstart I changed /etc/init.d/pulseaudio and added to end of the pulseaudio_start () section:

        if [ ${status} -eq 0 ]; then
                initctl emit started JOB=pulseaudio
        fi
        log_end_msg ${status}

And added an emit entry to the /etc/init.d/pulseaudio pulseaudio_stop () section:

pulseaudio_stop () {
        log_daemon_msg "Stopping system PulseAudio Daemon"
        start-stop-daemon -p $PIDFILE --stop --retry 5 || echo -n "...which is not running"
        initctl emit stopping JOB=pulseaudio
        log_end_msg $?
}