shairport: improve config and init script (disabled, respawn, err file, meta dir, audio output options).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2014-10-28 22:33:00 +01:00
parent 6cbf21b65d
commit f78cd57ee4
3 changed files with 57 additions and 8 deletions

View file

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=shairport PKG_NAME:=shairport
PKG_VERSION:=2014-08-22 PKG_VERSION:=2014-10-28
PKG_RELEASE:=$(PKG_SOURCE_VERSION) PKG_RELEASE:=$(PKG_SOURCE_VERSION)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git

View file

@ -1,12 +1,16 @@
config shairport main config shairport main
option disabled '1'
option respawn '1'
option bname 'AirPort' option bname 'AirPort'
option password '' option password ''
option port '5002' option port '5002'
option buffer '256' option buffer ''
option log '' option log_file ''
option err_file ''
option meta_dir ''
option cmd_start '' option cmd_start ''
option cmd_stop '' option cmd_stop ''
option cmd_wait '' option cmd_wait '0'
option audio_output 'alsa' option audio_output 'alsa'
option mdns 'avahi' option mdns 'avahi'
@ -16,3 +20,17 @@ config shairport main
option mixer_type '' option mixer_type ''
option mixer_control '' option mixer_control ''
option mixer_index '' option mixer_index ''
# options for ao output
option ao_driver ''
option ao_name ''
option ao_id ''
option ao_options ''
# options for pipe output
option output_fifo ''
# options for pulse output
option pulse_server ''
option pulse_sink ''
option pulse_appname ''

View file

@ -28,16 +28,21 @@ append_bool() {
start_instance() { start_instance() {
local cfg="$1" local cfg="$1"
local ao dev local ao dev aux
config_get_bool aux "$cfg" 'disabled' '0'
[ "$aux" = 1 ] && return 1
procd_open_instance procd_open_instance
procd_set_param command /usr/bin/shairport procd_set_param command /usr/bin/shairport
append_arg "$cfg" bname "-a" "AirPort" append_arg "$cfg" bname "-a" "AirPort"
append_arg "$cfg" log "-l" append_arg "$cfg" log_file "-l"
append_arg "$cfg" buffer "-b" "256" append_arg "$cfg" err_file "-e"
append_arg "$cfg" port "-p" "5002" append_arg "$cfg" meta_dir "-M"
append_arg "$cfg" buffer "-b"
append_arg "$cfg" port "-p"
append_arg "$cfg" password "-k" append_arg "$cfg" password "-k"
append_arg "$cfg" mdns "-m" append_arg "$cfg" mdns "-m"
@ -58,8 +63,34 @@ start_instance() {
append_arg "$cfg" mixer_control "-c" append_arg "$cfg" mixer_control "-c"
append_arg "$cfg" mixer_index "-i" append_arg "$cfg" mixer_index "-i"
fi fi
elif [ "$ao" = "ao" ]; then
config_get dev "$cfg" ao_driver ""
if [ -n "$dev" ]; then
procd_append_param command "--"
append_arg "$cfg" ao_driver "-d"
append_arg "$cfg" ao_id "-i"
append_arg "$cfg" ao_name "-n"
append_arg "$cfg" ao_options "-o"
fi
elif [ "$ao" = "pipe" ]; then
config_get dev "$cfg" output_fifo ""
if [ -n "$dev" ]; then
procd_append_param command "--"
append_arg "$cfg" output_fifo ""
fi
elif [ "$ao" = "pulse" ]; then
config_get dev "$cfg" pulse_server ""
if [ -n "$dev" ]; then
procd_append_param command "--"
append_arg "$cfg" pulse_server "-a"
append_arg "$cfg" pulse_sink "-s"
append_arg "$cfg" pulse_appname "-n"
fi
fi fi
config_get_bool aux "$cfg" 'respawn' '0'
[ "$aux" = 1 ] && procd_set_param respawn
procd_close_instance procd_close_instance
} }