SqueezeSlave
From SqueezeboxWiki
Contents |
Squeezeslave
SqueezeSlave is a software music player that allows you to play music streamed from Squeezebox Server (formerly known as SqueezeCenter, SlimServer) and SqueezeNetwork.SqueezeSlave is an alternative to SqueezePlay and SoftSqueeze. The main difference is that SqueezeSlave has no graphical interface (GUI), but rather is run from a command line. A text based display is supported as of version 0.9-133 on all platforms similar to the SLIMP3. This mode is disabled by default. This makes SqueezeSlave useful as a player for "headless" applications (e.g., server computer without display). It's also useful as a background player where a display is not required, or as a player which uses the least computing resources.
SqueezeSlave was written by Richard Titmuss with contributions from Adrian Smith, Alan Young, Dominique Leroux, Duane Paddock, Graham Chapman, Ivor Bosloper, Jason Melvin, Luke Redpath, Ryan Press, Sam Gupta and Uri Savoray.
SqueezeSlave is currently maintained by Ralph Irving http://forums.slimdevices.com/member.php?u=3484.
If you have problems with SqueezeSlave read the support thread at http://forums.slimdevices.com/showthread.php?t=93607 for additional help.
SqueezeSlave is no longer being developed. Check out Squeezelite.
Version 1.3 is the final release. It adds audio driver selection, audio buffers resizing, osx powerpc G3 and openindiana intel builds and WDM-KS windows driver support.
Version 1.2 adds server discovery and named device selection. Tested against server versions 7.3.4, 7.5.6, 7.6.2 and 7.7.1.
Version 1.1 fixes a long standing issue with squeezeslave ALSA hanging after the playlist was stopped the first time.
Version 1.0 fixed a long standing bug in the buffering code that caused playback to not advance after the end of the first track when the duration of the track was less than 30 seconds. The bug also caused several online music services like LastFM and Napster to exhibit the problem. Version 1.0 has been tested with Squeezebox Server versions 7.3.4, 7.4.2, 7.5.1 and 7.6 r31503. Server versions older than 7.3.4 have not been tested so YMMV.
Version 0.9 brought replay gain support with Squeezebox Server v7.4 r26720 or later. Positive dB replay gain values are ignored to prevent clipping.
The linux version supports ALSA, pulseaudio and OSS audio, IR remotes, USB displays, on screen text mode display and keyboard navigation.
The windows version as of 0.9-133 supports Direct Sound and ASIO audio, on screen text mode display and player navigation via keyboard. IR remotes and USB displays support is not available at this time.
All versions of squeezeslave prior to 0.9-133 hang after playing the first remote audio stream between Squeezebox Server v7.4 r28009 and v7.6 r30499. A server side fix was applied at SBS v7.6 r30500. SqueezeCenter versions 7.3.4 and older are not affected. Gentoo ebuilds for Squeezebox Server v7.4.2 and v7.5 include the server side patch - Thanks Stuart. The patch is also available in the squeezeslave source patches directory as httpsocketclose.patch.
The additional display features no longer require patching for Squeezebox Server v7.4 r26720 or later. For older versions of SqueezeCenter the replay gain patches below include the necessary changes for the display feature.
Patch files squeezecenter_squeezeslave_player3-7.3.patch and squeezecenter_squeezeslave_player3-7.2.patch are included in the binary packages if that build has the features enabled for squeezecenter 7.3.3 and 7.2.2 running on linux/solaris. They are also available in the source tree under the patches subdirectory.
Executable versions for Windows, Linux Intel/ARMel, OSX PPC/Intel and Solaris SPARC/Intel can be downloaded from SourceForge.net at: http://sourceforge.net/projects/softsqueeze/files/squeezeslave/squeezeslave-1.2.311/
Makefiles are available for NetBSD and FreeBSD, see build instructions below.
Donations to the squeezeslave project always appreciated.
Installation
Mac OS X installation
The Mac OS X version can be downloaded from http://sourceforge.net/projects/softsqueeze/files/squeezeslave/squeezeslave-1.2.311/squeezeslave-1.2-311-osx.tar.gz/download Unpacking the file gives a folder with
- A GNU
LICENSE.txt
- A
squeezeslave
executable. - A launchd
squeezeslave.plist
description file
A look at the plist
file indicates that the executable is to be renamed and moved to /opt/local/bin/
.
You might have to create the corresponding directory.
Time to open the Terminal as an administrator, navigate to the place the downloaded files are located and
mkdir -p /opt/local/bin/ mv squeezeslave /opt/local/bin/squeezeslave
You can now check the command line options with
/opt/local/bin/squeezeslave -h
The next step is to find out which number is associated to the output device you plan to use
/opt/local/bin/squeezeslave -L
which gave me
Output devices: 0: iSight 1: Built-in Line Input 2: Built-in Digital Input 3: Built-in Output 4: Built-in Line Output 5: Built-in Digital Output
Now try to run it. If your Squeezecenter runs on the same machine and you want to send the audio to the line output
/opt/local/bin/squeezeslave -o4
If the Squeezecenter runs on another machine, add its host name to the command line
/opt/local/bin/squeezeslave -o4 macmini.mynet
Now open the SqueezeCenter control webpage and look at the players list. The new Squeezeslave should have appeared.
If this works, you are ready to have Squeezeslave automatically launched at boot time.
Lingon http://sourceforge.net/projects/lingon/ provides a gui to edit and create launchd configuration files or you can edit squeezeslave.plist
with a text editor and customize it to your installation.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>OnDemand</key> <false/> <key>RunAtLoad</key> <true/> <key>Label</key> <string>squeezeslave</string> <key>ProgramArguments</key> <array> <string>/opt/local/bin/squeezeslave</string> <string>-o4</string> <string>-r10</string> <string>macmini.mynet</string> </array> </dict> </plist>
If you intend to use more than one Squeezeslave, you will need to provide a different mac address to each
<array> <string>/opt/local/bin/squeezeslave</string> <string>-o4</string> <string>-r10</string> <string>-m00:00:00:00:00:16</string> <string>macmini.mynet</string> </array>
For me, the lengthier command parameter --mac 00:00:00:00:00:16
didn't work properly.
Move the file to the proper place
mv squeezeslave.plist /Library/LaunchDaemons/ chown root:wheel /Library/LaunchDaemons/squeezeslave.plist
Start Squeezeslave
launchctl load /Library/LaunchDaemons/squeezeslave.plist
Check it is running
ps ax | grep squeeze
Stop it
launchctl remove squeezelave
The Squeezeslave should now automatically launch at login time.
There are two known issues running squeezeslave under launchctl.
- The system can take up to 20 seconds to enter sleep mode.
- If squeezeslave is playing when sleep mode is activated, no audio will be heard after system resume. Stop and restart the player to restore audio.
Fedora Linux installation instructions
- Download the latest squeezeslave binary archive.
- Extract all the files to /opt/squeezeslave
- Create a file /etc/sysconfig/squeezeslave
# Edit this to suit your setup SQUEEZESLAVE_HOME="/opt/squeezeslave" SQUEEZESLAVE_LOG="/var/log/squeezeslave/squeezeslave.log" SQUEEZESLAVE_BINARY="squeezeslave-1.1-305" SQUEEZESLAVE_ARGS="--daemonize" # the init script will check for the alsa output with the name specified here and use the appropriate device SQUEEZESLAVE_OUTPUT="spdif" # comment out the device to let the startup script evaluate the device on runtime #SQUEEZESLAVE_DEVICE="-o 0" SQUEEZESLAVE_MAC="00:00:00:00:01:00" SQUEEZESLAVE_SERVER="myserver"
- Create a file /etc/init.d/squeezeslave
#!/bin/sh # # squeezeslave Startup script for the Squeezebox emulator # # chkconfig: 345 81 31 # description: Squeezeslave emulates a Squeezebox and connects to a Squeezebox server # processname: squeezeslave-lnx26 # config: /etc/sysconfig/squeezeslave # ### BEGIN INIT INFO # Provides: squeezeslave # Required-Start: squeezeboxserver # Should-Start: # Required-Stop: squeezeboxserver # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Startup script for the Squeezeslave daemon # Description: Squeezeslave emulates a Squeezebox and connects to a Squeezebox server ### END INIT INFO . /etc/init.d/functions # Check for existence of needed config file and read it SQUEEZESLAVE_CONFIG=/etc/sysconfig/squeezeslave test -r $SQUEEZESLAVE_CONFIG || { echo "$SQUEEZESLAVE_CONFIG not existing"; if [ "$1" = "stop" ]; then exit 0; else exit 6; fi; } # Read config . $SQUEEZESLAVE_CONFIG # Check for missing binaries (stale symlinks should not happen) # Note: Special treatment of stop for LSB conformance test -x $SQUEEZESLAVE_HOME/$SQUEEZESLAVE_BINARY || { echo "$SQUEEZESLAVE_BINARY not installed"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } LOCKFILE="/var/lock/subsys/squeezeslave" RETVAL=0 start(){ echo -n $"Starting Squeezeslave daemon: " # query the number of the audio device squeezeslave presents us as the available sound devices # it will be listed as e.g "6: (ALSA) pulse (11/46)" # we will choose this one "2: (ALSA) front (11/46)" SQUEEZESLAVE_DEVICE=`$SQUEEZESLAVE_HOME/$SQUEEZESLAVE_BINARY -L | grep -i $SQUEEZESLAVE_OUTPUT | awk -F ':' '{ print $1 }' | sed -e '1,$s/ //g'` daemon $SQUEEZESLAVE_HOME/$SQUEEZESLAVE_BINARY --daemonize $SQUEEZESLAVE_LOG -o $SQUEEZESLAVE_DEVICE -m $SQUEEZESLAVE_MAC $SQUEEZESLAVE_SERVER & RETVAL=$? echo touch $LOCKFILE return $RETVAL } stop(){ echo -n $"Stopping Squeezeslave daemon: " killproc $SQUEEZESLAVE_BINARY echo RETVAL=$? rm -f $LOCKFILE return $RETVAL } restart(){ stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; status) status squeezeslave ;; condrestart) [ -e $LOCKFILE ] && restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart}" RETVAL=1 esac exit $RETVAL
Linux build instructions
Prebuilt versions of squeezeslave for most platforms are available on SourceForge.net. However, if you have problems with the precompiled binaries for linux, please checkout the source and build yourself. There have been many issues lately with system libraries and the linux binaries that have been solved by building your own.
The current source tree for squeezeslave is available on Google Code.
To checkout version 1.2-311 use the branch url
svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/branches/squeezeslave-1.2-311
If a subversion client is not available you can download the source code in tar format.
http://sourceforge.net/projects/softsqueeze/files/squeezeslave/squeezeslave-1.2.311/squeezeslave-1.2-311-src.tar.bz2/download
You can checkout the latest development code from trunk with this url.
svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/trunk/squeezeslave
To track changes in trunk you can view them at http://code.google.com/p/squeezeslave/source/list
The makefiles build all required support libraries; portaudio, flac, ogg, vorbis and mad.
System libraries are still required for alsa (asound), curses (ncurses) and lirc_client and may require installing the "development" packages to compile successfully.
On ubuntu linux the following commands run as root will install the additional requirements.
sudo apt-get install subversion
sudo apt-get install libasound2-dev
and these additional packages are only required to build the INTERACTIVE version, makefiles with "display" in the filename. The INTERACTIVE (display) adds support for a text console display, much like the SliMP3 player and the ability to control the display using the keyboard. USB LCD displays and IR remotes can also be used with the display version.
sudo apt-get install libncurses5-dev
sudo apt-get install liblircclient-dev
Which makefile does what?
Most current linux distributions are based on the Linux 2.6 kernel so these makefiles should work for most current linux installs.
- Linux 2.6 32-bit intel kernel, OSS, ALSA and pulseaudio audio drivers.
makefile.linux26-alsa-display
- Linux 2.6 64-bit intel kernel, OSS, ALSA and pulseaudio audio drivers.
makefile.linux26-i64-alsa-display
- Linux 2.6 32-bit PowerPC kernel (PS3, PPC Mac Linux), OSS, ALSA and pulseaudio audio drivers
makefile.linux26-ppc-alsa-display
- Linux 2.4 32-bit intel kernel, OSS.
makefile.linux24-display
All deprecated linux makefiles without the -display postfix have been removed and the abilitiy to build squeezeslave without interactive (aka DISPLAY) support is now provided by commenting out two lines from the linux*-display makefiles.
# Comment out these two lines to remove display support # CFLAGS+=-DINTERACTIVE # LIBS+=-lcurses -llirc_client
For more details see deprecated/README.txt in the source repository.
A typical Linux build
svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/trunk/squeezeslave cd squeezeslave make -f makefile.linux26-alsa-display realclean make -f makefile.linux26-alsa-display
Upon successfull completion, you'll find a file in the bin/ directory starting with squeezeslave. Several makefiles append additional words to help identify the "flavour" of the build for packaging purposes. You can safely rename the file to be called just squeezeslave. This step is NOT necessary with the above build example.
FreeBSD build instructions
You need the following ports packages installed: pth, bash, gmake and lirc.
If you don't want lirc and display support, comment out lines 22 and 23.
21:# Comment out these two lines to remove display support 22:CFLAGS+=-DINTERACTIVE 23:LIBS+=-lcurses -L/usr/local/lib -llirc_client
Then, type:
gmake -f contrib/makefile.freebsd-i386
NetBSD build instructions
You need the following pkgsrc packages: multimedia/libogg, audio/libvorbis, audio/libmad, audio/flac and audio/portaudio-devel.
The NetBSD makefile is now available in the source repository.
make -f contrib/makefile.netbsd
This makefile doesn't build squeezeslave with INTERACTIVE (lirc and screen). This should work (you need to install wip/lirc) but I didn't test.
Windows build instructions
Download Cygwin setup from http://www.cygwin.com/setup.exe
Setup.exe version 2.674 was used for this install.
Root Directory: C:\cygwin
All Users (Recommended)
Local Package Directory C:\cygwin\pkgs
Choose a mirror close to your location.
Install the following packages. Note that most are "core" required packages and will already be selected for installation.
alternatives apache2 apache2-devel base-cygwin base-files base-passwd bash binutils bzip2 coreutils crypt csih cygrunsrv cygutils cygwin cygwin-doc dash diffutils editrights findutils gawk gcc-core gcc-g++ gcc-mingw-core gcc-mingw-g++ gdb gettext grep groff gzip ipc-utils less libX11_6 libXau6 libXdmcp6 libXext6 libXmuu1 libXtst6 libapr1 libaprutil1 libbz2_1 libdb4.2 libexpat1 libgcc1 libgdbm4 libgmp3 libiconv2 libintl2 libintl3 libintl8 libncurses8 libncurses9 libneon27 libopenldap2_3_0 libpcre0 libpopt0 libpq5 libreadline6 libreadline7 libsasl2 libserf0_0 libsqlite3_0 libssp0 libstdc++6 libwrap0 libxcb1 login make man mingw-runtime minires openssh openssl patch popt rebase run sed subversion tar tcltk termcap terminfo terminfo0 texinfo tzcode vim w32api wget which zlib zlib-devel zlib0
If you'd like to be able to ssh to your windows machine, instructions on setting up cygwin sshd can be found at http://www.noah.org/ssh/cygwin-sshd.html This step is not required to build squeezeslave.
To build an ASIO binary you need to obtain Steinberg's ASIO SDK asiosdk2.2.zip file from http://www.steinberg.net/en/company/3rd_party_developer/sdk_download_portal.html as it cannot be included in the repository. Registration is required. The ASIO SDK is not needed for the DirectX build.
You'll need to download the DirectX SDK file DXSDK_Mar09.exe or older from http://www.microsoft.com/downloads/details.aspx?FamilyID=24A541D6-0486-4453-8641-1EEE9E21B282&displaylang=en as it's not included in the repository. The DXSDK_Aug09.exe and DXSDK_Feb10.exe releases do NOT compile with squeezeslave as the dsound.h file includes header files only available from Visual Studio. If the version of the SDK you're using is not DXSDK_Mar09.exe you'll need to update the filename in the makefile as well. The DirectX SDK is not needed for the ASIO build.
The WASAPI version does not require any additional files be downloaded for a successful build.
Launch a 'Cygwin Bash Shell" command prompt window. The icon should be on your Desktop.
svn checkout http://squeezeslave.googlecode.com/svn/squeezeslave/trunk/squeezeslave cd squeezeslave
Direct sound build Copy DXSDK_Mar09.exe file into the sources subdirectory using Windows explorer. make -f makefile.mingw32-display realclean make -f makefile.mingw32-display
ASIO build Copy asiosdk2.2.zip file into the sources subdirectory using Windows explorer. make -f makefile.mingw32-asio-display realclean make -f makefile.mingw32-asio-display
WASAPI build make -f makefile.mingw32-wasapi-display realclean make -f makefile.mingw32-wasapi-display
Upon successfull completion, you'll find a file in the bin/ directory called squeezeslave.exe. Several makefiles append a hyphen and an additional word to help identify the "flavour" of the build for packaging purposes.
Command Line Switches
Command Line Switches (options) available (this list available by using the -h switch)
If you experience problems using the --longer command line options, try the one letter equivalent. For those options that require and additional argument, leave no space between the letter and the argument.
For example;
squeezeslave -r10 -o4 -m00:00:00:00:00:02 schostname
Squeezeslave 1.2-311 (Windows)
squeezeslave 1.2-311 Dec 24 2011 08:06:54 compile flags: windows portaudio:1608 asio wasapi debug interactive renice buffer sizes: decoder 2097152 output 2822400 bytes Copyright 2004-2007 Richard Titmuss, 2008-2011 Duane Paddock. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. squeezeslave [options] [<server address>] The Squeezebox Server address defaults to 127.0.0.1. Options: -h, --help Prints this message. -a, Sets the amplitude of a high-frequency tone --predelay_amplitude <val> produced during the predelay (see --predelay). The frequency is set at the source's sampling rate/2 and the amplitude is in absolute value. For 16-bit sources, the max is 32767, but values below 10 are likely to work. The goal is to produce an inaudible signal that will cause DACs to wake-up and lock before actual samples are played out. If the DAC locks using only silence, do not use this option (it will default to 0). -k, --keepalive <sec> Controls how frequently squeezeslave sends a alive signal to Squeezebox Server. 6.5.x servers need this to avoid dropping the player's connection. By default, the implementation chooses the right value: 10s for a >=6.5.x server and 0s for a <6.5.x server, which means no keepalive. -H, --highpriority Change process priority class to high. -S, --shared Use shared mode for a WasApi device. Settings in Control Panel for a shared device must be set to 16-bit, 44100 Hz (CD Quality). Ignored for Asio and Direct Sound devices. -N, --renice Increase process priority, root access required. -D, --display Enable slimp3 style text display and keyboard input. Keys: 0-9: 0-9 Insert or I Add Cursor Keys Arrows >,< Fwd,Rew Home or H Home End or N Now Playing Space or P Pause Enter Play Q Quit R Repeat S Shuffle ? Search b Browse F Favourites % Size Z Sleep +,- Vol up,down -w, --width <chars> Set the display width to <chars> characters -F, --discovery Discover server IP automatically. -L, --list List available audio devices and exit. -I, --findservers List servers found via UDP discovery and exit. -m, --mac <mac_address> Sets the mac address for this instance. Use the colon-separated notation. The default is 00:00:00:00:00:01. Squeezebox Server uses this value to distinguish multiple instances, allowing per-player settings. -n, --name "<device_name>" Sets the output device by name. The output device names can be found with -L. -o, --output <device_id> Sets the output device id. The output device id can be found with -L. -P, --port <portnumber> Sets the Squeezebox Server port number. The default port is 3483. -p, --predelay <msec> Sets a delay before any playback is started. This is useful if the DAC used for output is slow to wake-up/lock, causing the first few samples to be dropped. -R, --retry Causes the program to retry connecting to Squeezebox Server until it succeeds or is stopped using SIGTERM or keyboard entry. If the connection to Squeezebox Server is lost, the program will poll it until it restarts. --retry enables retry with a 5 second delay between attempts. -r <sec>, --intretry <sec> For a different retry interval use -r and the desired interval in seconds. (ie. -r10) Retry interval range is 1-120 seconds. -V, --version Prints the squeezeslave version. -v, --volume <sw|off> Enables/disables volume changes done by Squeezebox Server during its operation, such as when changing the volume through the web interface or when applying replay gain. Defaults to sw. sw: volume changes performed in software. off: volume changes ignored. -y, --latency <msec> Modify the default latency for the audio device. Useful if you experience drop outs during playback. Values between 80-200 ms are recommended. -Y, --debuglog <logfile> Redirect debug output from stderr to <logfile>. -d, --debug <trace_name> Turns on debug tracing for the specified level. The option can be used multiple times to enable multiple levels. Available levels: all slimproto slimaudio slimaudio_buffer slimaudio_buffer_v slimaudio_decoder slimaudio_decoder_r slimaudio_decoder_v slimaudio_http slimaudio_http_v slimaudio_output slimaudio_output_v
Squeezeslave 1.2-311 (Unix)
squeezeslave 1.2-311 Jan 3 2012 06:50:00 compile flags: linux portaudio:1608 debug signals interactive daemon renice buffer sizes: decoder 2097152 output 2822400 bytes Copyright 2004-2007 Richard Titmuss, 2008-2011 Duane Paddock. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. squeezeslave [options] [<server address>] The Squeezebox Server address defaults to 127.0.0.1. Options: -h, --help Prints this message. -a, Sets the amplitude of a high-frequency tone --predelay_amplitude <val> produced during the predelay (see --predelay). The frequency is set at the source's sampling rate/2 and the amplitude is in absolute value. For 16-bit sources, the max is 32767, but values below 10 are likely to work. The goal is to produce an inaudible signal that will cause DACs to wake-up and lock before actual samples are played out. If the DAC locks using only silence, do not use this option (it will default to 0). -k, --keepalive <sec> Controls how frequently squeezeslave sends a alive signal to Squeezebox Server. 6.5.x servers need this to avoid dropping the player's connection. By default, the implementation chooses the right value: 10s for a >=6.5.x server and 0s for a <6.5.x server, which means no keepalive. -N, --renice Increase process priority, root access required. -l, --lcd Enable LCDd (lcdproc) text display. Requires LCDd running on local host. -C, --lcdc Enable old LCDd (lcdproc<0.5.4) text display. -i, --lirc Enable lirc remote control support. Requires lirc running on local host. -c, --lircrc <filename> Location of lirc client configuration file. Default: ~/.lircrc -D, --display Enable slimp3 style text display and keyboard input. Keys: 0-9: 0-9 Insert or I Add Cursor Keys Arrows >,< Fwd,Rew Home or H Home End or N Now Playing Space or P Pause Enter Play Q Quit R Repeat S Shuffle ? Search b Browse F Favourites % Size Z Sleep +,- Vol up,down -w, --width <chars> Set the display width to <chars> characters If using LCDd, width is detected. -F, --discovery Discover server IP automatically. -M, --daemonize <logfile> Run squeezeslave as a daemon. Messages written to specified file. Not supported with lirc and display modes. -L, --list List available audio devices and exit. -I, --findservers List servers found via UDP discovery and exit. -m, --mac <mac_address> Sets the mac address for this instance. Use the colon-separated notation. The default is 00:00:00:00:00:01. Squeezebox Server uses this value to distinguish multiple instances, allowing per-player settings. -n, --name "<device_name>" Sets the output device by name. The output device names can be found with -L. -o, --output <device_id> Sets the output device id. The output device id can be found with -L. -P, --port <portnumber> Sets the Squeezebox Server port number. The default port is 3483. -p, --predelay <msec> Sets a delay before any playback is started. This is useful if the DAC used for output is slow to wake-up/lock, causing the first few samples to be dropped. -R, --retry Causes the program to retry connecting to Squeezebox Server until it succeeds or is stopped using SIGTERM or keyboard entry. If the connection to Squeezebox Server is lost, the program will poll it until it restarts. --retry enables retry with a 5 second delay between attempts. -r <sec>, --intretry <sec> For a different retry interval use -r and the desired interval in seconds. (ie. -r10) Retry interval range is 1-120 seconds. -V, --version Prints the squeezeslave version. -v, --volume <sw|off> Enables/disables volume changes done by Squeezebox Server during its operation, such as when changing the volume through the web interface or when applying replay gain. Defaults to sw. sw: volume changes performed in software. off: volume changes ignored. -y, --latency <msec> Modify the default latency for the audio device. Useful if you experience drop outs during playback. Values between 80-200 ms are recommended. -Y, --debuglog <logfile> Redirect debug output from stderr to <logfile>. -d, --debug <trace_name> Turns on debug tracing for the specified level. The option can be used multiple times to enable multiple levels. Available levels: all slimproto slimaudio slimaudio_buffer slimaudio_buffer_v slimaudio_decoder slimaudio_decoder_r slimaudio_decoder_v slimaudio_http slimaudio_http_v slimaudio_output slimaudio_output_v