General > Developers

squeezelite as an alternative to squeezeslave

<< < (2/5) > >>

phenigma:
There is no technical reason why they could not co-exist.  A discussion was had in irc that essentially decided there is no reason to support multiple squeezeslave binaries.  One should be chosen to maintain.  I had asked for some specifics regarding the changeover.  We can build a package for squeezelite on precise, that's not really an issue (imho).

If the squeezeslave binaries are no longer under development then we should migrate to squeezelite.


--- Quote from: coley on July 16, 2014, 02:24:06 pm ---I wanted to swap out my squeezeslave instances with squeezelite as the former is no longer actively developed and also cannot handle Spotify streams.
 - I found a git clone on the squeezelite site with additions to support building a deb package. Turns out Uplink did this work. How can this be used by Linuxmce?

--- End quote ---

There are two ways, we can either build the package in house, or host it in a PPA.  I would prefer to build it in house, for precise, and use an ubuntu repo for trusty (if that exists).  We would create the package definition and point it to the lmce repo for precise and the ubuntu repos for trusty, easy enough to do.  Can you point me to the package (URL)?


--- Quote from: coley on July 16, 2014, 02:24:06 pm --- - To build this deb other packages are required - again not on precise, but available via another PPA, Can these be added with the package manager?

--- End quote ---

Likely, but we would do that manually for our builders if posde is okay with that, as well as add the proper dependencies and PPA repos to the database for proper installation of package dependencies.  Again, fairly easy.


--- Quote from: coley on July 16, 2014, 02:24:06 pm --- - Can DTs be copied? or one based on another?

--- End quote ---

DTs cannot easily be copied.  I would create a new DT with the existing DT open in another window and do it that way.  This is how I regurlarily create new DTs that are similar to others.

I hope that helps, I am happy to do some of the integration work but I don't have a lot of time to test right now.  I'm around next week then off on vacation for 2 weeks.  Let me know if you have other questions!

J.

Esperanto:
I would use the existing DT otherwise you will have to change code since lmce needs to know that it is usable for playing audio. Thom pointed me to it and I made the changes but probably did something wrong cause it did not work and I ended up using the existing DT. Since phenigma wants to replace squeezeslave I see even less need to use another DT since otherwise you end up removing the same code afterwards ;-).

If possible please add a optional configuration to be able to specify pulseaudio sinks. Has no influence on the way it works for normal usage and might be useful later on (I use it myself since I run on pulseaudio).

totallymaxed:

--- Quote from: Esperanto on July 19, 2014, 01:06:17 pm ---I would use the existing DT otherwise you will have to change code since lmce needs to know that it is usable for playing audio. Thom pointed me to it and I made the changes but probably did something wrong cause it did not work and I ended up using the existing DT. Since phenigma wants to replace squeezeslave I see even less need to use another DT since otherwise you end up removing the same code afterwards ;-).

If possible please add a optional configuration to be able to specify pulseaudio sinks. Has no influence on the way it works for normal usage and might be useful later on (I use it myself since I run on pulseaudio).

--- End quote ---

We use a separate DT in Dianemo for SqueezeLite as we need to keep existing installations working with Squeezslaves.

Andy

coley:
That is my plan too - don't break existing when adding new.

-Coley.

Esperanto:

--- Code: ---/usr/pluto/bin# cat LaunchSqueezelite.sh
#!/bin/bash
. /usr/pluto/bin/Config_Ops.sh
. /usr/pluto/bin/pluto.func
. /usr/pluto/bin/LockUtils.sh
. /usr/pluto/bin/SQL_Ops.sh
. /usr/pluto/bin/Utils.sh

DEVICEDATA_Alsa_Output_Device=74
DEVICEDATA_PULSE_SINK=88
DEVICEDATA_PARAMETERS=139

SQUEEZELITE=squeezelite-i386
SQUEEZELITEDIR=/usr/bin
SERVER=dcerouter
DEVICE=0

if [ ! -f $SQUEEZELITEDIR/$SQUEEZELITE ]; then
  echo "squeezelite binary not found. Downloading it."
  wget --directory-prefix=$SQUEEZELITEDIR http://squeezelite.googlecode.com/files/squeezelite-i386
fi
if [ ! -x $SQUEEZELITEDIR/$SQUEEZELITE ]; then
  echo "squeezelite binary not executable. running chmod u+x"
  chmod u+x $SQUEEZELITEDIR/$SQUEEZELITE
fi
if [ ! -x $SQUEEZELITEDIR/$SQUEEZELITE ]; then
  echo "error: $SQUEEZELITEDIR/$SQUEEZELITE does not exist or is not executable"
  echo "sleeping 10"
  sleep 10
  exit 1
fi

while getopts ":d:r:" optname
  do
    case "$optname" in
      "d")
        DEVICE=$OPTARG
        ;;
      "r")
        SERVER=$OPTARG
        ;;
      *)
        ;;
    esac
  done

Q="
        SELECT MACaddress
        FROM Device
        WHERE PK_Device='$DEVICE'
"
MAC=$(RunSQL "$Q")

Q="
        SELECT Description
        FROM Device
        WHERE PK_Device='$DEVICE'
"
DESCRIPTION=$(RunSQL "$Q")

AUDIO_DEVICE=$(GetDeviceData "$DEVICE" "$DEVICEDATA_Alsa_Output_Device")
PULSE_SINK=$(GetDeviceData "$DEVICE" "$DEVICEDATA_PULSE_SINK")
PARAMS=$(GetDeviceData "$DEVICE" "$DEVICEDATA_PARAMETERS")


PARAMS="";
if [ -n "$AUDIO_DEVICE" ]; then
    PARAMS="$PARAMS -o $AUDIO_DEVICE"
fi
if [ -n "$MAC" ]; then
    PARAMS="$PARAMS -m $MAC"
fi
if [ -n "$SERVER" ]; then
    PARAMS="$PARAMS -s $SERVER"
fi
ENV="";
if [ -n "$PULSE_SINK" ]; then
    ENV="$ENV PULSE_SINK=\"$PULSE_SINK\""
fi
if [ $AUDIO_DEVICE = "pulse" ]; then
    ENV="$ENV PULSE_PROP_OVERRIDE=\"application.name='squeezelite $DEVICE $DESCRIPTION'\""
fi
echo "Starting squeezelite: $ENV $SQUEEZELITEDIR/$SQUEEZELITE $PARAMS -n \"$DEVICE $DESCRIPTION\""
PULSE_SINK="$PULSE_SINK" PULSE_PROP_OVERRIDE="application.name='squeezelite ${DEVICE} ${DESCRIPTION}'" $SQUEEZELITEDIR/$SQUEEZELITE $PARAMS -n "${DEVICE} ${DESCRIPTION}"

--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Sitemap 
Go to full version