SoDaRadio-12.2.0-cut_dependencies:6c82803
Loading...
Searching...
No Matches
CLIAudio.hxx File Reference

Qt-based audio I/O threads for SoDaCLI. More...

#include <QThread>
#include <QAudioDevice>
#include <atomic>
#include <string>

Go to the source code of this file.

Classes

class  SoDaCLI::AudioOutThread
 Receives demodulated audio from SoDaServer and plays it. More...
class  SoDaCLI::AudioInThread
 Captures microphone audio and sends it to SoDaServer. More...
class  SoDaCLI::AudioToneThread
 Generates a 440 Hz sine wave and plays it through an audio output device. More...

Namespaces

namespace  SoDaCLI

Functions

QAudioDevice SoDaCLI::findOutputDevice (const std::string &name)
 Find an audio output device by name.
QAudioDevice SoDaCLI::findInputDevice (const std::string &name)
 Find an audio input device by name.
void SoDaCLI::listAudioDevices ()
 Print all available audio input and output devices to stdout.

Detailed Description

Qt-based audio I/O threads for SoDaCLI.

Each direction (RX audio out, TX audio in) runs in its own QThread with a full Qt event loop so that QLocalSocket signals and QTimer callbacks fire correctly. The main REPL thread controls them through thread-safe setters.

Audio format: 32-bit float PCM, 48 000 Hz, mono. Samples are exchanged with SoDaServer over Unix-domain sockets without a length prefix: {socket_basename}_rxa — server sends demodulated audio to CLI (play) {socket_basename}_txa — CLI sends microphone audio to server (transmit)

Definition in file CLIAudio.hxx.