diff --git a/src/tuimble/config.py b/src/tuimble/config.py index ee2c8d9..14af7c4 100644 --- a/src/tuimble/config.py +++ b/src/tuimble/config.py @@ -16,6 +16,8 @@ class ServerConfig: username: str = "tuimble-user" password: str = "" channel: str = "" + certfile: str = "" + keyfile: str = "" @dataclass @@ -24,6 +26,8 @@ class AudioConfig: output_device: int | None = None sample_rate: int = 48000 frame_size: int = 960 # 20ms at 48kHz + input_gain: float = 1.0 + output_gain: float = 1.0 @dataclass diff --git a/tests/test_config.py b/tests/test_config.py index 30b7ca5..b7a4896 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,6 +1,6 @@ """Tests for configuration module.""" -from tuimble.config import Config, PttConfig, ServerConfig +from tuimble.config import AudioConfig, Config, PttConfig, ServerConfig def test_default_config(): @@ -21,3 +21,27 @@ def test_ptt_config_defaults(): ptt = PttConfig() assert ptt.key == "f4" assert ptt.backend == "auto" + + +def test_audio_gain_defaults(): + acfg = AudioConfig() + assert acfg.input_gain == 1.0 + assert acfg.output_gain == 1.0 + + +def test_audio_gain_custom(): + acfg = AudioConfig(input_gain=0.5, output_gain=1.5) + assert acfg.input_gain == 0.5 + assert acfg.output_gain == 1.5 + + +def test_server_cert_defaults(): + srv = ServerConfig() + assert srv.certfile == "" + assert srv.keyfile == "" + + +def test_server_cert_custom(): + srv = ServerConfig(certfile="/path/cert.pem", keyfile="/path/key.pem") + assert srv.certfile == "/path/cert.pem" + assert srv.keyfile == "/path/key.pem"