diff options
author | Loïc Collignon <loic.collignon@iot.bzh> | 2018-06-05 10:29:47 +0200 |
---|---|---|
committer | Loïc Collignon <loic.collignon@iot.bzh> | 2018-06-12 15:26:21 +0200 |
commit | 322f8932476eda944c7d3ac65eafde12c69b2ae9 (patch) | |
tree | 3146f053d8f3f8f8324d7e41493b929d348a3f9c /htdocs | |
parent | 545c14e62971b23c704bc3d7f696e934e330656d (diff) |
Rewrite of the High Level API using the new HAL model
The new HAL model need the High Level API to be rewritten.
This is the first version of this rewrite, still in progress
but should work.
Change-Id: I5c94cf39d84cefae6b7a179c09d95e645673e8d4
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
Diffstat (limited to 'htdocs')
23 files changed, 0 insertions, 681 deletions
diff --git a/htdocs/AFB-websock.js b/htdocs/AFB-websock.js deleted file mode 100644 index ff9fa60..0000000 --- a/htdocs/AFB-websock.js +++ /dev/null @@ -1,177 +0,0 @@ -var urlws; -var urlhttp; - -AFB = function(base, initialtoken){ - -urlws = "ws://"+window.location.host+"/"+base; -urlhttp = "http://"+window.location.host+"/"+base; - -/*********************************************/ -/**** ****/ -/**** AFB_context ****/ -/**** ****/ -/*********************************************/ -var AFB_context; -{ - var UUID = undefined; - var TOKEN = initialtoken; - - var context = function(token, uuid) { - this.token = token; - this.uuid = uuid; - } - - context.prototype = { - get token() {return TOKEN;}, - set token(tok) {if(tok) TOKEN=tok;}, - get uuid() {return UUID;}, - set uuid(id) {if(id) UUID=id;} - }; - - AFB_context = new context(); -} -/*********************************************/ -/**** ****/ -/**** AFB_websocket ****/ -/**** ****/ -/*********************************************/ -var AFB_websocket; -{ - var CALL = 2; - var RETOK = 3; - var RETERR = 4; - var EVENT = 5; - - var PROTO1 = "x-afb-ws-json1"; - - AFB_websocket = function(onopen, onabort) { - var u = urlws; - if (AFB_context.token) { - u = u + '?x-afb-token=' + AFB_context.token; - if (AFB_context.uuid) - u = u + '&x-afb-uuid=' + AFB_context.uuid; - } - this.ws = new WebSocket(u, [ PROTO1 ]); - this.pendings = {}; - this.awaitens = {}; - this.counter = 0; - this.ws.onopen = onopen.bind(this); - this.ws.onerror = onerror.bind(this); - this.ws.onclose = onclose.bind(this); - this.ws.onmessage = onmessage.bind(this); - this.onopen = onopen; - this.onabort = onabort; - this.onclose = onabort; - } - - function onerror(event) { - var f = this.onabort; - if (f) { - delete this.onopen; - delete this.onabort; - f && f(this); - } - this.onerror && this.onerror(this); - } - - function onopen(event) { - var f = this.onopen; - delete this.onopen; - delete this.onabort; - f && f(this); - } - - function onclose(event) { - for (var id in this.pendings) { - var ferr = this.pendings[id].onerror; - ferr && ferr(null, this); - } - this.pendings = {}; - this.onclose && this.onclose(); - } - - function fire(awaitens, name, data) { - var a = awaitens[name]; - if (a) - a.forEach(function(handler){handler(data);}); - var i = name.indexOf("/"); - if (i >= 0) { - a = awaitens[name.substring(0,i)]; - if (a) - a.forEach(function(handler){handler(data);}); - } - a = awaitens["*"]; - if (a) - a.forEach(function(handler){handler(data);}); - } - - function reply(pendings, id, ans, offset) { - if (id in pendings) { - var p = pendings[id]; - delete pendings[id]; - var f = p[offset]; - f(ans); - } - } - - function onmessage(event) { - var obj = JSON.parse(event.data); - var code = obj[0]; - var id = obj[1]; - var ans = obj[2]; - AFB_context.token = obj[3]; - switch (code) { - case RETOK: - reply(this.pendings, id, ans, 0); - break; - case RETERR: - reply(this.pendings, id, ans, 1); - break; - case EVENT: - default: - fire(this.awaitens, id, ans); - break; - } - } - - function close() { - this.ws.close(); - this.onabort(); - } - - function call(method, request) { - return new Promise((function(resolve, reject){ - var id, arr; - do { - id = String(this.counter = 4095 & (this.counter + 1)); - } while (id in this.pendings); - this.pendings[id] = [ resolve, reject ]; - arr = [CALL, id, method, request ]; - if (AFB_context.token) arr.push(AFB_context.token); - this.ws.send(JSON.stringify(arr)); - }).bind(this)); - } - - function onevent(name, handler) { - var id = name; - var list = this.awaitens[id] || (this.awaitens[id] = []); - list.push(handler); - } - - AFB_websocket.prototype = { - close: close, - call: call, - onevent: onevent - }; -} -/*********************************************/ -/**** ****/ -/**** ****/ -/**** ****/ -/*********************************************/ -return { - context: AFB_context, - ws: AFB_websocket -}; -}; - diff --git a/htdocs/AudioBinding.css b/htdocs/AudioBinding.css deleted file mode 100644 index 1052aa7..0000000 --- a/htdocs/AudioBinding.css +++ /dev/null @@ -1,7 +0,0 @@ -pre {outline: 1px solid #ccc; padding: 5px; margin: 5px; } -.string { color: green; } -.number { color: darkorange; } -.boolean { color: blue; } -.null { color: magenta; } -.key { color: red; } - diff --git a/htdocs/AudioBinding.js b/htdocs/AudioBinding.js deleted file mode 100644 index 607d31c..0000000 --- a/htdocs/AudioBinding.js +++ /dev/null @@ -1,198 +0,0 @@ - var afb = new AFB("api", "mysecret"); - var ws; - var sndcard="HALNotSelected"; - var evtidx=0; - var numid=0; - - function syntaxHighlight(json) { - if (typeof json !== 'string') { - json = JSON.stringify(json, undefined, 2); - } - json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); - return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { - var cls = 'number'; - if (/^"/.test(match)) { - if (/:$/.test(match)) { - cls = 'key'; - } else { - cls = 'string'; - } - } else if (/true|false/.test(match)) { - cls = 'boolean'; - } else if (/null/.test(match)) { - cls = 'null'; - } - return '<span class="' + cls + '">' + match + '</span>'; - }); - } - - function getParameterByName(name, url) { - if (!url) { - url = window.location.href; - } - name = name.replace(/[\[\]]/g, "\\$&"); - var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, " ")); - } - - // default soundcard is "PCH" - var devid=getParameterByName("devid"); - if (!devid) devid="hw:1"; - - var haldev=getParameterByName("haldev"); - if (!haldev) haldev="scarlett-usb"; - - var sndname=getParameterByName("sndname"); - if (!sndname) sndname="PCH"; - - var mode=getParameterByName("mode"); - if (!mode) mode="0"; - - - - - function replyok(obj) { - console.log("replyok:" + JSON.stringify(obj)); - document.getElementById("output").innerHTML = "OK: "+ syntaxHighlight(obj); - } - - function replyerr(obj) { - console.log("replyerr:" + JSON.stringify(obj)); - document.getElementById("output").innerHTML = "ERROR: "+ syntaxHighlight(obj); - } - - function gotevent(obj) { - console.log("gotevent:" + JSON.stringify(obj)); - document.getElementById("outevt").innerHTML = (evtidx++) +": "+JSON.stringify(obj); - } - - function send(message) { - var api = document.getElementById("api").value; - var verb = document.getElementById("verb").value; - document.getElementById("question").innerHTML = "subscribe: "+api+"/"+verb + " (" + JSON.stringify(message) +")"; - ws.call(api+"/"+verb, {data:message}).then(replyok, replyerr); - } - - - // On button click from HTML page - function callbinder(api, verb, query) { - console.log ("subscribe api="+api+" verb="+verb+" query=" +query); - var question = urlws +"/" +api +"/" +verb + "?query=" + JSON.stringify(query); - document.getElementById("question").innerHTML = syntaxHighlight(question); - ws.call(api+"/"+verb, query).then(replyok, replyerr); - } - - - // Retreive Select value and Text from the binder - // Note: selection of value/text for a given context is huggly!!! - function querySelectList (elemid, api, verb, query) { - - console.log("querySelectList elemid=%s api=%s verb=%s query=%s", elemid, api, verb, query); - - var selectobj = document.getElementById(elemid); - if (!selectobj) { - console.log ("****** elemid=%s does not exit in HTML page ****", elemid); - return; - } - - // onlick update selected HAL api - selectobj.onclick=function(){ - sndcard= this.value; - console.log ("Default Selection=" + sndcard); - }; - - function gotit (result) { - - // display response as for normal onclick action - replyok(result); - var response=result.response; - - // fulfill select with avaliable active HAL - for (idx=0; idx<response.length; idx++) { - var opt = document.createElement('option'); - - // Alsa LowLevel selection mode - if (response[idx].name) opt.text = response[idx].name; - if (response[idx].devid) opt.value = response[idx].devid; - - // HAL selection mode - if (response[idx].shortname) opt.text = response[idx].shortname; - if (response[idx].api) opt.value = response[idx].api; - - selectobj.appendChild(opt); - } - - sndcard= selectobj.value; - } - - var question = urlws +"/"+api +"/" +verb + "?query=" + JSON.stringify(query); - document.getElementById("question").innerHTML = syntaxHighlight(question); - - // request lowlevel ALSA to get API list - ws.call(api+"/"+verb, query).then(gotit, replyerr); - } - - function refresh_list (self, api, verb, query) { - console.log("refresh_list id=%s api=%s verb=%s query=%s", self.id, api, verb, query); - - if (self.value > 0) return; - - // onlick update selected HAL api - self.onclick=function(){ - numid = parseInt(self.value); - console.log ("Default numid=%d", numid); - }; - - function gotit (result) { - - // display response as for normal onclick action - replyok(result); - var response=result.response; - - - - // fulfill select with avaliable active HAL - for (idx=0; idx<response.length; idx++) { - var opt = document.createElement('option'); - - // Alsa LowLevel selection mode - opt.text = response[idx].name + ' id=' + response[idx].id; - opt.value = response[idx].id; - - self.appendChild(opt); - } - self.selectedIndex=2; - numid = parseInt (self.value); - } - - var question = urlws +"/"+api +"/" +verb + "?query=" + JSON.stringify(query); - document.getElementById("question").innerHTML = syntaxHighlight(question); - - // request lowlevel ALSA to get API list - ws.call(api+"/"+verb, query).then(gotit, replyerr); - } - - - function init(elemid, api, verb, query) { - - function onopen() { - // check for active HALs - querySelectList (elemid, api, verb, query); - - document.getElementById("main").style.visibility = "visible"; - document.getElementById("connected").innerHTML = "Binder WS Active"; - document.getElementById("connected").style.background = "lightgreen"; - ws.onevent("*", gotevent); - } - - function onabort() { - document.getElementById("main").style.visibility = "hidden"; - document.getElementById("connected").innerHTML = "Connected Closed"; - document.getElementById("connected").style.background = "red"; - - } - ws = new afb.ws(onopen, onabort); - } diff --git a/htdocs/CMakeLists.txt b/htdocs/CMakeLists.txt deleted file mode 100644 index c08a493..0000000 --- a/htdocs/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -########################################################################### -# Copyright 2015, 2016, 2017 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. -########################################################################### - - - -################################################## -# HTML Testing Files -################################################## -PROJECT_TARGET_ADD(htdocs) - - file(GLOB SOURCE_FILES LIST_DIRECTORIES true "*.html" "*.js" "*.jpg" "*.css") - - add_input_files("${SOURCE_FILES}") - - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "HTDOCS" - OUTPUT_NAME ${TARGET_NAME} - ) - diff --git a/htdocs/README.md b/htdocs/README.md deleted file mode 100644 index bb14b7e..0000000 --- a/htdocs/README.md +++ /dev/null @@ -1,7 +0,0 @@ ------------------------------------------------------------------------- - Basic HTML & WS test ------------------------------------------------------------------------- - - # Load bindings directly from development tree for debug - afb-daemon --verbose --verbose --token="" --ldpaths=build --port=1234 --roothttp=htdocs - diff --git a/htdocs/alsa-core.html b/htdocs/alsa-core.html deleted file mode 100644 index deca631..0000000 --- a/htdocs/alsa-core.html +++ /dev/null @@ -1,66 +0,0 @@ -<html> -<head> - <link rel="stylesheet" href="AudioBinding.css"> - <title>Alsa Low Level Simple Test</title> - - <script type="text/javascript" src="AFB-websock.js"></script> - <script type="text/javascript" src="AudioBinding.js"></script> -</head> - -<body onload="init('alsa_registry','alsacore', 'infoget')"> - - <button id="connected" onclick="init('alsa_registry','alsacore', 'infoget');">Binder WS Fail</button> - <button id="mnitoring" onclick="window.open('/monitoring/monitor.html','_monitor_audio')">Debug/Monitoring</a></button> - - <br><br> - <b>Selected SndCard </b> - <select id='alsa_registry'></select> - - <b>Select NUMID </b> - <select id='alsa_ctl_list' onclick="refresh_list(this, 'alsacore', 'ctlget', {devid:sndcard, mode:1})"> - <option value='-1'>Refresh NUMID list</option> - </select> - - <b>API Verbosity </b> - <select id='api_verbosity' onclick='mode=this.value'> - <option value='0'>Quiet</option> - <option value='1'>Compact</option> - <option value='2'>Verbose</option> - <option value='3'>Full</option> - </select> - - - <br> - <ol> - <li><button onclick="callbinder('alsacore','ctlget', {devid:sndcard, mode:mode})">Get all Alsa Ctls</button></li> - <li><button onclick="callbinder('alsacore','ctlget', {devid:sndcard, mode:mode, ctl:numid})">Get Alsa Ctls [numid]</button></li> - <li><button onclick="callbinder('alsacore','ctlget', {devid:sndcard, mode:mode, ctl:[numid,numid+1]})">Get Alsa Ctls [numid,numid+1]</button></li> - <li><button onclick="callbinder('alsacore','infoget', {})">Get info</button></li> - <li><button onclick="callbinder('alsacore','hallist', {})">HAL list</button></li> - <br> - - - <li><button onclick="callbinder('alsacore','ctlset', {devid:sndcard, mode:mode, ctl:[[9,20]]})">Set Alsa Ctl ctl:[[9,20]]</button></li> - <li><button onclick="callbinder('alsacore','ctlset', {devid:sndcard, mode:mode, ctl:[{id:46,val:50}]})">Set Alsa Ctl ctl:[{id:46,val:50}]}</button></li> - <li><button onclick="callbinder('alsacore','ctlset', {devid:sndcard, mode:mode, ctl:[[6,[20,20]]]})">Set Alsa Ctl ctl:[[6,[20,20]]]</button></li> - <li><button onclick="callbinder('alsacore','ctlset', {devid:sndcard, mode:mode, ctl:[{id:6,val:[50,50]}]})">Set Alsa Ctl ctl:[{id:2,val:[50,50]}]</button></li> - <li><button onclick="callbinder('alsacore','ctlset', {devid:sndcard, mode:mode, ctl:[{id:6,val:[50,50]}, {id:9,val:50,50}]})">Set Alsa Ctl ctl:[{id:6,val:[50,50]}, {id:9,val:50,50}]</button></li> - <br> - <li><button onclick="callbinder('alsacore','ucmquery', {devid:sndcard, mode:mode})">List UCM verbs</button></li> - <li><button onclick="callbinder('alsacore','ucmset' , {devid:sndcard, mode:mode, verb:'HiFi'})">Set UCM HiFi</button></li> - <li><button onclick="callbinder('alsacore','ucmset' , {devid:sndcard, mode:mode, verb:'HiFi', dev:'Headphone'})">Set UCM HiFi+Headphone</button></li> - <li><button onclick="callbinder('alsacore','ucmset' , {devid:sndcard, mode:mode, verb:'HiFi', dev:'Headphone', mod:'RecordMedia'})">Set UCM HiFi+Headphone+RecordMedia</button></li> - <br> - <li><button onclick="callbinder('alsacore','ucmget' , {devid:sndcard, mode:mode, values:['OutputDspName','PlaybackPCM','CapturePCM']})">Get UCM OutputDspName+PlaybackPCM+CapturePCM (SET UCM)</button></li> - <br> - <li><button onclick="callbinder('alsacore','subscribe', {devid:sndcard})">Subscribe AlsaCtl Events</button></li> - <br> - </ol> - - <div id="main" style="visibility:hidden"> - <ol> - <li>Question <pre id="question"></pre> - <li>Response <pre id="output"></pre> - <li>Events: <pre id="outevt"></pre> - </ol> - </div> diff --git a/htdocs/alsa-hal.html b/htdocs/alsa-hal.html deleted file mode 100644 index 013c547..0000000 --- a/htdocs/alsa-hal.html +++ /dev/null @@ -1,54 +0,0 @@ -<html> -<head> - <title>Basic Audio Hardware Abstraction Layer Test</title> - <link rel="stylesheet" href="AudioBinding.css"> - <script type="text/javascript" src="AFB-websock.js"></script> - <script type="text/javascript" src="AudioBinding.js"></script> -</head> - - -<body onload="init('hal_registry','alsacore', 'hallist')"> - - <h1>Simple AlsaHAL tests</h1> - <button id="connected" onclick="init('hal_registry','alsacore', 'hallist')">Binder WS Fail</button> - <br><br> - <b>Selected HAL </b> - <select id='hal_registry'></select> - - <b>API Verbosity </b> - <select id='api_verbosity' onclick='mode=this.value'> - <option value='0'>Quiet</option> - <option value='1'>Compact</option> - <option value='2'>Verbose</option> - <option value='3'>Full</option> - </select> - <br> - - <br> - <ol> - - <li><button onclick="callbinder(sndcard,'ctllist')">List Selected HAL Controls </button></li> - <li><button onclick="callbinder(sndcard,'ctlget', {label:'Master_Playback_Volume'})">Get {label:'Master_Playback_Volume'}</button></li> - <li><button onclick="callbinder(sndcard,'ctlget', [{tag:4},{tag:5}])">Get[{tag:4},{tag:5}]</button></li> - <li><button onclick="callbinder(sndcard,'ctlget', [4,5])">Get [4,5]</button></li> - <br> - <li><button onclick="callbinder(sndcard,'ctlset', {label:'Master_Playback_Volume', val:[50]})">Set {label:'Master_Playback_Volume', value=[50]}</button></li> - <li><button onclick="callbinder(sndcard,'ctlset', {tag: 4, val:5})">Set {tag: 4, val:5}</button></li> - <li><button onclick="callbinder(sndcard,'ctlset', [{tag:4, val:25},{tag:5, val:25}])">Set[{tag:4, val:25},{tag:5, val:25}]</button></li> - <li><button onclick="callbinder(sndcard,'ctlset', [{tag:4, val:[55,45]},{tag:5, val:[45,55]}])">Set[{tag:4, val:[55,45]},{tag:5, val:[45,55]}]]</button></li> - <br> - - <li> - <label for="volramp">Volume Ramp</label> - <input id="volramp" type="number" min=0 max=100 step=10 maxlength=3 placeholder="Enter 0-100" onChange="callbinder(sndcard,'ctl-set', {label:'Volume_Ramp', val:this.value})"> - </li> - <br> - </ol> - - <div id="main" style="visibility:hidden"> - <ol> - <li>Question <pre id="question"></pre> - <li>Response <pre id="output"></pre> - <li>Events: <pre id="outevt"></pre> - </ol> - </div> diff --git a/htdocs/assets/content-background-car-wide.png b/htdocs/assets/content-background-car-wide.png Binary files differdeleted file mode 100644 index 073d1b9..0000000 --- a/htdocs/assets/content-background-car-wide.png +++ /dev/null diff --git a/htdocs/assets/content-background-car.png b/htdocs/assets/content-background-car.png Binary files differdeleted file mode 100644 index 4bcde72..0000000 --- a/htdocs/assets/content-background-car.png +++ /dev/null diff --git a/htdocs/assets/content-background.png b/htdocs/assets/content-background.png Binary files differdeleted file mode 100644 index 9be581c..0000000 --- a/htdocs/assets/content-background.png +++ /dev/null diff --git a/htdocs/assets/emergency.png b/htdocs/assets/emergency.png Binary files differdeleted file mode 100644 index c959b04..0000000 --- a/htdocs/assets/emergency.png +++ /dev/null diff --git a/htdocs/assets/favicon.ico b/htdocs/assets/favicon.ico Binary files differdeleted file mode 100644 index eeb7ab7..0000000 --- a/htdocs/assets/favicon.ico +++ /dev/null diff --git a/htdocs/assets/iot-bzh-logo-small.png b/htdocs/assets/iot-bzh-logo-small.png Binary files differdeleted file mode 100644 index 2c3b2ae..0000000 --- a/htdocs/assets/iot-bzh-logo-small.png +++ /dev/null diff --git a/htdocs/assets/messages.png b/htdocs/assets/messages.png Binary files differdeleted file mode 100644 index 4919452..0000000 --- a/htdocs/assets/messages.png +++ /dev/null diff --git a/htdocs/assets/music-pause.png b/htdocs/assets/music-pause.png Binary files differdeleted file mode 100644 index 790a6c4..0000000 --- a/htdocs/assets/music-pause.png +++ /dev/null diff --git a/htdocs/assets/music-play.png b/htdocs/assets/music-play.png Binary files differdeleted file mode 100644 index 37c18e3..0000000 --- a/htdocs/assets/music-play.png +++ /dev/null diff --git a/htdocs/assets/phone-call-emit1.png b/htdocs/assets/phone-call-emit1.png Binary files differdeleted file mode 100644 index a8d863b..0000000 --- a/htdocs/assets/phone-call-emit1.png +++ /dev/null diff --git a/htdocs/assets/phone-call-emit2.png b/htdocs/assets/phone-call-emit2.png Binary files differdeleted file mode 100644 index 14c8cbe..0000000 --- a/htdocs/assets/phone-call-emit2.png +++ /dev/null diff --git a/htdocs/assets/phone-call-emit3.png b/htdocs/assets/phone-call-emit3.png Binary files differdeleted file mode 100644 index 5283a40..0000000 --- a/htdocs/assets/phone-call-emit3.png +++ /dev/null diff --git a/htdocs/assets/phone-call.png b/htdocs/assets/phone-call.png Binary files differdeleted file mode 100644 index 40007d2..0000000 --- a/htdocs/assets/phone-call.png +++ /dev/null diff --git a/htdocs/audiobackend.html b/htdocs/audiobackend.html deleted file mode 100644 index a7c8f41..0000000 --- a/htdocs/audiobackend.html +++ /dev/null @@ -1,35 +0,0 @@ -<html> -<head> - <link rel="stylesheet" href="AudioBinding.css"> - <title>Audio High Level Test</title> - - <script type="text/javascript" src="AFB-websock.js"></script> - <script type="text/javascript" src="AudioBinding.js"></script> -</head> - -<body onload="init('audiod')"> - - <button id="connected" onclick="init('audiod');">Binder WS Fail</button> <br><br> - <br> - <ol> - <li><button onclick="callbinder('audiod','play', {device_name:'plug:Entertainment_Main', filepath:'style.wav', loop:0})">play('hw:0', 'style.wav')</button></li> - <li><button onclick="callbinder('audiod','play', {device_name:'hw:0', filepath:'application.wav', loop:1})">playloop('hw:0', 'application.wav')</button></li> - <li><button onclick="callbinder('audiod','play', {device_name:'hw:0', filepath:'application.wav', loop:0})">play('hw:0', 'application.wav')</button></li> - <li><button onclick="callbinder('audiod','stop', {audio_role:4})">stop()</button></li> - <li><button onclick="callbinder('audiod','pause', {audio_role:4})">pause()</button></li> - <li><button onclick="callbinder('audiod','subscribe', {audio_role:4})">subscribe()</button></li> - <li><button onclick="callbinder('audiod','unsubscribe', {audio_role:4})">unsubscribe()</button></li> - <li><button onclick="callbinder('audiod','post_event', {event_name:'speed', event_parameter:{speed:10}})">post_event('event_name:speed, {speed:10}')</button></li> - - </li> - - <br> - </ol> - - <div id="main" style="visibility:hidden"> - <ol> - <li>Question <pre id="question"></pre> - <li>Response <pre id="output"></pre> - <li>Events: <pre id="outevt"></pre> - </ol> - </div> diff --git a/htdocs/audiohl.html b/htdocs/audiohl.html deleted file mode 100644 index 6745ba1..0000000 --- a/htdocs/audiohl.html +++ /dev/null @@ -1,93 +0,0 @@ -<html> - -<head> - <link rel="stylesheet" href="AudioBinding.css"> - <title>Audio High Level Test</title> - - <script type="text/javascript" src="AFB-websock.js"></script> - <script type="text/javascript" src="AudioBinding.js"></script> -</head> - -<body onload="init('ahl-4a'); ep_type='sink' ; ar='Entertainment' ; ep_id=0 ; s_id=0 ; prop_val=0 ; vol_val='0' ; p_name='balance' ; st_state='idle' ; st_mute=0"> - - <button id="connected" onclick="init('ahl-4a');">Binder WS Fail</button> <br><br> - <button id="monitoring" onclick="window.open('/monitoring/monitor.html','_monitor_audio')">Debug/Monitoring</a></button> - - <b>Audio Role</b> - <select select_id='audiorole_list' onclick='ar=this.value'> - <option value='Warning' >Warning</option> - <option value='Guidance'>Guidance</option> - <option value='Notification'>Notification</option> - <option value='Communication'>Communication</option> - <option selected value='Entertainment'>Entertainment</option> - <option value='System'>System</option> - <option value='Startup'>Startup</option> - <option value='Shutdown'>Shutdown</option> - </select><br> - <b>Endpoint Type</b> - <select select_id='endpoint_type_list' onclick='ep_type=this.value'> - <option value='source'>Source</option> - <option selected value='sink'>Sink</option> - </select><br> - <b><label for="epidsel">Endpoint ID</label></b> - <input id="epidsel" type="number" value="0" min=0 step=1 maxlength=4 onchange='ep_id=eval(parseInt(this.value))'><br> - <b><label for="stidsel">Stream ID</label></b> - <input id="stidsel" type="number" value="0" min=0 step=1 maxlength=4 onchange='s_id=eval(parseInt(this.value))'><br> - <b>Stream State</b> - <select select_id='stream_state' onclick='st_state=this.value'> - <option selected value='idle'>Idle</option> - <option value='running'>Running</option> - <option value='paused'>Paused</option> - </select><br> - <b>Stream Mute State</b> - <select select_id='stream_mute' onclick='st_mute=parseInt(this.value)'> - <option selected value='0'>Unmuted</option> - <option value='1'>Muted</option> - </select><br> - <b>Property</b> - <select select_id='property_name_list' onclick='p_name=this.value'> - <option selected value='balance'>Balance</option> - <option value='fade'>Fade</option> - <option value='eq_bass'>EQ Bass</option> - <option value='eq_mid'>EQ Mid</option> - <option value='eq_treble'>EQ Treble</option> - </select><br> - <b><label for="valpropsel">Volume Value</label></b> - <input id="volvalsel" type="number" value="0" min=0 max=100 step=1 maxlength=4 onchange='vol_val=this.value'><br> - <b><label for="valpropsel">Property Value</label></b> - <input id="propvalsel" type="number" value="0" min=0 max=100 step=1 maxlength=4 onchange='prop_val=eval(parseInt(this.value))'><br> - - <br> - <ol> - <li><button onclick="callbinder('ahl-4a','get_endpoints', {audio_role:ar,endpoint_type:ep_type})">get_endpoints(audio_role,endpoint_type)</button></li> - <li><button onclick="callbinder('ahl-4a','stream_open', {audio_role:ar,endpoint_type:ep_type})">stream_open(audio_role,endpoint_type)</button></li> - <li><button onclick="callbinder('ahl-4a','stream_open', {audio_role:ar,endpoint_type:ep_type,endpoint_id:ep_id})">stream_open(audio_role,enpoint_type,endpoint_id)</button></li> - <li><button onclick="callbinder('ahl-4a','stream_close', {stream_id:s_id})">stream_close(stream_id)</button></li> - <li><button onclick="callbinder('ahl-4a','stream_close', {})">stream_close()</button></li> - <li><button onclick="callbinder('ahl-4a','get_stream_info', {stream_id:s_id})">get_stream_info(stream_id)</button></li> - <li><button onclick="callbinder('ahl-4a','set_stream_state', {stream_id:s_id})">set_stream_state(stream_id)</button></li> - <li><button onclick="callbinder('ahl-4a','set_stream_state', {stream_id:s_id,state:st_state})">set_stream_state(stream_id,stream_state)</button></li> - <li><button onclick="callbinder('ahl-4a','set_stream_state', {stream_id:s_id,mute:st_mute})">set_stream_state(stream_id,mute)</button></li> - <li><button onclick="callbinder('ahl-4a','set_stream_state', {stream_id:s_id,state:st_state,mute:st_mute})">set_stream_state(stream_id,stream_state,mute)</button></li> - <li><button onclick="callbinder('ahl-4a','set_stream_state', {state:st_state,mute:st_mute})">set_stream_state(stream_state,mute)</button></li> - <li><button onclick="callbinder('ahl-4a','volume', {endpoint_type:ep_type,endpoint_id:ep_id,volume:vol_val})">volume(endpoint_type,endpoint_id,value)</button></li> - <li><button onclick="callbinder('ahl-4a','volume', {endpoint_type:ep_type,endpoint_id:ep_id})">volume(endpoint_type,endpoint_id)</button></li> - <li><button onclick="callbinder('ahl-4a','property', {endpoint_type:ep_type,endpoint_id:ep_id,property_name:p_name,value:prop_val})">property(endpoint_type,endpoint_id,property,value)</button></li> - <li><button onclick="callbinder('ahl-4a','property', {endpoint_type:ep_type,endpoint_id:ep_id,property_name:p_name})">property(endpoint_type,endpoint_id,property)</button></li> - <li><button onclick="callbinder('ahl-4a','get_endpoint_info', {endpoint_type:ep_type,endpoint_id:ep_id})">get_endpoint_info(endpoint_type,endpoint_id)</button></li> - <li><button onclick="callbinder('ahl-4a','get_list_actions', {audio_role:ar})">get_list_actions(audio_role)</button></li> - <li><button onclick="callbinder('ahl-4a','post_action', {action_name:'emergency_brake',audio_role:ar,media_name:'Warning.wav'})">post_action(emergency_brake,audio_role,'Warning.wav')</button></li> - <li><button onclick="callbinder('ahl-4a','event_subscription', {events:['ahl_endpoint_property_event','ahl_endpoint_volume_event','ahl_post_action'],subscribe:1})">subscribe(['ahl_endpoint_property_event','ahl_endpoint_volume_event','ahl_post_action'])</button> - <li><button onclick="callbinder('ahl-4a','event_subscription', {events:['ahl_endpoint_property_event','ahl_endpoint_volume_event','ahl_post_action'],subscribe:0})">unsubscribe(['ahl_endpoint_property_event','ahl_endpoint_volume_event','ahl_post_action'])</button></li> - </ol> - - <div id="main" style="visibility:hidden"> - <ol> - <li>Question - <pre id="question"></pre> - <li>Response - <pre id="output"></pre> - <li>Events: - <pre id="outevt"></pre> - </ol> - </div>
\ No newline at end of file diff --git a/htdocs/index.html b/htdocs/index.html deleted file mode 100644 index 532cfce..0000000 --- a/htdocs/index.html +++ /dev/null @@ -1,10 +0,0 @@ -<html> - <head> - <title>AGL Audio Agent</title> - <body> - <h1>AAA binding tests</h1> - <ol> - <li><a href="alsa-core.html">AlsaCore Low Level Binding</a> - <li><a href="alsa-hal.html" >AlsaHAL Hardware Abstraction Layer</a> - <li><a href="audiohl.html">High Level Audio API</a> - <li><a href="audiobackend.html">Audio Backend Test</a> |