mutterkey
KDE-first push-to-talk transcription tool for KDE Plasma
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1#pragma once
2
3#include <QByteArray>
4#include <QJsonObject>
5#include <QString>
6#include <QStringList>
7
22
28
34 QString componentUnique = QStringLiteral("mutterkey");
36 QString componentFriendly = QStringLiteral("Mutterkey");
38 QString actionUnique = QStringLiteral("push_to_talk");
40 QString actionFriendly = QStringLiteral("Push to Talk");
42 QString sequence = QStringLiteral("F8");
43};
44
50 int sampleRate = 16000;
52 int channels = 1;
54 double minimumSeconds = 0.25;
56 QString deviceId;
57};
58
64 QString modelPath;
66 QString language = QStringLiteral("en");
68 bool translate = false;
70 int threads = 0;
72 bool warmupOnStart = false;
73};
74
88
94
105AppConfig loadConfig(const QString &path, QString *errorMessage = nullptr);
106
117AppConfig loadConfigObject(const QJsonObject &root, const QString &sourceName = QStringLiteral("<in-memory config>"));
118
124QByteArray serializeConfig(const AppConfig &config);
125
131QJsonObject configToJsonObject(const AppConfig &config);
132
140bool saveConfig(const QString &path, const AppConfig &config, QString *errorMessage = nullptr);
141
147
156bool applyConfigValue(AppConfig *config, QStringView key, const QString &value, QString *errorMessage = nullptr);
AppConfig loadConfigObject(const QJsonObject &root, const QString &sourceName=QStringLiteral("<in-memory config>"))
Loads a config object and applies the same fallback rules as file loading.
QString defaultModelPath()
Returns the default model artifact path used for fallback config values.
AppConfig defaultAppConfig()
Returns the built-in runtime defaults.
QStringList supportedConfigKeys()
Returns the supported dotted keys for config mutation.
bool applyConfigValue(AppConfig *config, QStringView key, const QString &value, QString *errorMessage=nullptr)
Applies a single dotted-key config value with validation.
bool saveConfig(const QString &path, const AppConfig &config, QString *errorMessage=nullptr)
Saves a config snapshot to disk, creating parent directories as needed.
QString defaultConfigPath()
Returns the default runtime config path.
AppConfig loadConfig(const QString &path, QString *errorMessage=nullptr)
Loads a config file and applies repo-defined fallback defaults.
QJsonObject configToJsonObject(const AppConfig &config)
Converts a config snapshot to the saved JSON object shape.
QByteArray serializeConfig(const AppConfig &config)
Serializes a config snapshot to indented JSON.
Top-level runtime configuration snapshot.
Definition config.h:78
TranscriberConfig transcriber
Transcription backend settings.
Definition config.h:84
AudioConfig audio
Audio capture settings.
Definition config.h:82
ShortcutConfig shortcut
Global shortcut settings.
Definition config.h:80
QString logLevel
Qt logging threshold accepted by the runtime logger setup.
Definition config.h:86
Audio capture configuration passed to the recorder.
Definition config.h:48
int sampleRate
Preferred sample rate requested from the capture device.
Definition config.h:50
int channels
Preferred channel count requested from the capture device.
Definition config.h:52
double minimumSeconds
Minimum recording duration required before transcription is attempted.
Definition config.h:54
QString deviceId
Optional Qt multimedia device identifier. Empty selects the default input.
Definition config.h:56
Global shortcut registration settings.
Definition config.h:32
QString actionFriendly
Human-readable action name shown by KDE tooling.
Definition config.h:40
QString actionUnique
Stable action identifier used for the push-to-talk action.
Definition config.h:38
QString componentFriendly
Human-readable component name shown by KDE tooling.
Definition config.h:36
QString sequence
Shortcut sequence accepted by QKeySequence parsing.
Definition config.h:42
QString componentUnique
Stable KDE component identifier used with KGlobalAccel.
Definition config.h:34
Transcription runtime configuration.
Definition config.h:62
QString language
Language code passed to whisper.cpp.
Definition config.h:66
int threads
Number of worker threads. 0 means auto-detect.
Definition config.h:70
QString modelPath
Filesystem path to a model package, manifest, or raw compatibility artifact.
Definition config.h:64
bool translate
When true, translate speech to English instead of transcribing as-is.
Definition config.h:68
bool warmupOnStart
When true, initialize the backend during service startup.
Definition config.h:72