feat: manifest, translations, catalog for loki/headsetcontrol

This commit is contained in:
loki committed 2026-08-31 11:45:28 +02:00
1 parent 3f5711a073
commit 1fb13891ac
4 files changed
+166

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
[[plugin]]
id = "loki/headsetcontrol"
name = "Headset Control"
version = "1.0.0"
author = "loki"
license = "MIT"
icon = "headset"
description = "Monitor and control HeadsetControl-compatible headsets."
plugin_api = 24
tags = ["audio", "hardware", "headset"]
dependencies = ["headsetcontrol"]
+71
View File
@@ -0,0 +1,71 @@
id = "loki/headsetcontrol"
name = "Headset Control"
version = "1.0.0"
plugin_api = 24
author = "loki"
license = "MIT"
icon = "headset"
description = "Monitor and control HeadsetControl-compatible headsets."
tags = ["audio", "hardware", "headset"]
dependencies = ["headsetcontrol"]
[[setting]]
key = "poll_interval"
type = "int"
label_key = "settings.poll_interval.label"
description_key = "settings.poll_interval.description"
default = 60
min = 10
max = 600
[[setting]]
key = "battery_low"
type = "int"
label_key = "settings.battery_low.label"
description_key = "settings.battery_low.description"
default = 20
min = 5
max = 50
[[setting]]
key = "sidetone_default"
type = "int"
label_key = "settings.sidetone_default.label"
description_key = "settings.sidetone_default.description"
default = 64
min = 0
max = 128
[[setting]]
key = "device"
type = "string"
label_key = "settings.device.label"
description_key = "settings.device.description"
default = ""
[[setting]]
key = "mock"
type = "bool"
label_key = "settings.mock.label"
description_key = "settings.mock.description"
default = false
advanced = true
[[service]]
id = "headset"
entry = "service.luau"
[[widget]]
id = "battery"
entry = "widget.luau"
[[panel]]
id = "control"
entry = "panel.luau"
width = 400
height = 480
placement = "floating"
[[shortcut]]
id = "sidetone"
entry = "shortcut.luau"
+42
View File
@@ -0,0 +1,42 @@
{
"settings.poll_interval.label": "Aktualisierungsintervall (Sekunden)",
"settings.poll_interval.description": "Wie oft der Headset-Status abgefragt wird.",
"settings.battery_low.label": "Schwelle niedriger Akku",
"settings.battery_low.description": "Warnen, wenn der Akku unter diesen Prozentwert fällt.",
"settings.sidetone_default.label": "Standard-Sidetone",
"settings.sidetone_default.description": "Startwert Sidetone (0-128), wenn das Headset nicht abgefragt werden kann.",
"settings.device.label": "Gerät (VID:PID)",
"settings.device.description": "Leer lassen für Auto-Erkennung, oder z.B. 3329:4b19 setzen.",
"settings.mock.label": "Mock-Gerät",
"settings.mock.description": "Simuliert ein Headset für die Entwicklung ohne Hardware.",
"status.charging": "lädt",
"status.full": "voll",
"status.normal": "Akku",
"status.discharging": "entlädt",
"status.unavailable": "offline",
"chatmix.game": "Spiel",
"chatmix.chat": "Chat",
"widget.chatmix": "Chatmix",
"panel.title": "Headset",
"panel.no_device": "Kein Headset erkannt",
"panel.battery": "Akku",
"panel.chatmix": "Chatmix",
"panel.sidetone": "Sidetone",
"panel.off": "Aus",
"panel.low": "Niedrig",
"panel.high": "Hoch",
"panel.equalizer": "Equalizer-Preset",
"panel.preset": "Preset",
"panel.inactive_time": "Auto-Aus",
"panel.never": "Nie",
"panel.noise_filter": "Rauschfilter",
"panel.voice_prompts": "Sprachansagen",
"panel.volume_limiter": "Lautstärkebegrenzer",
"panel.no_caps": "Keine unterstützten Funktionen.",
"notify.battery_low.title": "Headset-Akku niedrig",
"notify.battery_low.body": "Akku bei %d%%",
"error.no_binary": "headsetcontrol ist nicht installiert",
"error.command_failed": "headsetcontrol-Befehl fehlgeschlagen",
"shortcut.on": "Sidetone an",
"shortcut.off": "Sidetone aus"
}
+42
View File
@@ -0,0 +1,42 @@
{
"settings.poll_interval.label": "Poll interval (seconds)",
"settings.poll_interval.description": "How often the headset status is refreshed.",
"settings.battery_low.label": "Low battery threshold",
"settings.battery_low.description": "Warn when the battery drops below this percent.",
"settings.sidetone_default.label": "Default sidetone",
"settings.sidetone_default.description": "Starting sidetone level (0-128) used when the headset cannot be queried.",
"settings.device.label": "Device (VID:PID)",
"settings.device.description": "Leave empty to auto-detect, or set e.g. 3329:4b19.",
"settings.mock.label": "Mock device",
"settings.mock.description": "Simulate a headset for development without hardware.",
"status.charging": "charging",
"status.full": "full",
"status.normal": "battery",
"status.discharging": "discharging",
"status.unavailable": "offline",
"chatmix.game": "game",
"chatmix.chat": "chat",
"widget.chatmix": "chatmix",
"panel.title": "Headset",
"panel.no_device": "No headset detected",
"panel.battery": "Battery",
"panel.chatmix": "Chat mix",
"panel.sidetone": "Sidetone",
"panel.off": "Off",
"panel.low": "Low",
"panel.high": "High",
"panel.equalizer": "Equalizer preset",
"panel.preset": "Preset",
"panel.inactive_time": "Auto-off",
"panel.never": "Never",
"panel.noise_filter": "Noise filter",
"panel.voice_prompts": "Voice prompts",
"panel.volume_limiter": "Volume limiter",
"panel.no_caps": "No supported capabilities.",
"notify.battery_low.title": "Headset battery low",
"notify.battery_low.body": "Battery at %d%%",
"error.no_binary": "headsetcontrol is not installed",
"error.command_failed": "headsetcontrol command failed",
"shortcut.on": "Sidetone on",
"shortcut.off": "Sidetone off"
}