View Full Version : squeezeslave enhancements
Thanks - yes - that works. However, the option is already off...
Anyway - I've not experienced any more of these sudden volume changes since last night (perhaps since during the day it is at 100% :).
To make this run on openwrt I had to make a few small changes to the code. The main change is that openwrt only has the integer vorbis library (vorbisidec), so the call to ov_read with the endian parameter doesn't exist, and I had to replace it by a call to the simple ov_read. Not sure what the side effects of this could be. (unable to play files ripped on Sun ?) (the software volume control ?) Other changes are more to the make file to support cross-compilation.
Next thing I'd like to get working is the buttons (pause/forward/back/mute/volume) on the speakers... Going to dig into that now...
RichardL
2008-06-02, 10:51
Hopefully this isn't too stupid of a newbie question.
I just moved to Squeezeslave after having problems with Softsqueeze. I was able to set it up (on XP) and I have the batch file so it starts up after a reboot etc.
I seem to have two issues, that I hope are easily fixed...
First, when running there is a DOS Command window open - not a problem since it can be minimized, but it seems to stop the screen being turned off on my PC - the machine runs, but I have a setting to turn off the display after 5 minutes. While Squeezeslave is running, this doesn't seem to work. [Edit: I managed to fix this - I don't know how but by re-applying the power settings, it seems to be working again]
Second, and most important, everything starts up and connects great. If everything is running and I kill Squeezeslave, then manually start it again it resumes - wonderful. If, however the system is rebooted (say from the weekly Windows Update), everything starts up but I have to open the web interface of SC and click Play to start the music. Is there anyway to configure the command line to tell it to start playing? Or perhaps using the SC command line?
I use this as a kind of 'always on' jukebox of music, that I can pick up from any of the secondary audio players around the house (SB3 is in the main music area). If there is no way, I have to teach the wife how to open the web interface, find Squeezeslave and start it, which will be a pain :-)
Any suggestions?
Thanks
tcutting
2008-06-02, 14:22
Don't know how to get "play" started automatically.
I'm having good luck with Moose as a front end for SqueezeSlave. I have a Moose shortcut in my Startup so it starts automatically, and I just found out how to get this instance of Moose to also fire up SqueezeSlave (without DOS window!) by quick edit of the shortcut. Finally, Moose provides quick interface to your SqueezeCenter (which may be easier for your wife) AND it supports the multimedia keys (if you have them)- so you could hit the "play" key on your keyboard (assuming you have multimedia keys).
RichardL
2008-06-02, 17:38
Thanks, I'll check Moose out
tcutting
2008-06-02, 21:29
Just a follow up to my last post: to get Moose to run Squeezeslave automatically, you use shortcut to Moose (I have it in my Startup folder so Moose runs automatically on Windows login), edit the Properties of the shortcut, changing "Target" to:
"C:\Program Files\SqueezeSlave\Moose.exe" /squeezeslave
Within Moose under "Tools/Preferences..." the "misc" tab you can specify the path to SqueezeSlave, and the arguments used to run it.
Hope that helps.
Smiley Dan
2008-06-13, 03:20
I'm getting the dreaded "PortAudio: Host error". I'm running on a headless Centos box. I tried compiling and running with extra debug and still no info.
[gravelld@bordeaux bin]$ ./squeezeslave -d slimproto -O 192.168.0.5
PortAudio error: Host error.
192.168.0.5 is a 6.5 Slimserver.
Any ideas? The lack of feedback has stumped me a little.
I'm getting the dreaded "PortAudio: Host error". I'm running on a headless Centos box. I tried compiling and running with extra debug and still no info.
[gravelld@bordeaux bin]$ ./squeezeslave -d slimproto -O 192.168.0.5
PortAudio error: Host error.
192.168.0.5 is a 6.5 Slimserver.
Any ideas? The lack of feedback has stumped me a little.
Could be a couple of things;
1. First you need to add the -O (capital letter O) option to the command line for 6.5. Checkout -h for all the available options.
2. Ensure you're non-root userid has authority to access the sound card device. Try playing a wav file using aplay perhaps.
3. squeezelsave uses the OSS sound drivers on linux. Do you have the snd-pcm-oss alsa module loaded? If not, load it.
Ralphy
Dean L. Surkin
2008-07-13, 18:45
I just downloaded Squeezeslave .7.5.1 to my Ubuntu 8.04 AMD 64 system, running headless.
I get this message:
> sudo /usr/bin/squeezeslave
Error in recv: Bad file descriptor
Output devices:
0: /dev/dsp
Squeezecenter seems to find my instance of Squeezeslave, but when I select a song and hit play, nothing happens--the screen shows that no song has been selected or is playing. Any thoughts?
--Dean L. Surkin
What version of SC are you running? If it's 6.5 you'll need to add --oldplayer. I'd also suggest adding --retry so squeezeslave doesn't exit if it looses the connection to SC. There should also be no reason to run it as root with sudo, as long as your user can access the sound device. You'll also need the snd-pcm-oss module loaded as SS using the OSS drivers and not native ALSA.
Run squeezeslave --help for all available command line options.
Ralphy
Dean L. Surkin
2008-07-14, 06:03
Dear Ralphy:
Thanks, you've given me some guidance. I'm running Squeezecenter 7.1. I think my problem may be that Squeezeslave uses OSS and not ALSA. Ubuntu 8.04 uses Pulseaudio, and there's a command I should prepend to have it use OSS (I forget the command offhand, but its somewhere in my notes). I'll try this tonight when I return home.
--Dean L. Surkin
calvin.morrow
2008-07-14, 13:04
Using MythBuntu 8.04 I ended up using aoss to prefix squeezeslave to get around the OSS audio output problems.
You'll need to run 'sudo apt-get install alsa-oss' after which you need to run squeezeslave by 'aoss /usr/bin/squeezeslave --signal <IP of SqueezeServer>'.
I'd suggest adding --retry as well so squeezeslave doesn't exit if/when you restart squeezecenter.
I'd suggest adding --retry as well so squeezeslave doesn't exit if/when you restart squeezecenter.
Could someone clarify the documentation of the --keepalive and --retry options?
-k, --keepalive <sec>: Controls how frequently squeezeslave sends a
keepalive signal to SqueezeCenter. 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.xserver, which means no
keepalive.
-r, --retry [sec]: Causes the program to retry connecting to
SqueezeCenter until it succeeds or is stopped using
SIGTERM or keyboard entry (see -s/--signal).
If the connection to SqueezeCenter is lost, the
program will poll it until it restarts. The
optional value specifies the interval between
retries and defaults to 3s.
Does this mean that by default squeezeslave _will_ keepalive and retry with the default values stated, or are they both off by default?
--keepalive is enabled by default, if squeezeslave is connecting to SC7 or newer. Keep alives are not needed for older versions. SS checks the version of the server at startup and sets keep alives accordingly.
--retry is disabled by default. Without this option, a restart of SC will cause SS to exit.
Hope this helps,
Ralphy
--keepalive is enabled by default, if squeezeslave is connecting to SC7 or newer. Keep alives are not needed for older versions. SS checks the version of the server at startup and sets keep alives accordingly.
--retry is disabled by default. Without this option, a restart of SC will cause SS to exit.
Hope this helps
That does help. Thanks. Documentation should probably be made a little clearer.
Why not just always keep Squeezeslave running? Why must it exit when the server can't be reached?
The skipping is due to a patch required for SC7.0.1. Actually there are a couple of patches provided by several people reading this thread that need to be applied to the squeezeslave source in svn. I've attached all 4 from my local source tree, which I've been using with SC7.0.1 for some time now. Would someone please apply these to the svn version?
flacc.patch <- Fixes for compiling with 64bit linux. Thanks KeyzerSuze.
retry.patch <- Work around for a bug in many getopt functions.
sc7.patch <- Fixes skipping in SC7.0.1, SC side patch already applied. Thanks Alan.
version.patch <- Updates SS version to 0.7.5.1, noting above 3 patches applied.
What problems other than the skipping are you seeing with the OSX version?
I have another patch which is needed to get SS to run properly on my older linux machine, but isn't needed with any current linux distro. Perhaps OSX needs it as well.
Ralphy
Ralphy:
I've hunted through this thread, and tried reviewing the code in SVN trunk (apparently 7.3, at least that is what is pointed to in the wiki -- http://svn.slimdevices.com/repos/slim/7.3/trunk/softsqueeze/SlimProtoLib), but I haven't found a definitive answer to whether or not your patches have been applied to the source -- they appear to be in the binaries on Sourceforge. If they have, can you confirm that I should be looking at the above URL for the source?
Thanks,
George
George,
Sorry to the long delay replying to your post, been away on a two week motorcycle trip through the Eastern US and Maritime provinces
I actually use the 7.0 tree url
http://svn.slimdevices.com/repos/slim/7.0/trunk/softsqueeze
but I just built SS with the 7.3 tree and it's fine too as nothing has been changed in squeezeslave in a while. My build environment automatically applied the patches. The 0.7.5.1 binaries on sourceforge have been built with the patches applied. Unfortunately, the patches have not been pushed to svn. You'll need to apply the patches manually before building squeezeslave.
I've been meaning to request checkin access to svn myself, to keep the patches from getting lost, I just haven't had time.
Ralphy.
Has anyone else noticed that after upgrading to SC 7.1.1 that squeezeslave no longer spews "decoder error" messages? I've been running 7.1.1 for a week now and haven't seen it once.
Just curious, what's changed.
Ralphy
Does anyone know if it's possible to have squeezeslave share the audio output with another app? I've done some googling and gotten nowhere, and since I'm not an ALSA guru it's not coming to me in my sleep either :-(
I'm thinking of writing an interface to squeezecenter for XBMC. My plan is to write a music plugin (not a script) to let a user navigate through squeezecenter like any of the other folder views. I was thinking to keep things easier for myself I could create a startup script that would start squeezeslave with the default ethernet MAC for the ID and then control that specific playlist via the plugin.
The problem I'm running into is that XBMC and squeezeslave don't seem to like using the same device. Any ideas?
KeyzerSuze
2008-08-18, 19:45
Does anyone know if it's possible to have squeezeslave share the audio output with another app? I've done some googling and gotten nowhere, and since I'm not an ALSA guru it's not coming to me in my sleep either :-(
I'm thinking of writing an interface to squeezecenter for XBMC. My plan is to write a music plugin (not a script) to let a user navigate through squeezecenter like any of the other folder views. I was thinking to keep things easier for myself I could create a startup script that would start squeezeslave with the default ethernet MAC for the ID and then control that specific playlist via the plugin.
The problem I'm running into is that XBMC and squeezeslave don't seem to like using the same device. Any ideas?
Atleast on linux you have to use aoss
Does anyone know if it's possible to have squeezeslave share the audio output with another app? I've done some googling and gotten nowhere, and since I'm not an ALSA guru it's not coming to me in my sleep either :-(
The problem I'm running into is that XBMC and squeezeslave don't seem to like using the same device. Any ideas?
From what I understand ALSA doesn't allow sharing, but you can start Squeezeslave with "aoss squeezeslave" instead of "squeezeslave" to use aoss instead of ALSA. I've got MythTV frontend and Squeezeslave sharing audio this way and it works fine.
I just got squeezeslave working on my kurobox (PPC running Debian Etch) with SC 7.1. Works well after applying the patch for random skipping. Much better than wget and an audio player.
While debugging the random skipping problem, I noticed in the debug output that squeezeslave was always connecting to http://server/stream.mp3. How do I change it so that I get FLAC, since all my audio is stored in FLAC on the server?
Thanks,
Mark
While debugging the random skipping problem, I noticed in the debug output that squeezeslave was always connecting to http://server/stream.mp3. How do I change it so that I get FLAC, since all my audio is stored in FLAC on the server?
Mark,
Stop squeezeslave, delete the player in squeezecenter and restart squeezeslave using a different MAC. ie. add this to the command line --mac "02:02:02:02:02:02" or you can use the "real" mac address of the machine if you'd prefer. I'd also suggest adding --retry as well.
For all the available command line options you can run squeezeslave --help
Ralphy
Mark,
Stop squeezeslave, delete the player in squeezecenter and restart squeezeslave using a different MAC. ie. add this to the command line --mac "02:02:02:02:02:02" or you can use the "real" mac address of the machine if you'd prefer. I'd also suggest adding --retry as well.
For all the available command line options you can run squeezeslave --help
Ralphy
Thanks. That did the trick. I had the -s and -r options figured out - just what's needed for a headless player. Now I have only ~5% load on the PPC and it sounds great.
Mark
I'm having the same problem that mgsb related to a few posts ago where squeezeslave connects to http://server/stream.mp3 instead of using native streaming for flac or ogg vorbis files. For some reason the suggestion by ralphy to delete the player and restart squeezeslave using a different MAC address didn't work for me.
Does anyone have any other suggestions? (I'm currently running squeezeslave-0.7.5.1 and squeezecenter-7.1.)
dwilliams01
2008-08-27, 20:01
I've looked around, but never managed to find it. Is there a windows executable for this anywhere? I have a Windows Vista box that just won't run softsqueeze properly and I'd like to use it headless anyway.
Thanks!
I've looked around, but never managed to find it. Is there a windows executable for this anywhere?
You can find the binary packages for various platforms including Windows on sourceforge.
http://sourceforge.net/project/showfiles.php?group_id=105169&package_id=176494&release_id=532275
Hi, is anybody having issues with Squuzeslave on Squeezecenter 7.2, I upgraded yesterday and now when ever I try to play anything on a squeezeslave Squeezecenter crashes completely (Latest Squeezeslave build)
My event viwer on the server looks something like this, doesnt mean much to me but I am hoping it may translate to somebody else
Event Type: Error
Event Source: Application
Event Category: None
Event ID: 0
Date: 2008/09/03
Time: 11:37:06 AM
User: N/A
Computer: MPMASTER
Description:
The description for Event ID ( 0 ) in Source ( Application ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: Undefined subroutine &Slim::Player::SqueezeSlave::_unpauseAfterInterval called at /<C:\PROGRA~1\SQUEEZ~1\server\SQUEEZ~1.EXE>Slim/Utils/Timers.pm line 143.
.
thanks
Paul
I presume that you were playing squeeezeslave synced with a SliMP3, SB1 or another software player (squeezeslave, SoftSqueeze). There is indeed a bug in this case. I have opened Bug http://bugs.slimdevices.com/show_bug.cgi?id=9399 for this.
Hi, yes, the moment I sync with another player, be it software or hardware it brings down squeezecenter. Sometimes it will play for half a song or so but the end result is pretty much the same.
I see the Bug report you refer to indicates an OS of debian, I am running Squeezecenter on XP Pro and all my software clients are also XP
thanks
Paul
The OS was not relevant.
Note that syncing between multiple software players will not work in general. Multiple hardware players, plus one software player works just fine. SqueezePlay, a software player, will support sync much better but not generally as well as hardware players.
thanks for that, seems a bit of a shame though. Is this something that can be worked on or is it something that should just be excepted at this point?
I have a confugiration with a good few hardware and software players and syncing is something thats really appealing, specially when entertaining (if only to impress the socks of your mates!! :0)
I presume that you were playing squeeezeslave synced with a SliMP3, SB1 or another software player (squeezeslave, SoftSqueeze). There is indeed a bug in this case. I have opened Bug http://bugs.slimdevices.com/show_bug.cgi?id=9399 for this.
I've got the same problem with my mythtv plugin that borrows a lot of code from squeezeslave (http://sourceforge.net/projects/mythsqueezebox/). While it doesn't crash SqueezeCenter, the software player fails to sync and hangs until restarted. I'm on SqueezeCenter 7.2, but I believe it may have been happening on 7.1 as well -- I hadn't noticed until recently and I can't remember whether it was just before or after the upgrade.
George
jrichardson
2008-09-26, 07:35
There was a fix implemented in the 7.2.1 nightly builds. Please download this version and test for the fix.
if you still see issues, please post your responses to http://bugs.slimdevices.com/show_bug.cgi?id=9399
Hi
I am looking for the squeezeslave sourcecode which could be build successfully under Windows (VS 2005/2008).
I download one from svn.slimdevices.com and got it build under windows, but it crashes at:
hWaveIn = wmmeStreamData->hWaveIn; (px_win_wmme.c line 108)
it think, that the audio->pa_stream structure was not filled correctly before, maybe due to a non matching combination squezzeslave and portaudio / portmixer.
Gerald
Hi,
I got it working.The problem was, that I linked it with portaudioV19 instead of portaudioV18. Now squeezeslave works.
The only problem I have so far is, that when I skip to then next song, then squeezeslave turns quite. I have to restart it to get the sound back.
Gerald
Gerald,
You need to apply the patches I posted earlier in this thread.
http://forums.slimdevices.com/showthread.php?p=305180&highlight=patches#post305180
Ralphy
Aesculus
2008-10-05, 20:13
I have tried 7.5.1 SS under win32 (windows Vista Premium 32). SC is 7.2 on my QNAP NAS. I get connected and a song starts to play and after a few minutes the output starts stuttering. Any thoughts?
The only problem I have so far is, that when I skip to then next song, then squeezeslave turns quite. I have to restart it to get the sound back.
I have the same problem. I'm using squeezeslave on Debian and whenever a song reaches the end and the next one is due to start squeezeslave goes silent.
If I restart squeezeslave it starts to play the last couple of seconds of the same song, then goes silent again.
I really don't understand what is going on.
* Squeezeslave v0.8 unpatched (binary from sourceforge)
* Squeezecenter 7.3.2 debian testing package
It works fine playing from my receiver. I have however experienced the same problem with SoftSqueeze when playing songs that are very short, like 8 seconds.
Anyone know how I can get squeezeslave to work?
Thanks!
Hi,
I'm using squeezeslave-0.8.22, built from source from sourceforge. Nice program, for me it works better than softsqueeze!
I was a bit disapointed however that the song progress bar on my Duet didn't work properly when using this player. Tracing the source code (the overall structure makes it well readable) I think the semantics of Pa_GetStreamTime is misinterpreted. It's documented at http://portaudio.com/docs/v19-doxydocs/portaudio_8h.html#2b3fb60e6949f37f7f134105ff425749 and it already returns the stream's current time in seconds.
Therefore I changed the following part in slimaudio_output.c:
#ifndef PORTAUDIO_ALSA
PaTimestamp numSamples = Pa_StreamTime(audio->pa_stream);
#else
PaTime numSamples = Pa_GetStreamTime(audio->pa_stream);
#endif
const int msec =
(int)((numSamples - audio->pa_streamtime_offset) / 44.100) +
audio->output_predelay_msec;
into:
#ifndef PORTAUDIO_ALSA
PaTimestamp numSamples = Pa_StreamTime(audio->pa_stream);
const int msec =
(int)((numSamples - audio->pa_streamtime_offset) / 44.100) +
audio->output_predelay_msec;
DEBUGF("slimaudio_output_streamtime: streamtime=(%f - %f) / 44.100 + %d = %d\n",
numSamples, audio->pa_streamtime_offset, audio->output_predelay_msec, msec);
#else
PaTime timeProgressed = Pa_GetStreamTime(audio->pa_stream);
const int msec =
(int)((timeProgressed - audio->pa_streamtime_offset) * 1000) + audio->output_predelay_msec;
DEBUGF("slimaudio_output_streamtime: streamtime=(%f - %f) * 1000 + %d = %d\n",
timeProgressed, audio->pa_streamtime_offset, audio->output_predelay_msec, msec);
#endif
If somebody could include this in svn I would be happy (the DEBUGFs could be dropped). I could have sent a patch file if I understood where I could find the current development branch of squeezeslave (could anyone give me a hint?).
Also, is there a more suitable part of the forum to post these kind of messages?
I do not know how up-to-date the Sourceforge version is. The latest source can be found at: http://svn.slimdevices.com/7.3/trunk/softsqueeze/SlimProtoLib/
sluramod
2009-01-13, 22:06
Hello,
I have tried squeezeslave-0.8-12-win32.zip available from sourceforge.net, but I cannot connect to pandora radio with it (it says I must be a subscriber - well, I'm a subscriber and squeezeplay from http://downloads.slimdevices.com/nightly/latest/7.4/ works fine).
Can anybody with pandora account try latest trunk build from slimdevices svn?
Thanks,
Alex
I do not know how up-to-date the Sourceforge version is. The latest source can be found at: http://svn.slimdevices.com/7.3/trunk/softsqueeze/SlimProtoLib/
The sourceforge site is current for both source and binaries.
The source from the above url is missing fixes that are needed for newer versions of Squeezecenter.
Squeezeslave 0.8-12 is the current version for Windows.
There are experimental linux versions for alsa, text mode display, IR control as well as USB LCD displays. The source for these are not available from the slimdevices svn site.
Ralphy
Hi,
I'm using squeezeslave-0.8.22, built from source from sourceforge. Nice program, for me it works better than softsqueeze!
..snip..
If somebody could include this in svn I would be happy (the DEBUGFs could be dropped). I could have sent a patch file if I understood where I could find the current development branch of squeezeslave (could anyone give me a hint?).
Also, is there a more suitable part of the forum to post these kind of messages?
Thanks for the fix. I'll add it to my repository and post an updated source tarball to sourceforge.
The slimdevices developers have abandoned squeezeslave so I've move the development to sourceforge. Please post any fixes to the forum I'm on regularly.
Ralphy
Ralphy. that's good to know. Obviously I have not been keeping up.
Not exactly abandoned, but not really giving it much attention. I tend to try to ensure that any necessary protocol changes make it through. If I come up with anything new I'll post patches here.
Alan.
I've managed to install squeezeslave on my asus wl500gp running openwrt, with logitech USB speakers. "a poor man's squeezebox" :)
I'd like to try that, too. Would you be willing to share your code? Did anyone else port squeezeslave to OpenWrt?
Thanks,
Malte
Powered by vBulletin® Version 4.1.12 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.