mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
fix audio device selection
This commit is contained in:
parent
119eb4ed88
commit
24ad55081c
4 changed files with 30 additions and 16 deletions
|
@ -4,6 +4,8 @@ import pinia from "../store/index";
|
|||
setActivePinia(pinia);
|
||||
import {
|
||||
processModemConfig,
|
||||
processModemAudioDevices,
|
||||
processModemSerialDevices,
|
||||
getModemConfigAsJSON,
|
||||
} from "../js/settingsHandler.ts";
|
||||
|
||||
|
@ -52,10 +54,10 @@ function restDataDispatcher(endpoint, data) {
|
|||
processModemConfig(data);
|
||||
break;
|
||||
case "devices/audio":
|
||||
//processModemAudioDevices(data);
|
||||
processModemAudioDevices(data);
|
||||
break;
|
||||
case "devices/serial":
|
||||
//processModemSerialDevices(data);
|
||||
processModemSerialDevices(data);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -9,6 +9,9 @@ setActivePinia(pinia);
|
|||
import { useSettingsStore } from "../store/settingsStore.js";
|
||||
const settings = useSettingsStore(pinia);
|
||||
|
||||
import { useAudioStore } from "../store/audioStore.js";
|
||||
const audioStore = useAudioStore(pinia);
|
||||
|
||||
import { postToServer, getFromServer } from "./rest.js";
|
||||
|
||||
// ---------------------------------
|
||||
|
@ -133,6 +136,8 @@ export function processModemConfig(data) {
|
|||
settings.auto_tune = data.AUDIO.auto_tune;
|
||||
settings.rx_audio_level = data.AUDIO.rxaudiolevel;
|
||||
settings.tx_audio_level = data.AUDIO.txaudiolevel;
|
||||
settings.rx_audio = data.AUDIO.rx;
|
||||
settings.tx_audio = data.AUDIO.tx;
|
||||
|
||||
// MODEM SETTINGS
|
||||
settings.enable_fft = data.Modem.fft;
|
||||
|
@ -159,6 +164,18 @@ export function processModemConfig(data) {
|
|||
settings.enable_mesh_features = data.MESH.enable_protocol;
|
||||
}
|
||||
|
||||
export function processModemAudioDevices(data) {
|
||||
console.log(data)
|
||||
audioStore.inputDevices = data["in"];
|
||||
audioStore.outputDevices = data["out"];
|
||||
}
|
||||
|
||||
export function processModemSerialDevices(data) {
|
||||
|
||||
settings.serial_devices = data;
|
||||
}
|
||||
|
||||
|
||||
export function getModemConfigAsJSON() {
|
||||
// create json output from settings
|
||||
// TODO Can we make this more dynamic? Maybe using a settings object?
|
||||
|
@ -167,9 +184,9 @@ export function getModemConfigAsJSON() {
|
|||
const configData = {
|
||||
AUDIO: {
|
||||
auto_tune: settings.auto_tune,
|
||||
rx: "560f",
|
||||
rx: settings.rx_audio,
|
||||
rxaudiolevel: settings.rx_audio_level,
|
||||
tx: "560f",
|
||||
tx: settings.tx_audio,
|
||||
txaudiolevel: settings.tx_audio_level,
|
||||
},
|
||||
MESH: {
|
||||
|
|
|
@ -19,13 +19,15 @@ export const useAudioStore = defineStore("audioStore", () => {
|
|||
var html = "";
|
||||
for (var key in inputDevices.value) {
|
||||
let selected = "";
|
||||
if (inputDevices.value[key]["name"] == settings.rx_audio) {
|
||||
|
||||
console.log("AUDIO DEVICES: " + inputDevices.value[key]["id"] + " | " + settings.rx_audio)
|
||||
if (inputDevices.value[key]["id"] == settings.rx_audio) {
|
||||
selected = "selected";
|
||||
} else {
|
||||
selected = "";
|
||||
}
|
||||
|
||||
html += `<option value=${inputDevices.value[key]["id"]} ${selected}>${inputDevices.value[key]["name"]}</option>`;
|
||||
html += `<option value=${inputDevices.value[key]["id"]} ${selected}>${inputDevices.value[key]["name"]} | ${inputDevices.value[key]["api"]}</option>`;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
@ -34,12 +36,12 @@ export const useAudioStore = defineStore("audioStore", () => {
|
|||
var html = "";
|
||||
for (var key in outputDevices.value) {
|
||||
let selected = "";
|
||||
if (outputDevices.value[key]["name"] == settings.tx_audio) {
|
||||
if (outputDevices.value[key]["id"] == settings.tx_audio) {
|
||||
selected = "selected";
|
||||
} else {
|
||||
selected = "";
|
||||
}
|
||||
html += `<option value=${outputDevices.value[key]["id"]} ${selected}>${outputDevices.value[key]["name"]}</option>`;
|
||||
html += `<option value=${outputDevices.value[key]["id"]} ${selected}>${outputDevices.value[key]["name"]} | ${inputDevices.value[key]["api"]}</option>`;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
|
|
@ -116,12 +116,5 @@ def post_cqcqcq():
|
|||
# Event websocket
|
||||
@sock.route('/events')
|
||||
def echo(sock):
|
||||
print("----------------------")
|
||||
print("waiting for input")
|
||||
ev = app.modem_events.get()
|
||||
print(ev)
|
||||
try:
|
||||
sock.send(ev)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print("sending to sock done")
|
||||
sock.send(ev)
|
||||
|
|
Loading…
Reference in a new issue