mirror of
https://github.com/novatiq/packages.git
synced 2026-04-29 23:18:42 +01:00
squeezelite: update to 1.9.6-1210
Rebased patches. Ran init script through shellcheck. Several Makefile cleanups. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
@@ -9,9 +9,10 @@ PROG=/usr/bin/squeezelite
|
||||
|
||||
# Check if a codec is disabled in the configuration (ie "decode_<codec> 0")
|
||||
checkcodec() {
|
||||
local codec
|
||||
config_get_bool codec options "$1" 1
|
||||
|
||||
if [ $codec -eq 0 ] ; then
|
||||
if [ "$codec" -eq 0 ] ; then
|
||||
if [ -z "$3" ] ; then
|
||||
echo "-e $2"
|
||||
else
|
||||
@@ -25,55 +26,70 @@ checkcodec() {
|
||||
make_cmdline() {
|
||||
cmdline=""
|
||||
|
||||
local name
|
||||
config_get name options name "SqueezeWrt"
|
||||
cmdline="$cmdline -n $name"
|
||||
|
||||
local model_name
|
||||
config_get model_name options model_name "SqueezeLite"
|
||||
cmdline="$cmdline -M $model_name"
|
||||
|
||||
local interface
|
||||
config_get interface options interface ""
|
||||
[ -n "$interface" ] && cmdline="$cmdline -I $interface"
|
||||
|
||||
local device
|
||||
config_get device options device ""
|
||||
[ -n "$device" ] && cmdline="$cmdline -o $device"
|
||||
|
||||
local alsa_buffer
|
||||
config_get alsa_buffer options alsa_buffer 200
|
||||
[ $alsa_buffer -eq 0 ] && alsa_buffer="200"
|
||||
[ "$alsa_buffer" -eq 0 ] && alsa_buffer="200"
|
||||
|
||||
local alsa_period
|
||||
config_get alsa_period options alsa_period 4
|
||||
[ $alsa_period -eq 0 ] && alsa_period="4"
|
||||
[ "$alsa_period" -eq 0 ] && alsa_period="4"
|
||||
|
||||
local alsa_format
|
||||
config_get alsa_format options alsa_format 16
|
||||
[ $alsa_format = "0" ] && alsa_format="16"
|
||||
[ "$alsa_format" = "0" ] && alsa_format="16"
|
||||
|
||||
local alsa_mmap
|
||||
config_get alsa_mmap options alsa_mmap 0
|
||||
cmdline="$cmdline -a $alsa_buffer:$alsa_period:$alsa_format:$alsa_mmap"
|
||||
|
||||
local stream_bufsiz
|
||||
local out_bufsiz
|
||||
config_get stream_bufsiz options stream_bufsiz 2048
|
||||
config_get out_bufsiz options out_bufsiz 3763
|
||||
cmdline="$cmdline -b $stream_bufsiz:$out_bufsiz"
|
||||
|
||||
local max_sr
|
||||
config_get max_sr options max_sr 0
|
||||
if [ $max_sr -ne 0 ] ; then
|
||||
[ "$max_sr" -ne 0 ] && {
|
||||
max_sr="-r $max_sr"
|
||||
|
||||
local sr_delay
|
||||
config_get sr_delay options sr_delay 0
|
||||
[ $sr_delay -ne 0 ] && max_sr="$max_sr:$sr_delay"
|
||||
[ "$sr_delay" -ne 0 ] && max_sr="$max_sr:$sr_delay"
|
||||
cmdline="$cmdline $max_sr"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
local close_delay
|
||||
config_get close_delay options close_delay 0
|
||||
[ $close_delay -ne 0 ] && cmdline="$cmdline -C $close_delay"
|
||||
[ "$close_delay" -ne 0 ] && cmdline="$cmdline -C $close_delay"
|
||||
|
||||
local server_addr
|
||||
config_get server_addr options server_addr ""
|
||||
if [ -n "$server_addr" ] ; then
|
||||
[ -n "$server_addr" ] && {
|
||||
local server_port
|
||||
config_get server_port options server_port 3483
|
||||
cmdline="$cmdline -s $server_addr:$server_port"
|
||||
fi
|
||||
}
|
||||
|
||||
local priority
|
||||
config_get priority options priority 0
|
||||
[ $priority -ne 0 ] && cmdline="$cmdline -p $priority"
|
||||
[ "$priority" -ne 0 ] && cmdline="$cmdline -p $priority"
|
||||
|
||||
local excl_codecs=""
|
||||
excl_codecs=$(checkcodec decode_flac flac "$excl_codecs")
|
||||
@@ -83,15 +99,17 @@ make_cmdline() {
|
||||
excl_codecs=$(checkcodec decode_wma_alac wma,alac "$excl_codecs")
|
||||
cmdline="$cmdline $excl_codecs"
|
||||
|
||||
local dop
|
||||
config_get dop options dsd_over_pcm 0
|
||||
[ $dop -eq 1 ] && cmdline="$cmdline -D"
|
||||
[ "$dop" -eq 1 ] && cmdline="$cmdline -D"
|
||||
}
|
||||
|
||||
start_service() {
|
||||
config_load squeezelite
|
||||
|
||||
local enabled
|
||||
config_get_bool enabled options 'enabled' 0
|
||||
[ $enabled -eq 0 ] && return
|
||||
[ "$enabled" -eq 0 ] && return
|
||||
|
||||
# Build command params
|
||||
make_cmdline
|
||||
|
||||
Reference in New Issue
Block a user