Twirre Meulenbelt
fab5127cac
feat: add application parameter to choose a custom microphone
...
ref: N25B-119
2025-11-02 16:12:56 +01:00
Twirre Meulenbelt
230ab5d5cc
test: add case for microphone failure
...
When the microphone fails, it will raise an IOError during the `read`. This is simulated with a new test.
ref: N25B-119
2025-10-22 15:38:30 +02:00
Twirre Meulenbelt
0499cd8a24
feat: send audio
...
AudioSender runs in a separate thread to send audio from the microphone.
ref: N25B-119
2025-10-22 15:10:27 +02:00
Twirre Meulenbelt
f8db719bfa
test: unit test mock PyAudio, integration test use real
...
Make unit tests use a mock version of PyAudio, while making integration tests using the real version. If no real microphone is available, these integration tests are skipped.
ref: N25B-119
2025-10-22 13:27:35 +02:00
Twirre Meulenbelt
0f60f67ab9
feat: add microphone selection utils
...
Providing two functions, one to choose the default microphone, the other to choose a microphone interactively. With tests.
ref: N25B-119
2025-10-22 11:44:51 +02:00
Twirre Meulenbelt
5631a55697
test: convert to pytest
...
Instead of built-in `unittest`, now use `pytest`. Find versions that work, convert tests.
ref: N25B-168
2025-10-21 13:55:06 +02:00
Twirre Meulenbelt
4c3aa3a911
feat: adapt actuation receiver to state's qi_session
...
Makes actuation tests pass. In main, the timing of the socket no longer contains the time to receive and send data, but only the processing time of the message handler.
ref: N25B-168
2025-10-16 21:46:46 +02:00
Twirre Meulenbelt
56c804b7eb
test: add unit tests for main and actuation receivers
...
Exhaustive test cases for both classes, with 100% coverage. Adds `mock` dependency. Tests for actuation receiver do not yet pass.
ref: N25B-168
2025-10-16 21:43:24 +02:00