lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

shairplay.init (1036B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2014 OpenWrt.org
      3 
      4 START=90
      5 USE_PROCD=1
      6 
      7 append_arg() {
      8 	local cfg="$1"
      9 	local var="$2"
     10 	local opt="$3"
     11 	local def="$4"
     12 	local val
     13 
     14 	config_get val "$cfg" "$var"
     15 	[ -n "$val" -o -n "$def" ] && procd_append_param command $opt="${val:-$def}"
     16 }
     17 
     18 start_instance() {
     19 	local cfg="$1"
     20 	local aux
     21 
     22 	config_get_bool aux "$cfg" 'disabled' '0'
     23 	[ "$aux" = 1 ] && return 1
     24 
     25 	procd_open_instance
     26 
     27 	procd_set_param command /usr/bin/shairplay
     28 
     29 	append_arg "$cfg" apname "--apname" "AirPlay"
     30 	append_arg "$cfg" port "--server_port"
     31 	append_arg "$cfg" password "--password"
     32 	append_arg "$cfg" hwaddr "--hwaddr"
     33 
     34 	append_arg "$cfg" ao_driver "--ao_driver"
     35 	append_arg "$cfg" ao_devicename "--ao_devicename"
     36 	append_arg "$cfg" ao_deviceid "--ao_deviceid"
     37 
     38 	config_get_bool aux "$cfg" 'respawn' '0'
     39 	[ "$aux" = 1 ] && procd_set_param respawn
     40 
     41 	procd_close_instance
     42 }
     43 
     44 service_triggers() { 
     45 	procd_add_reload_trigger "shairplay" 
     46 }
     47 
     48 start_service() {
     49 	config_load shairplay
     50 	config_foreach start_instance shairplay
     51 }