Merge pull request #236 from openwrt-es/luci-next
applications/luci-shairplay: add new package.
This commit is contained in:
commit
517ba7dadb
5 changed files with 117 additions and 0 deletions
4
applications/luci-shairplay/Makefile
Normal file
4
applications/luci-shairplay/Makefile
Normal file
|
@ -0,0 +1,4 @@
|
|||
PO = shairplay
|
||||
|
||||
include ../../build/config.mk
|
||||
include ../../build/module.mk
|
25
applications/luci-shairplay/luasrc/controller/shairplay.lua
Normal file
25
applications/luci-shairplay/luasrc/controller/shairplay.lua
Normal file
|
@ -0,0 +1,25 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface - Shairplay support
|
||||
|
||||
Copyright 2014 Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
$Id$
|
||||
]]--
|
||||
|
||||
module("luci.controller.shairplay", package.seeall)
|
||||
|
||||
function index()
|
||||
if not nixio.fs.access("/etc/config/shairplay") then
|
||||
return
|
||||
end
|
||||
|
||||
local page = entry({"admin", "services", "shairplay"}, cbi("shairplay"), _("Shairplay"))
|
||||
page.dependent = true
|
||||
|
||||
end
|
75
applications/luci-shairplay/luasrc/model/cbi/shairplay.lua
Normal file
75
applications/luci-shairplay/luasrc/model/cbi/shairplay.lua
Normal file
|
@ -0,0 +1,75 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface - Shairplay support
|
||||
|
||||
Copyright 2014 Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
$Id$
|
||||
]]--
|
||||
|
||||
m = Map("shairplay", "Shairplay", translate("Shairplay is a simple AirPlay server implementation, here you can configure the settings."))
|
||||
|
||||
s = m:section(TypedSection, "shairplay", "")
|
||||
s.addremove = true
|
||||
s.anonymous = false
|
||||
|
||||
enable=s:option(Flag, "disabled", translate("Enabled"))
|
||||
enable.enabled="0"
|
||||
enable.disabled="1"
|
||||
enable.default = "1"
|
||||
respawn=s:option(Flag, "respawn", translate("Respawn"))
|
||||
respawn.default = false
|
||||
|
||||
apname = s:option(Value, "apname", translate("Airport Name"))
|
||||
apname.rmempty = true
|
||||
|
||||
port=s:option(Value, "port", translate("Port"))
|
||||
port.rmempty = true
|
||||
port.datatype = "port"
|
||||
|
||||
pw = s:option(Value, "password", translate("Password"))
|
||||
pw.rmempty = true
|
||||
pw.password = true
|
||||
|
||||
hwaddr=s:option(Value, "hwaddr", translate("HW Address"))
|
||||
hwaddr.rmempty = true
|
||||
hwaddr.datatype = "macaddr"
|
||||
|
||||
ao_driver=s:option(ListValue, "ao_driver", translate("AO Driver"))
|
||||
ao_driver:value("", translate("Default"))
|
||||
ao_driver:value("alsa")
|
||||
--ao_driver:value("alsa05")
|
||||
--ao_driver:value("arts")
|
||||
--ao_driver:value("esd")
|
||||
--ao_driver:value("irix")
|
||||
--ao_driver:value("nas")
|
||||
ao_driver:value("oss")
|
||||
--ao_driver:value("sun")
|
||||
|
||||
ao_devicename=s:option(Value, "ao_devicename", translate("AO Device Name"))
|
||||
ao_devicename.rmempty = true
|
||||
|
||||
ao_deviceid = s:option(ListValue, "ao_deviceid", translate("AO Device ID"))
|
||||
ao_deviceid.rmempty = true
|
||||
ao_deviceid:value("", translate("Default"))
|
||||
local pats = io.popen("find /proc/asound/ -type d -name 'card*' | sort")
|
||||
if pats then
|
||||
local l
|
||||
while true do
|
||||
l = pats:read("*l")
|
||||
if not l then break end
|
||||
|
||||
l = string.gsub(l, "/proc/asound/card", "")
|
||||
if l then
|
||||
ao_deviceid:value(l)
|
||||
end
|
||||
end
|
||||
pats:close()
|
||||
end
|
||||
|
||||
return m
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
# needed for "Save and Apply" to restart shairplay
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@shairplay[-1]
|
||||
add ucitrack shairplay
|
||||
set ucitrack.@shairplay[-1].init="shairplay"
|
||||
commit ucitrack
|
||||
EOF
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
|
@ -212,6 +212,7 @@ $(eval $(call application,pbx,LuCI PBX Administration,\
|
|||
$(eval $(call application,pbx-voicemail,LuCI PBX Administration Voicemail Support,luci-app-pbx asterisk18 msmtp coreutils-base64))
|
||||
$(eval $(call application,ltqtapi,Lantiq voip))
|
||||
$(eval $(call application,minidlna,LuCI Support for miniDLNA,minidlna))
|
||||
$(eval $(call application,shairplay,LuCI Support for Shairplay,shairplay))
|
||||
$(eval $(call application,transmission,LuCI Support for Transmission,transmission-daemon))
|
||||
$(eval $(call application,watchcat,LuCI Support for Watchcat,watchcat))
|
||||
|
||||
|
|
Loading…
Reference in a new issue