Menu

Squeezelite Squeezebox player runs on Chumby one!

uhrheber
2013-05-01
2013-05-06
  • uhrheber

    uhrheber - 2013-05-01

    I just tried to run Squeezelite on the Chumby.

    Works perfectly! Plays smoothly in the background while the widgets keep running.
    I downloaded the binary from:
    http://code.google.com/p/squeezelite/downloads/detail?name=squeezelite-armv5te&can=2&q=

    Should also work on other Chumby hardware.

    Unlike the builtin Squeezebox client, that is just a dumb stream player, Squeezelite is a full blown, headless Squeezebox client. Means, it plays, starts, stops without delay, can be controlled by one of the many Squeezebox remote controll apps, and also the volume can be controlled remotely.
    This is now besides alarm clock, my main use of the chumby, and by far the best stream player I ever had for it.

    For those of you that don't know Squeezebox, it is an infrastructure originally meant for the Logitech hardware boxes. But the server is free and runs on all platforms, even on a NAS, router or the Raspberry Pi.
    It streams local content from disk, relays network streams, and comes with a nice web interface.
    There are also lots of software clients, embedded and GUI, and remote control apps.
    (I'm using Squeezer for Android).
    There's even an addon for XBMC, that you can use to browse/play the contents of the server, or controll other players.
    Several guys have used routers or a Raspberry Pi to build their own hardware players.
    http://www.emmaanuel.com/SqueezeBerry-a-Music-Player-based

    You can get the server here: http://www.mysqueezebox.com/download
    Support here: http://forums.slimdevices.com/index.php

    There's a ready made Linux distribution for the Raspberry Pi, that contains Squeezebox server and clients, amongst other cool stuff: http://www.squeezeplug.eu/

    Zurk, it's easy to add Squeezelite to the chumby manually, but would you perhaps like to add it to your firmware as an option?
    While playing an mp3 stream, it uses 17% of the memory, and 21% of the processor power, therefore it's smaller than btplserver.

     
  • Zurk Tech

    Zurk Tech - 2013-05-01

    will poke around with it and consider it to replace the existing squeezebox client for v25.

     
  • uhrheber

    uhrheber - 2013-05-05

    After some days of usage, Squeezelight turnes out to be very stable and reliable.
    I played hundreds of songs and streams, switched them frequently, and tested also alarms. It didn't fail once.
    The Chumby dashboard crashed once and restarted, while Squeezelight continued to play without interruption.
    Impressive.

     

    Last edit: uhrheber 2013-05-06
  • Zurk Tech

    Zurk Tech - 2013-05-06

    how do i control this with flash ? is there a chumby widget for it ?

     
  • uhrheber

    uhrheber - 2013-05-06

    There is widget, but I didn't test it, because I don't know how to:
    https://github.com/slai/sbController/wiki

    You can control it also using the Squeezebox server's webpage, one of the many apps for Android, iOS or Windows phone, the Logitech Squeezebox controller, the xSqueeze addon for XBMC, and one of the many DIY projects.

    Shouldn't be too complicated to write a widget, because the server's webpage already provides all necessary data.

    Having a widget that shows informations about the actual track/stream would be nice, but I have little need for a real remote control on the chumby, because controlling it with my Android phone is much more comfortable.

     

    Last edit: uhrheber 2013-05-06
  • uhrheber

    uhrheber - 2013-05-06

    BTW: Some rants about DLNA/UPNP:

    I experimented a lot with DLNA and UPNP apps, devices and servers.
    Nothing of it was really reliable. Sometimes it takes ages till the devices are detected, playback needs a very long time to start/stop, stutters, or doesn't work at all. A setup that worked one day doesn't work a day later, etc.
    The squeezebox infrastructure was the first one I discovered, that works really reliable.

    You can even use devices that don't have native Squeezebox support, if they support playback of mp3 network streams.
    Simply tune to http://ip-of-squeezebox-server:9000/stream.mp3.
    Your player will appear as a client, and can be controlled like every other Squeezebox client.
    But you will experience a noticable delay, depending on the buffering time of the player, and the volume can't be controlled remotely.

     

    Last edit: uhrheber 2013-05-06
  • Zurk Tech

    Zurk Tech - 2013-05-06

    well sbcontroller is already in the firmware located on the second channel. the reason btplserver is there is due to upnp support. see: http://www.micro-tux.com/blog/?page_id=31
    if you can make squeezelight work like btpl works now with upnp/sbcontroller let me know how & i can include it.

     
    • uhrheber

      uhrheber - 2013-05-06

      For some reason, I didn't see that.
      Where's the config file for sbcontroller?

       
  • uhrheber

    uhrheber - 2013-05-06

    Just tested the widget, following the instructions of how to run it from a USB stick: https://github.com/slai/sbController/wiki/USB-Installation-Instructions

    You have to edit the xml file and change the address to that of your local Squeezebox server, of course.

    Widget works, but it is somewhat slow and not very comfortable.
    It shows the song/stream informations and the album artwork, you can pause the playback by tapping the screen, and browse back and forth in the playlist by sliding left and right.
    That's all, no browsing of the library or the favourites.

    At least better than nothing.
    It's enough for my needs, as I always use my Android phone to controll the squeezebox players, but it may be too primitive for other users.

    Should be easy for you to integrate it, if you want.

    BTW: Squeezelite also supports the syncronization feature, means you can syncronize two or more clients to play the same music simultaneously with very little skew.
    Nice feature.
    I'm just using it with my A10 Android box and the Chumby playing simultaneously.
    The player for Android is payware, unfortunately.

    Another cheap and good hardware is the Raspberry Pi, being able to run both Squeezebox server and client at the same time, and supporting high end USB soundcards, if you are after perfect quality.

     

    Last edit: uhrheber 2013-05-06
  • Zurk Tech

    Zurk Tech - 2013-05-06

    like i said...if you can let me know how to replace btplserver with squeezelite i would be happy to do so. but the protocols are incompatible between btplayer control interface and squeezelites so i dont see how (unless i am missing something...). from btplserver instructions :
    btplserver is started with a parameter for the port in which it will listen for GET requests (I use 5555) and will in turn respond with JSON formated data. It responds to requests to get playback status, manage the play list, and playback control like play, pause, next etc. A full list of requests and parameters can be easily found in the BtPlServer::SetupResponse method in the source file btplserver.cpp.

    edit:
    im not sure it even runs. how did you get it to run -- with what parameters ? on my c1 :
    chumby:/mnt/storage/zurk# ./squeezelite-armv5te -l
    ./squeezelite-armv5te: relocation error: ./squeezelite-armv5te: symbol snd_device_name_hint, version ALSA_0.9 not defined in file libasound.so.2 with link time reference

     

    Last edit: Zurk Tech 2013-05-06
  • uhrheber

    uhrheber - 2013-05-06

    I tested it on both v22 and v24 (I updated today to v24).

    I put it in /mnt/storage/zurk/streamers/.
    Start parameters are ./squeezelite-armv5te -z -n chumby address-of-my-squeezebox-server.
    -z daemonizes it, -n sets the player name.
    Of course you need a running Squeezebox server (I use the free Logitech Media Server running on a Raspberry Pi), that is reachable from the chumby.
    If you ommit the server address, it should also be able to automatically find the server via upnp.

    I never tried the -l option before, but I also get an error when using it.
    But default sound output works fine on the chumby.

    Edit:
    Regarding btplserver:
    Both Squeezebox server and client are upnp compatible, means you can controll them with every upnp software/app, stream music from/to other upnp devices, etc.

    The web interface of btplserver seems to be completely unique.
    I doubt that there's any other software that's compatible to it.

    You can use squeezelite or btplserver, or both at the same time, doesn't matter.

    For me, btplserver is pretty much useless, because it never worked reliable, and don't want to use the (very limited) web interface.
    And why does it need such a long time to start?
    Squeezelight starts and works immidiately. It even continues to play where it left off, when the chumby restarts.

     

    Last edit: uhrheber 2013-05-06
  • Zurk Tech

    Zurk Tech - 2013-05-06

    well that doesnt work - default alsa hw device is unknown. even hw:0=0 doesnt work (hangs at i/p). which hardware device are you using ?
    chumby:/mnt/storage/zurk/squeezelite# ./squeezelite-armv5te -n Chumby -d all=info 192.168.1.1
    [10:35:37.151819] stream_init:264 init stream
    [10:35:37.198876] output_init:1305 init output
    [10:35:37.203063] output_init:1340 requested buffer_time: 20000 period_count: 4 format: any mmap: 1
    [10:35:37.273055] ALSA snd_pcm_dmix_open:907 unable to connect client
    [10:35:37.281273] test_open:159 playback open error: No such file or directory
    [10:35:37.284616] output_init:1359 unable to open output device

    anyway i will drop squeezelite into the v25 /mnt/storage/zurk/squeezelite directory -- if it works, great. if not, no harm done. if it can be gotten working reliably on a c8 and c1 and you know which hardware IDs to specify then i can put a small interface to it on the built in webserver.

     
  • uhrheber

    uhrheber - 2013-05-06

    I'm using a chumby one, and it worked out of the box.
    Would you like to join the #chumby channel on freenet?

     
  • uhrheber

    uhrheber - 2013-05-06

    I'm not getting it. How do I configure the SBcontroller?
    I tried to change the ip address in /mnt/storage/zurk/lighty/html/zchannel/channels.c1/Squeezebox/sBController0/parameters.txt, but it doesn't find my server.
    Then I noticed that the filesize of your SBcontroller differs from mine.
    So I copied mine over. It complains about "missing Squeezecenter address".
    Then I tried to copy the profile.xml that came with the USB version to the directory.
    No change.
    Then I tried to rename the profile.xml to parameters.txt.
    Still doesn't work.

    So, how do I configure this thing?

     
  • Zurk Tech

    Zurk Tech - 2013-05-06

    set the ip in parameters. dont change any files ... the version provided is the correct one. select squeezebox from your music sources and enter the server ip on the chumby and hit play.
    then go to sbcontroller on your chumby and it should show song being played etc. click on the chumby screen to pause/play etc.

     
  • uhrheber

    uhrheber - 2013-05-06

    That's not exactly what I want to do. The internal Squeezebox player isn't very good. I want to use Squeezelite and connect sbcontroller to my squeezebox server. This works when I run sbcontroller from an USB stick, but how do I do this with the internal sbcontroller?

     

Log in to post a comment.