VoicePult/integrations/opendeck/de.voicepult.control.sdPlugin/inspector.html
2026-10-03 11:07:47 +02:00

11 lines
1.5 KiB
HTML

<!doctype html><html lang="de"><meta charset="utf-8"><title>VoicePult</title><style>body{background:#202622;color:#eee;font:14px sans-serif;padding:18px}select{width:100%;padding:10px;margin:12px 0}p{line-height:1.5;color:#bbb}</style><label for="channel">VoicePult-Kanal</label><select id="channel"><option>Verbinde VoicePult…</option></select><p>Ein Tastendruck schaltet den Kanal stumm oder wieder ein. AN/AUS folgt auch Änderungen auf der Website.</p><script>
let socket,context,action,items=[];
function connectElgatoStreamDeckSocket(port,uuid,register,info,raw){
action=JSON.parse(raw);context=action.context;
socket=new WebSocket('ws://127.0.0.1:'+port);
socket.onopen=()=>{socket.send(JSON.stringify({event:register,uuid}));socket.send(JSON.stringify({event:'sendToPlugin',action:action.action,context,payload:{event:'list'}}));};
socket.onmessage=e=>{const msg=JSON.parse(e.data);if(msg.event!=='sendToPropertyInspector')return;items=msg.payload.items||[];const select=document.getElementById('channel');select.replaceChildren();items.forEach((item,i)=>{const option=document.createElement('option');option.value=i;option.textContent=(item.kind==='target'?'Mikrofon: ':'Kanal: ')+item.name;option.selected=item.id===action.payload.settings.id;select.append(option);});};
document.getElementById('channel').onchange=e=>{const item=items[Number(e.target.value)];if(item)socket.send(JSON.stringify({event:'setSettings',context,payload:{id:item.id,kind:item.kind,name:item.name}}));};
}
</script></html>