mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-09-08 22:36:40 -04:00
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2480 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
71 lines
1.3 KiB
C++
71 lines
1.3 KiB
C++
#ifndef SOUNDIN_H
|
|
#define SOUNDIN_H
|
|
|
|
#include <QtCore>
|
|
#include <QDebug>
|
|
#include <valarray>
|
|
|
|
#ifdef Q_OS_WIN32
|
|
#include <winsock.h>
|
|
#else
|
|
#include <sys/socket.h>
|
|
#endif //Q_OS_WIN32
|
|
|
|
// 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
|
|
double m_rate; // sample rate
|
|
unsigned bufSize; // user's buffer size
|
|
|
|
protected:
|
|
virtual void run();
|
|
|
|
public:
|
|
bool m_dataSinkBusy;
|
|
|
|
SoundInThread():
|
|
quitExecution(false),
|
|
m_dataSinkBusy(false),
|
|
m_rate(0),
|
|
bufSize(0)
|
|
{
|
|
}
|
|
|
|
void setInputDevice(qint32 n);
|
|
void setMonitoring(bool b);
|
|
int mhsym();
|
|
|
|
signals:
|
|
void bufferAvailable(std::valarray<qint16> samples, double rate);
|
|
void readyForFFT(int k);
|
|
void error(const QString& message);
|
|
void status(const QString& message);
|
|
|
|
public slots:
|
|
void quit();
|
|
|
|
private:
|
|
|
|
double m_fAdd;
|
|
bool m_net;
|
|
bool m_monitoring;
|
|
bool m_bForceCenterFreq;
|
|
bool m_IQswap;
|
|
bool m_10db;
|
|
double m_dForceCenterFreq;
|
|
qint32 m_nrx;
|
|
qint32 m_hsym;
|
|
qint32 m_nDevIn;
|
|
|
|
};
|
|
|
|
extern "C" {
|
|
void recvpkt_(int* nsam, quint16* iblk, qint8* nrx, int* k, double s1[],
|
|
double s2[], double s3[]);
|
|
}
|
|
|
|
#endif // SOUNDIN_H
|