summaryrefslogtreecommitdiffstats
path: root/conf.d/project/lua.d/softmixer-simple.lua
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2018-05-17 21:43:24 +0200
committerFulup Ar Foll <fulup@iot.bzh>2018-05-17 21:43:24 +0200
commit253df14bd84f535a54f4d12c95399899e1343c20 (patch)
tree16093cc86d2874afb3311124613e69e23e74acbc /conf.d/project/lua.d/softmixer-simple.lua
parent29f5fc4e093b8793eaeeef056d0b998182269718 (diff)
Initial version with dynamic APIs
Diffstat (limited to 'conf.d/project/lua.d/softmixer-simple.lua')
-rw-r--r--conf.d/project/lua.d/softmixer-simple.lua181
1 files changed, 0 insertions, 181 deletions
diff --git a/conf.d/project/lua.d/softmixer-simple.lua b/conf.d/project/lua.d/softmixer-simple.lua
deleted file mode 100644
index e78eacd..0000000
--- a/conf.d/project/lua.d/softmixer-simple.lua
+++ /dev/null
@@ -1,181 +0,0 @@
---[[
- Copyright (C) 2016 "IoT.bzh"
- Author Fulup Ar Foll <fulup@iot.bzh>
-
- 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
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
- NOTE: strict mode: every global variables should be prefixed by '_'
---]]
-
--- Static variables should be prefixed with _
-_EventHandle={}
-
--- Call when AlsaCore return HAL active list
-function _AlsaPingCB_ (source, result, context)
-
- AFB:notice (source, "--InLua-- PingCB: result='%s'", Dump_Table(result))
-
-end
-
-
--- Display receive arguments and echo them to caller
-function _mixer_config_ (source, args)
- do
- local error
- local response
-
- -- ==================== Default rate ===========================
-
- local audio_defaults = {
- ["rate"] = 48000,
- }
-
- -- ======================= Loop PCM ===========================
-
- local snd_aloop = {
- ["uid"] = "Alsa-Loop",
- ["devpath"] = "/dev/snd/by-path/platform-snd_aloop.0",
- ["devices"] = {["playback"]=0,["capture"]=1},
- ["params"] = audio_defaults,
- ["subdevs"] = {
- {["subdev"]= 0, ["numid"]= 51},
- {["subdev"]= 1, ["numid"]= 57},
- {["subdev"]= 2, ["numid"]= 63},
- {["subdev"]= 3, ["numid"]= 69},
- {["subdev"]= 4, ["numid"]= 75},
- {["subdev"]= 5, ["numid"]= 81},
- {["subdev"]= 6, ["numid"]= 87},
- {["subdev"]= 7, ["numid"]= 93},
- }
- }
-
- error,response= smix:snd_loops (source, snd_aloop)
- if (error ~= 0) then
- AFB:error (source, "--InLua-- smix:snd_loops fail to attach sndcards=%s", Dump_Table(aloop))
- goto OnErrorExit
- else
- AFB:notice (source, "--InLua-- smix:snd_loops done response=%s\n", Dump_Table(response))
- end
-
-
- -- ============================= Sound Cards ===================
-
- local snd_yamaha = {
- ["uid"]= "YAMAHA-APU70",
- ["devpath"]= "/dev/snd/by-id/usb-YAMAHA_Corporation_YAMAHA_AP-U70_USB_Audio_00-00",
- ["params"] = snd_params,
- ["sink"] = {
- [0]= {["uid"]= "front-right", ["port"]= 0},
- [1]= {["uid"]= "front-left", ["port"]= 1},
- }
- }
-
- local snd_jabra= {
- ["uid"]= "Jabra-Solemate",
- ["devpath"]= "/dev/snd/by-id/usb-0b0e_Jabra_SOLEMATE_v1.34.0-00",
- ["params"] = snd_params,
- ["sink"] = {
- [0]= {["uid"]= "front-right", ["port"]= 0},
- [1]= {["uid"]= "front-left", ["port"]= 1},
- }
- }
-
- -- group sound card as one multi channels card
- local sndcards= {
- snd_yamaha,
- }
-
- error,response= smix:snd_cards (source, sndcards)
- if (error ~= 0) then
- AFB:error (source, "--InLua-- smix:snd_cards fail to attach sndcards=%s", Dump_Table(sndcards))
- goto OnErrorExit
- else
- AFB:notice (source, "--InLua-- smix:snd_cards done response=%s\n", Dump_Table(response))
- end
-
- -- ============================= Zones ===================
-
- local zone_front= {
- ["uid"] = "front-seats",
- ["type"] = "playback",
- ["mapping"] = {
- {["target"]="front-right",["channel"]=0},
- {["target"]="front-left" ,["channel"]=1},
- }
- }
-
- local multi_zones = {
- zone_front,
- }
-
- error,response= smix:snd_zones (source, multi_zones)
- if (error ~= 0) then
- AFB:error (source, "--InLua-- smix:snd_zones fail to attach sndcards=%s", Dump_Table(multi_zones))
- goto OnErrorExit
- else
- AFB:notice (source, "--InLua-- smix:snd_zones done response=%s\n", Dump_Table(response))
- end
-
- -- =================== Audio Stream ============================
-
- local stream_music= {
- ["uid"] = "multimedia",
- ["zone"] = "front-seats",
- ["volume"]= 70,
- ["mute"] = false,
- }
-
- local stream_navigation= {
- ["uid"] = "navigation",
- ["zone"] = "front-seats",
- ["volume"]= 80,
- ["mute"] = false,
- }
-
- local snd_streams = {
- stream_music,
- stream_navigation,
- }
-
- error,response= smix:snd_streams (source, snd_streams)
- if (error ~= 0) then
- AFB:error (source, "--InLua-- smix:snd_streams fail to attach sndcards=%s", Dump_Table(aloop))
- goto OnErrorExit
- else
- AFB:notice (source, "--InLua-- smix:streams_loops done response=%s\n", Dump_Table(response))
- end
-
-
- -- ================== Happy End =============================
- AFB:notice (source, "--InLua-- _mixer_config_ done")
- return 0 end
-
- -- ================= Unhappy End ============================
- ::OnErrorExit::
- AFB:error (source, "--InLua-- snd_attach fail")
- return 1 -- unhappy end --
-end
-
--- Display receive arguments and echo them to caller
-function _init_softmixer_ (source, args)
-
- printf ("*********** in print ")
- -- create event to push change audio roles to potential listeners
- _EventHandle=AFB:evtmake(source, "control")
-
- _mixer_config_ (source, args)
-
-end
-
-printf ("*********** load done ")