mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-16 09:01:59 -05:00
54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
|
#ifndef SOUNDIN_H
|
||
|
#define SOUNDIN_H
|
||
|
|
||
|
#include <QtCore>
|
||
|
#include <QDebug>
|
||
|
|
||
|
#include <QAudioDeviceInfo>
|
||
|
#include <QAudioInput>
|
||
|
#include <valarray>
|
||
|
|
||
|
// Thread gets audio data from soundcard and signals when a buffer of
|
||
|
// specified size is available.
|
||
|
class SoundInThread : public QThread
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
bool quitExecution; // if true, thread exits gracefully
|
||
|
QMutex quitExecutionMutex; // protects the quitExecution variable
|
||
|
QAudioDeviceInfo inputDevice; // audioinput device name
|
||
|
|
||
|
protected:
|
||
|
virtual void run();
|
||
|
|
||
|
public:
|
||
|
bool m_dataSinkBusy;
|
||
|
|
||
|
SoundInThread():
|
||
|
quitExecution(false),
|
||
|
m_dataSinkBusy(false)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void setInputDevice(qint32 n);
|
||
|
void setMonitoring(bool b);
|
||
|
void setPeriod(int ntrperiod, int nsps);
|
||
|
int mstep();
|
||
|
|
||
|
signals:
|
||
|
void readyForFFT(int k);
|
||
|
void error(const QString& message);
|
||
|
void status(const QString& message);
|
||
|
|
||
|
public slots:
|
||
|
void quit();
|
||
|
|
||
|
private:
|
||
|
qint32 m_step;
|
||
|
qint32 m_nDevIn;
|
||
|
qint32 m_TRperiod;
|
||
|
qint32 m_TRperiod0;
|
||
|
qint32 m_nsps;
|
||
|
bool m_monitoring;
|
||
|
};
|
||
|
#endif // SOUNDIN_H
|