Still more work required

half-duplex
Phil Taylor 2022-08-22 23:09:09 +01:00
rodzic 4574e2b7b2
commit d1ffbe84f5
27 zmienionych plików z 33986 dodań i 829 usunięć

4
.gitignore vendored
Wyświetl plik

@ -7,4 +7,6 @@ wfview-debug
wfserver-debug wfserver-debug
wfview-release wfview-release
wfserver-release wfserver-release
ui_* ui_*
portaudio_x86.dll
qcustomplot2.dll

Wyświetl plik

@ -6,33 +6,41 @@ audioConverter::audioConverter(QObject* parent) : QObject(parent)
{ {
} }
bool audioConverter::init(QAudioFormat inFormat, QAudioFormat outFormat, quint8 opusComplexity, quint8 resampleQuality) bool audioConverter::init(QAudioFormat inFormat, codecType inCodec, QAudioFormat outFormat, codecType outCodec, quint8 opusComplexity, quint8 resampleQuality)
{ {
this->inFormat = inFormat; this->inFormat = inFormat;
this->outFormat = outFormat; this->inCodec = inCodec;
this->opusComplexity = opusComplexity; this->outFormat = outFormat;
this->outCodec = outCodec;
this->opusComplexity = opusComplexity;
this->resampleQuality = resampleQuality; this->resampleQuality = resampleQuality;
qInfo(logAudioConverter) << "Starting audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inFormat.codec() << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() << #if QT_VERSION < 0x060000
"Output:" << outFormat.channelCount() << "Channels of" << outFormat.codec() << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize(); qInfo(logAudioConverter) << "Starting audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inCodec << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() <<
"Output:" << outFormat.channelCount() << "Channels of" << outCodec << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize();
if (inFormat.byteOrder() != outFormat.byteOrder()) { if (inFormat.byteOrder() != outFormat.byteOrder()) {
qInfo(logAudioConverter) << "Byteorder mismatch in:" << inFormat.byteOrder() << "out:" << outFormat.byteOrder(); qInfo(logAudioConverter) << "Byteorder mismatch in:" << inFormat.byteOrder() << "out:" << outFormat.byteOrder();
} }
#else
qInfo(logAudioConverter) << "Starting audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inCodec << inFormat.sampleRate() << inFormat.sampleFormat() <<
"Output:" << outFormat.channelCount() << "Channels of" << outCodec << outFormat.sampleRate() << outFormat.sampleFormat();
#endif
if (inFormat.codec() == "audio/opus") if (inCodec == OPUS)
{ {
// Create instance of opus decoder // Create instance of opus decoder
int opus_err = 0; int opus_err = 0;
opusDecoder = opus_decoder_create(inFormat.sampleRate(), inFormat.channelCount(), &opus_err); opusDecoder = opus_decoder_create(inFormat.sampleRate(), inFormat.channelCount(), &opus_err);
qInfo(logAudioConverter()) << "Creating opus decoder: " << opus_strerror(opus_err); qInfo(logAudioConverter()) << "Creating opus decoder: " << opus_strerror(opus_err);
} }
if (outFormat.codec() == "audio/opus") if (outCodec == OPUS)
{ {
// Create instance of opus encoder // Create instance of opus encoder
int opus_err = 0; int opus_err = 0;
opusEncoder = opus_encoder_create(outFormat.sampleRate(), outFormat.channelCount(), OPUS_APPLICATION_AUDIO, &opus_err); opusEncoder = opus_encoder_create(outFormat.sampleRate(), outFormat.channelCount(), OPUS_APPLICATION_AUDIO, &opus_err);
//opus_encoder_ctl(opusEncoder, OPUS_SET_LSB_DEPTH(16)); //opus_encoder_ctl(opusEncoder, OPUS_SET_LSB_DEPTH(16));
@ -60,8 +68,13 @@ bool audioConverter::init(QAudioFormat inFormat, QAudioFormat outFormat, quint8
audioConverter::~audioConverter() audioConverter::~audioConverter()
{ {
qInfo(logAudioConverter) << "Closing audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inFormat.codec() << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() << #if QT_VERSION < 0x060000
"Output:" << outFormat.channelCount() << "Channels of" << outFormat.codec() << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize(); qInfo(logAudioConverter) << "Closing audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inCodec << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() <<
"Output:" << outFormat.channelCount() << "Channels of" << outCodec << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize();
#else
qInfo(logAudioConverter) << "Closing audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inCodec << inFormat.sampleRate() << inFormat.sampleFormat() <<
"Output:" << outFormat.channelCount() << "Channels of" << outCodec << outFormat.sampleRate() << outFormat.sampleFormat();
#endif
if (opusEncoder != Q_NULLPTR) { if (opusEncoder != Q_NULLPTR) {
qInfo(logAudioConverter()) << "Destroying opus encoder"; qInfo(logAudioConverter()) << "Destroying opus encoder";
@ -87,7 +100,7 @@ bool audioConverter::convert(audioPacket audio)
if (audio.data.size() > 0) if (audio.data.size() > 0)
{ {
if (inFormat.codec() == "audio/opus") if (inCodec == OPUS)
{ {
unsigned char* in = (unsigned char*)audio.data.data(); unsigned char* in = (unsigned char*)audio.data.data();
@ -110,7 +123,7 @@ bool audioConverter::convert(audioPacket audio)
audio.data.clear(); audio.data.clear();
audio.data = outPacket; // Replace incoming data with converted. audio.data = outPacket; // Replace incoming data with converted.
} }
else if (inFormat.codec() == "audio/PCMU") else if (inCodec == PCMU)
{ {
// Current packet is "technically" 8bit so need to create a new buffer that is 16bit // Current packet is "technically" 8bit so need to create a new buffer that is 16bit
QByteArray outPacket((int)audio.data.length() * 2, (char)0xff); QByteArray outPacket((int)audio.data.length() * 2, (char)0xff);
@ -125,33 +138,49 @@ bool audioConverter::convert(audioPacket audio)
} }
Eigen::VectorXf samplesF; Eigen::VectorXf samplesF;
#if QT_VERSION < 0x060000
if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 32) if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 32)
#else
if (inFormat.sampleFormat() == QAudioFormat::Int32)
#endif
{ {
Eigen::Ref<VectorXint32> samplesI = Eigen::Map<VectorXint32>(reinterpret_cast<qint32*>(audio.data.data()), audio.data.size() / int(sizeof(qint32))); Eigen::Ref<VectorXint32> samplesI = Eigen::Map<VectorXint32>(reinterpret_cast<qint32*>(audio.data.data()), audio.data.size() / int(sizeof(qint32)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint32>::max()); samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint32>::max());
} }
#if QT_VERSION < 0x060000
else if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 16) else if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 16)
#else
else if (inFormat.sampleFormat() == QAudioFormat::Int16)
#endif
{ {
Eigen::Ref<VectorXint16> samplesI = Eigen::Map<VectorXint16>(reinterpret_cast<qint16*>(audio.data.data()), audio.data.size() / int(sizeof(qint16))); Eigen::Ref<VectorXint16> samplesI = Eigen::Map<VectorXint16>(reinterpret_cast<qint16*>(audio.data.data()), audio.data.size() / int(sizeof(qint16)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint16>::max()); samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint16>::max());
} }
else if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 8) #if QT_VERSION < 0x060000
{
Eigen::Ref<VectorXint8> samplesI = Eigen::Map<VectorXint8>(reinterpret_cast<qint8*>(audio.data.data()), audio.data.size() / int(sizeof(qint8)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint8>::max());;
}
else if (inFormat.sampleType() == QAudioFormat::UnSignedInt && inFormat.sampleSize() == 8) else if (inFormat.sampleType() == QAudioFormat::UnSignedInt && inFormat.sampleSize() == 8)
#else
else if (inFormat.sampleFormat() == QAudioFormat::UInt8)
#endif
{ {
Eigen::Ref<VectorXuint8> samplesI = Eigen::Map<VectorXuint8>(reinterpret_cast<quint8*>(audio.data.data()), audio.data.size() / int(sizeof(quint8))); Eigen::Ref<VectorXuint8> samplesI = Eigen::Map<VectorXuint8>(reinterpret_cast<quint8*>(audio.data.data()), audio.data.size() / int(sizeof(quint8)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<quint8>::max());; samplesF = samplesI.cast<float>() / float(std::numeric_limits<quint8>::max());;
} }
else if (inFormat.sampleType() == QAudioFormat::Float) { #if QT_VERSION < 0x060000
else if (inFormat.sampleType() == QAudioFormat::Float)
#else
else if (inFormat.sampleFormat() == QAudioFormat::Float)
#endif
{
samplesF = Eigen::Map<Eigen::VectorXf>(reinterpret_cast<float*>(audio.data.data()), audio.data.size() / int(sizeof(float))); samplesF = Eigen::Map<Eigen::VectorXf>(reinterpret_cast<float*>(audio.data.data()), audio.data.size() / int(sizeof(float)));
} }
else else
{ {
qInfo(logAudio()) << "Unsupported Input Sample Type:" << inFormat.sampleType() << "Size:" << inFormat.sampleSize(); #if QT_VERSION < 0x060000
qInfo(logAudio()) << "Unsupported Input Sample Type:" << inFormat.sampleType() << "Size:" << inFormat.sampleSize();
#else
qInfo(logAudio()) << "Unsupported Input Sample Format:" << inFormat.sampleFormat();
#endif
} }
if (samplesF.size() > 0) if (samplesF.size() > 0)
@ -211,7 +240,7 @@ bool audioConverter::convert(audioPacket audio)
If output is Opus so encode it now, don't do any more conversion on the output of Opus. If output is Opus so encode it now, don't do any more conversion on the output of Opus.
*/ */
if (outFormat.codec() == "audio/opus") if (outCodec == OPUS)
{ {
float* in = (float*)samplesF.data(); float* in = (float*)samplesF.data();
QByteArray outPacket(1275, (char)0xff); // Preset the output buffer size to MAXIMUM possible Opus frame size QByteArray outPacket(1275, (char)0xff); // Preset the output buffer size to MAXIMUM possible Opus frame size
@ -239,45 +268,58 @@ bool audioConverter::convert(audioPacket audio)
*/ */
audio.data.clear(); audio.data.clear();
#if QT_VERSION < 0x060000
if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize() == 8) if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize() == 8)
#else
if (outFormat.sampleFormat() == QAudioFormat::UInt8)
#endif
{ {
Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint8>::max()); Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint8>::max());
samplesITemp.array() += 127; samplesITemp.array() += 127;
VectorXuint8 samplesI = samplesITemp.cast<quint8>(); VectorXuint8 samplesI = samplesITemp.cast<quint8>();
audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(quint8))); audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(quint8)));
} }
else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 8) #if QT_VERSION < 0x060000
{
Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint8>::max());
VectorXint8 samplesI = samplesITemp.cast<qint8>();
audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(qint8)));
}
else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 16) else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 16)
#else
else if (outFormat.sampleFormat() == QAudioFormat::Int16)
#endif
{ {
Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint16>::max()); Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint16>::max());
VectorXint16 samplesI = samplesITemp.cast<qint16>(); VectorXint16 samplesI = samplesITemp.cast<qint16>();
audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(qint16))); audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(qint16)));
} }
#if QT_VERSION < 0x060000
else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 32) else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 32)
#else
else if (outFormat.sampleFormat() == QAudioFormat::Int32)
#endif
{ {
Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint32>::max()); Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint32>::max());
VectorXint32 samplesI = samplesITemp.cast<qint32>(); VectorXint32 samplesI = samplesITemp.cast<qint32>();
audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(qint32))); audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(qint32)));
} }
#if QT_VERSION < 0x060000
else if (outFormat.sampleType() == QAudioFormat::Float) else if (outFormat.sampleType() == QAudioFormat::Float)
#else
else if (outFormat.sampleFormat() == QAudioFormat::Float)
#endif
{ {
audio.data = QByteArray(reinterpret_cast<char*>(samplesF.data()), int(samplesF.size()) * int(sizeof(float))); audio.data = QByteArray(reinterpret_cast<char*>(samplesF.data()), int(samplesF.size()) * int(sizeof(float)));
} }
else { else {
#if QT_VERSION < 0x060000
qInfo(logAudio()) << "Unsupported Output Sample Type:" << outFormat.sampleType() << "Size:" << outFormat.sampleSize(); qInfo(logAudio()) << "Unsupported Output Sample Type:" << outFormat.sampleType() << "Size:" << outFormat.sampleSize();
#else
qInfo(logAudio()) << "Unsupported Output Sample Type:" << outFormat.sampleFormat();
#endif
} }
/* /*
As we currently don't have a float based uLaw encoder, this must be done As we currently don't have a float based uLaw encoder, this must be done
after all other conversion has taken place. after all other conversion has taken place.
*/ */
if (inCodec == PCMU)
if (outFormat.codec() == "audio/PCMU")
{ {
QByteArray outPacket((int)audio.data.length() / 2, (char)0xff); QByteArray outPacket((int)audio.data.length() / 2, (char)0xff);
qint16* in = (qint16*)audio.data.data(); qint16* in = (qint16*)audio.data.data();

Wyświetl plik

@ -6,7 +6,17 @@
#include <QMap> #include <QMap>
#include <QDebug> #include <QDebug>
#include <QAudioFormat> #include <QAudioFormat>
#if QT_VERSION < 0x060000
#include <QAudioDeviceInfo> #include <QAudioDeviceInfo>
#include <QAudioInput>
#include <QAudioOutput>
#else
#include <QMediaDevices>
#include <QAudioDevice>
#include <QAudioSource>
#include <QAudioSink>
#endif
/* Opus and Eigen */ /* Opus and Eigen */
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
@ -17,7 +27,8 @@
#include <eigen3/Eigen/Eigen> #include <eigen3/Eigen/Eigen>
#endif #endif
enum audioType {qtAudio,portAudio,rtAudio}; enum audioType { qtAudio, portAudio, rtAudio };
enum codecType { LPCM, PCMU, OPUS };
#include "resampler/speex_resampler.h" #include "resampler/speex_resampler.h"
@ -41,7 +52,11 @@ struct audioSetup {
bool ulaw = false; bool ulaw = false;
bool isinput; bool isinput;
quint32 sampleRate; quint32 sampleRate;
#if QT_VERSION < 0x060000
QAudioDeviceInfo port; QAudioDeviceInfo port;
#else
QAudioDevice port;
#endif
int portInt; int portInt;
quint8 resampleQuality; quint8 resampleQuality;
unsigned char localAFgain; unsigned char localAFgain;
@ -58,7 +73,7 @@ public:
~audioConverter(); ~audioConverter();
public slots: public slots:
bool init(QAudioFormat inFormat, QAudioFormat outFormat, quint8 opusComplexity, quint8 resampleQuality); bool init(QAudioFormat inFormat, codecType inCodec, QAudioFormat outFormat, codecType outCodec, quint8 opusComplexity, quint8 resampleQuality);
bool convert(audioPacket audio); bool convert(audioPacket audio);
signals: signals:
@ -74,6 +89,8 @@ protected:
quint8 resampleQuality = 4; quint8 resampleQuality = 4;
double resampleRatio=1.0; // Default resample ratio is 1:1 double resampleRatio=1.0; // Default resample ratio is 1:1
quint32 lastAudioSequence; quint32 lastAudioSequence;
codecType inCodec;
codecType outCodec;
}; };
@ -98,21 +115,31 @@ static inline QAudioFormat toQAudioFormat(quint8 codec, quint32 sampleRate)
0x40 Opus 1ch 0x40 Opus 1ch
0x80 Opus 2ch 0x80 Opus 2ch
*/ */
#if QT_VERSION < 0x060000
format.setByteOrder(QAudioFormat::LittleEndian); format.setByteOrder(QAudioFormat::LittleEndian);
format.setCodec("audio/pcm"); format.setCodec("audio/pcm");
#endif
format.setSampleRate(sampleRate); format.setSampleRate(sampleRate);
if (codec == 0x01 || codec == 0x20) { if (codec == 0x01 || codec == 0x20) {
/* Set sample to be what is expected by the encoder and the output of the decoder */ /* Set sample to be what is expected by the encoder and the output of the decoder */
format.setSampleSize(16); #if QT_VERSION < 0x060000
format.setSampleType(QAudioFormat::SignedInt); format.setSampleSize(16);
format.setCodec("audio/PCMU"); format.setSampleType(QAudioFormat::SignedInt);
} format.setCodec("audio/PCMU");
#else
format.setSampleFormat(QAudioFormat::Int16);
#endif
}
if (codec == 0x02 || codec == 0x08) { if (codec == 0x02 || codec == 0x08) {
#if QT_VERSION < 0x060000
format.setSampleSize(8); format.setSampleSize(8);
format.setSampleType(QAudioFormat::UnSignedInt); format.setSampleType(QAudioFormat::UnSignedInt);
#else
format.setSampleFormat(QAudioFormat::UInt8);
#endif
} }
if (codec == 0x08 || codec == 0x10 || codec == 0x20 || codec == 0x80) { if (codec == 0x08 || codec == 0x10 || codec == 0x20 || codec == 0x80) {
format.setChannelCount(2); format.setChannelCount(2);
@ -121,14 +148,22 @@ static inline QAudioFormat toQAudioFormat(quint8 codec, quint32 sampleRate)
} }
if (codec == 0x04 || codec == 0x10) { if (codec == 0x04 || codec == 0x10) {
format.setSampleSize(16); #if QT_VERSION < 0x060000
format.setSampleType(QAudioFormat::SignedInt); format.setSampleSize(16);
format.setSampleType(QAudioFormat::SignedInt);
#else
format.setSampleFormat(QAudioFormat::Int16);
#endif
} }
if (codec == 0x40 || codec == 0x80) { if (codec == 0x40 || codec == 0x80) {
format.setSampleSize(32); #if QT_VERSION < 0x060000
format.setSampleType(QAudioFormat::Float); format.setSampleSize(32);
format.setCodec("audio/opus"); format.setSampleType(QAudioFormat::Float);
format.setCodec("audio/opus");
#else
format.setSampleFormat(QAudioFormat::Float);
#endif
} }
return format; return format;

Wyświetl plik

@ -51,7 +51,11 @@ audioHandler::~audioHandler()
} }
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name << qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() << ", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec << ", codec" << setup.codec <<
", latency" << setup.latency << ", latency" << setup.latency <<
", localAFGain" << setup.localAFgain << ", localAFGain" << setup.localAFgain <<
@ -61,11 +65,22 @@ audioHandler::~audioHandler()
", uLaw" << setup.ulaw; ", uLaw" << setup.ulaw;
inFormat = toQAudioFormat(setup.codec, setup.sampleRate); inFormat = toQAudioFormat(setup.codec, setup.sampleRate);
codecType codec = LPCM;
if (setup.codec == 0x01 || setup.codec == 0x20)
codec = PCMU;
else if (setup.codec == 0x40 || setup.codec == 0x40)
codec = OPUS;
outFormat = setup.port.preferredFormat(); outFormat = setup.port.preferredFormat();
#if QT_VERSION < 0x060000
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Preferred Format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() << qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Preferred Format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType(); "Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType();
#else
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Preferred Format: SampleFormat" << outFormat.sampleFormat() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate();
#endif
if (outFormat.channelCount() > 2) { if (outFormat.channelCount() > 2) {
outFormat.setChannelCount(2); outFormat.setChannelCount(2);
} }
@ -92,20 +107,30 @@ audioHandler::~audioHandler()
} }
} }
if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize()==8) { #if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16);
if (!setup.port.isFormatSupported(outFormat)) { if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize() == 8) {
qCritical(logAudio()) << (setup.isinput ? "Input" : "Output") << "Cannot request 16bit Signed samples, reverting to 8bit Unsigned"; outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleType(QAudioFormat::UnSignedInt); outFormat.setSampleSize(16);
outFormat.setSampleSize(8);
}
}
if (!setup.port.isFormatSupported(outFormat)) {
qCritical(logAudio()) << (setup.isinput ? "Input" : "Output") << "Cannot request 16bit Signed samples, reverting to 8bit Unsigned";
outFormat.setSampleType(QAudioFormat::UnSignedInt);
outFormat.setSampleSize(8);
}
}
#else
if (outFormat.sampleFormat() == QAudioFormat::UInt8) {
outFormat.setSampleFormat(QAudioFormat::Int16);
/* if (!setup.port.isFormatSupported(outFormat)) {
qCritical(logAudio()) << (setup.isinput ? "Input" : "Output") << "Cannot request 16bit Signed samples, reverting to 8bit Unsigned";
outFormat.setSampleFormat(QAudioFormat::UInt8);
}
}
#endif
/*
if (outFormat.sampleType()==QAudioFormat::SignedInt) { if (outFormat.sampleType()==QAudioFormat::SignedInt) {
outFormat.setSampleType(QAudioFormat::Float); outFormat.setSampleType(QAudioFormat::Float);
outFormat.setSampleSize(32); outFormat.setSampleSize(32);
@ -118,6 +143,8 @@ audioHandler::~audioHandler()
} }
*/ */
#if QT_VERSION < 0x060000
if (outFormat.sampleSize() == 24) { if (outFormat.sampleSize() == 24) {
// We can't convert this easily so use 32 bit instead. // We can't convert this easily so use 32 bit instead.
outFormat.setSampleSize(32); outFormat.setSampleSize(32);
@ -126,9 +153,16 @@ audioHandler::~audioHandler()
outFormat.setSampleSize(16); outFormat.setSampleSize(16);
} }
} }
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() << qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType(); "Sample Rate" << outFormat.sampleRate() << "Codec" << codec << "Sample Type" << outFormat.sampleType();
#else
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleFormat" << outFormat.sampleFormat() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << codec;
#endif
// We "hopefully" now have a valid format that is supported so try connecting // We "hopefully" now have a valid format that is supported so try connecting
@ -142,7 +176,7 @@ audioHandler::~audioHandler()
} }
converter->moveToThread(converterThread); converter->moveToThread(converterThread);
connect(this, SIGNAL(setupConverter(QAudioFormat,QAudioFormat,quint8,quint8)), converter, SLOT(init(QAudioFormat,QAudioFormat,quint8,quint8))); connect(this, SIGNAL(setupConverter(QAudioFormat,codecType,QAudioFormat,codecType,quint8,quint8)), converter, SLOT(init(QAudioFormat,codecType,QAudioFormat,codecType,quint8,quint8)));
connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater())); connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater()));
connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket))); connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority); converterThread->start(QThread::TimeCriticalPriority);
@ -155,7 +189,7 @@ audioHandler::~audioHandler()
audioInput = new QAudioSource(setup.port, outFormat, this); audioInput = new QAudioSource(setup.port, outFormat, this);
#endif #endif
connect(audioInput, SIGNAL(stateChanged(QAudio::State)), SLOT(stateChanged(QAudio::State))); connect(audioInput, SIGNAL(stateChanged(QAudio::State)), SLOT(stateChanged(QAudio::State)));
emit setupConverter(outFormat, inFormat, 7, setup.resampleQuality); emit setupConverter(outFormat, codec, inFormat, codecType::LPCM, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket)));
} }
else { else {
@ -166,10 +200,8 @@ audioHandler::~audioHandler()
audioOutput = new QAudioSink(setup.port, outFormat, this); audioOutput = new QAudioSink(setup.port, outFormat, this);
#endif #endif
connect(audioOutput, SIGNAL(stateChanged(QAudio::State)), SLOT(stateChanged(QAudio::State))); connect(audioOutput, SIGNAL(stateChanged(QAudio::State)), SLOT(stateChanged(QAudio::State)));
emit setupConverter(inFormat, outFormat, 7, setup.resampleQuality); emit setupConverter(inFormat, codec, outFormat, codecType::LPCM, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket)));
} }

Wyświetl plik

@ -81,7 +81,7 @@ signals:
void sendLatency(quint16 newSize); void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data); void haveAudioData(const audioPacket& data);
void haveLevels(quint16 amplitude,quint16 latency,quint16 current,bool under,bool over); void haveLevels(quint16 amplitude,quint16 latency,quint16 current,bool under,bool over);
void setupConverter(QAudioFormat in, QAudioFormat out, quint8 opus, quint8 resamp); void setupConverter(QAudioFormat in, codecType codecIn, QAudioFormat out, codecType codecOut, quint8 opus, quint8 resamp);
void sendToConverter(audioPacket audio); void sendToConverter(audioPacket audio);
@ -97,19 +97,20 @@ private:
bool isReady = false; bool isReady = false;
bool audioBuffered = false; bool audioBuffered = false;
QAudioOutput* audioOutput=Q_NULLPTR;
QAudioInput* audioInput=Q_NULLPTR;
QIODevice* audioDevice=Q_NULLPTR; QIODevice* audioDevice=Q_NULLPTR;
QAudioFormat inFormat; QAudioFormat inFormat;
QAudioFormat outFormat; QAudioFormat outFormat;
#if QT_VERSION < 0x060000 #if QT_VERSION < 0x060000
QAudioOutput* audioOutput = Q_NULLPTR;
QAudioInput* audioInput = Q_NULLPTR;
QAudioDeviceInfo deviceInfo; QAudioDeviceInfo deviceInfo;
#else #else
QAudioSink* audioOutput = Q_NULLPTR;
QAudioSource* audioInput = Q_NULLPTR;
QAudioDevice deviceInfo; QAudioDevice deviceInfo;
#endif #endif
audioConverter* converter=Q_NULLPTR; audioConverter* converter=Q_NULLPTR;
QThread* converterThread = Q_NULLPTR; QThread* converterThread = Q_NULLPTR;
QTime lastReceived; QTime lastReceived;

701
build/Makefile 100644
Wyświetl plik

@ -0,0 +1,701 @@
#############################################################################
# Makefile for building: wfview
# Generated by qmake (3.1) (Qt 6.3.0)
# Project: ..\wfview.pro
# Template: app
# Command: C:\Qt\6.3.0\msvc2019_64\bin\qmake.exe -o Makefile ..\wfview.pro
#############################################################################
MAKEFILE = Makefile
EQ = =
first: release
install: release-install
uninstall: release-uninstall
QMAKE = C:\Qt\6.3.0\msvc2019_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = C:\Qt\6.3.0\msvc2019_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = C:\Qt\6.3.0\msvc2019_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
IDC = idc
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE = wfview_resource.res
SED = $(QMAKE) -install sed
MOVE = move
SUBTARGETS = \
release \
debug
release: $(MAKEFILE) FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release
release-make_first: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release
release-all: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release all
release-clean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE) FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug
debug-all: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: FORCE
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug uninstall
Makefile: ..\wfview.pro C:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc\qmake.conf C:\Qt\6.3.0\msvc2019_64\mkspecs\features\spec_pre.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\windows-desktop.conf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\windows_vulkan_sdk.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\windows-vulkan.conf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\msvc-desktop.conf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\qconfig.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_freetype.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_libjpeg.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_libpng.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3danimation.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3danimation_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dcore.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dcore_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dextras.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dextras_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dinput.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dinput_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dlogic.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dlogic_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickanimation.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickextras.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickextras_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickinput.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickinput_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickrender.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickrender_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickscene2d.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3drender.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3drender_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_activeqt.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_activeqt_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axbase_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axcontainer.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axcontainer_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axserver.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axserver_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bluetooth.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bluetooth_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bodymovin_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_charts.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_charts_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_chartsqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_chartsqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_concurrent.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_concurrent_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core5compat.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core5compat_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualization.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualization_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualizationqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_dbus.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_dbus_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designer.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designer_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designercomponents_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_entrypoint_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_fb_support_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_freetype_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_gui.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_gui_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_harfbuzz_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_help.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_help_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_jpeg_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_jsonrpc_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsanimation.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsanimation_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsqmlmodels.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssettings.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssettings_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssharedimage.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssharedimage_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_languageserver_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_linguist.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_linguist_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimedia.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimedia_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediaquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediawidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_network.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_network_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_networkauth.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_networkauth_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_nfc.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_nfc_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_opengl.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_opengl_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_openglwidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_openglwidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_packetprotocol_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdf.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdf_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfquick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfwidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfwidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_png_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioning.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioning_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioningquick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioningquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_printsupport.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_printsupport_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcore.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcore_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmldebug_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmldom_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlintegration.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlintegration_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllint_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllocalstorage.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlmodels.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlmodels_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmltest.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmltest_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlworkerscript.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3d.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3d_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetimport.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetutils.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3deffects.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3deffects_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dhelpers.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3diblbaker.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticles.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3druntimerender.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dutils.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dutils_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicklayouts.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicklayouts_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickparticles_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickshapes_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktemplates2.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktimeline.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktimeline_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickwidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickwidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjects.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjects_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_repparser.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_repparser_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxmlqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxmlqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensors.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensors_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensorsquick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensorsquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialbus.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialbus_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialport.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialport_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_shadertools.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_shadertools_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sql.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sql_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachine.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachine_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachineqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachineqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svg.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svg_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svgwidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svgwidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_testlib.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_testlib_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_tools_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uiplugin.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uitools.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uitools_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_virtualkeyboard.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webchannel.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webchannel_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginecore.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginecore_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequickdelegatesqml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequickdelegatesqml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginewidgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginewidgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_websockets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_websockets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webview.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webview_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webviewquick.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webviewquick_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_widgets.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_widgets_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_xml.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_xml_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_zlib_private.pri \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt_functions.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt_config.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc\qmake.conf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\spec_post.prf \
..\.qmake.stash \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exclusive_builds.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\msvc-version.conf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\toolchain.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\default_pre.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\default_pre.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resolve_config.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exclusive_builds_post.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\default_post.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\entrypoint.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\precompile_header.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\warn_on.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resources_functions.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resources.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\moc.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\opengl.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\uic.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qmake_use.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\file_copies.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\windows.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\testcase_targets.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exceptions.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\yacc.prf \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\lex.prf \
..\wfview.pro \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Multimedia.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6PrintSupport.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Widgets.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Gui.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6SerialPort.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Network.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Core.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6EntryPoint.prl \
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\build_pass.prf \
..\qdarkstyle\style.qrc \
..\resources\resources.qrc \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Multimediad.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6PrintSupportd.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Widgetsd.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Guid.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6SerialPortd.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Networkd.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Cored.prl \
C:\Qt\6.3.0\msvc2019_64\lib\Qt6EntryPointd.prl
$(QMAKE) -o Makefile ..\wfview.pro
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\spec_pre.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\windows-desktop.conf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\windows_vulkan_sdk.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\windows-vulkan.conf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\msvc-desktop.conf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\qconfig.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_freetype.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_libjpeg.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_ext_libpng.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3danimation.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3danimation_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dcore.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dcore_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dextras.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dextras_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dinput.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dinput_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dlogic.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dlogic_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickanimation.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickanimation_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickextras.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickextras_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickinput.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickinput_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickrender.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickrender_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickscene2d.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3dquickscene2d_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3drender.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_3drender_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_activeqt.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_activeqt_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axbase_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axcontainer.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axcontainer_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axserver.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_axserver_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bluetooth.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bluetooth_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_bodymovin_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_charts.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_charts_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_chartsqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_chartsqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_concurrent.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_concurrent_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core5compat.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core5compat_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_core_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualization.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualization_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualizationqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_datavisualizationqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_dbus.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_dbus_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designer.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designer_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_designercomponents_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_devicediscovery_support_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_entrypoint_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_fb_support_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_freetype_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_gui.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_gui_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_harfbuzz_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_help.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_help_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_jpeg_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_jsonrpc_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsanimation.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsanimation_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsfolderlistmodel.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsfolderlistmodel_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsqmlmodels.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labsqmlmodels_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssettings.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssettings_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssharedimage.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labssharedimage_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labswavefrontmesh.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_labswavefrontmesh_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_languageserver_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_linguist.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_linguist_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimedia.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimedia_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediaquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediawidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_multimediawidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_network.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_network_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_networkauth.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_networkauth_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_nfc.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_nfc_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_opengl.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_opengl_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_openglwidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_openglwidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_packetprotocol_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdf.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdf_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfquick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfwidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_pdfwidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_png_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioning.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioning_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioningquick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_positioningquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_printsupport.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_printsupport_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcompiler_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcore.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlcore_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmldebug_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmldom_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlintegration.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlintegration_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllint_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllocalstorage.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmllocalstorage_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlmodels.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlmodels_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmltest.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmltest_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlworkerscript.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlworkerscript_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlxmllistmodel.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_qmlxmllistmodel_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3d.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3d_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetimport.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetimport_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetutils.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dassetutils_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3deffects.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3deffects_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dglslparser_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dhelpers.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dhelpers_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3diblbaker.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3diblbaker_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticleeffects.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticleeffects_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticles.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dparticles_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3druntimerender.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3druntimerender_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dutils.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick3dutils_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2impl.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrols2impl_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickcontrolstestutilsprivate_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2quickimpl_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2utils.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickdialogs2utils_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicklayouts.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicklayouts_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickparticles_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickshapes_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktemplates2.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktemplates2_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktestutilsprivate_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktimeline.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quicktimeline_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickwidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_quickwidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjects.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjects_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjectsqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_remoteobjectsqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_repparser.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_repparser_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxmlqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_scxmlqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensors.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensors_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensorsquick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sensorsquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialbus.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialbus_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialport.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_serialport_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_shadertools.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_shadertools_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sql.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_sql_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachine.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachine_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachineqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_statemachineqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svg.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svg_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svgwidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_svgwidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_testlib.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_testlib_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_tools_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uiplugin.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uitools.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_uitools_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_virtualkeyboard.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_virtualkeyboard_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webchannel.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webchannel_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginecore.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginecore_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequickdelegatesqml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginequickdelegatesqml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginewidgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webenginewidgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_websockets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_websockets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webview.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webview_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webviewquick.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_webviewquick_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_widgets.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_widgets_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_xml.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_xml_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\modules\qt_lib_zlib_private.pri:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt_functions.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt_config.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc\qmake.conf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\spec_post.prf:
..\.qmake.stash:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exclusive_builds.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\common\msvc-version.conf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\toolchain.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\default_pre.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\default_pre.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resolve_config.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exclusive_builds_post.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\default_post.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\entrypoint.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\precompile_header.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\warn_on.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qt.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resources_functions.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\resources.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\moc.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\opengl.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\uic.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\qmake_use.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\file_copies.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\win32\windows.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\testcase_targets.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\exceptions.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\yacc.prf:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\lex.prf:
..\wfview.pro:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Multimedia.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6PrintSupport.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Widgets.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Gui.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6SerialPort.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Network.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Core.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6EntryPoint.prl:
C:\Qt\6.3.0\msvc2019_64\mkspecs\features\build_pass.prf:
..\qdarkstyle\style.qrc:
..\resources\resources.qrc:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Multimediad.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6PrintSupportd.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Widgetsd.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Guid.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6SerialPortd.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Networkd.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6Cored.prl:
C:\Qt\6.3.0\msvc2019_64\lib\Qt6EntryPointd.prl:
qmake: FORCE
@$(QMAKE) -o Makefile ..\wfview.pro
qmake_all: FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile
release-mocclean:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean
release-mocables:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables:
@set MAKEFLAGS=$(MAKEFLAGS)
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
check: first
benchmark: first
FORCE:
$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

16186
build/Makefile.Debug 100644

File diff suppressed because one or more lines are too long

16184
build/Makefile.Release 100644

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -0,0 +1,40 @@
#include <windows.h>
IDI_ICON1 ICON "C:\\Users\\Phil\\source\\repos\\wfview\\resources\\wfview.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "\0"
VALUE "FileVersion", "0.0.0.0\0"
VALUE "LegalCopyright", "\0"
VALUE "OriginalFilename", "wfview.exe\0"
VALUE "ProductName", "wfview\0"
VALUE "ProductVersion", "0.0.0.0\0"
VALUE "InternalName", "\0"
VALUE "Comments", "\0"
VALUE "LegalTrademarks", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1200
END
END
/* End of Version info */

Wyświetl plik

@ -20,8 +20,8 @@ Q_DECLARE_LOGGING_CATEGORY(logAudioConverter)
#endif #endif
#if QT_VERSION > 0x060000 #if QT_VERSION > 0x060000
#define hex Qt::hex //#define hex Qt::hex
#define bin Qt::bin //#define bin Qt::bin
#endif #endif
#endif // LOGCATEGORIES_H #endif // LOGCATEGORIES_H

Wyświetl plik

@ -45,7 +45,11 @@ bool paHandler::init(audioSetup setup)
inFormat = toQAudioFormat(setup.codec, setup.sampleRate); inFormat = toQAudioFormat(setup.codec, setup.sampleRate);
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name << qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() << ", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec << ", codec" << setup.codec <<
", latency" << setup.latency << ", latency" << setup.latency <<
", localAFGain" << setup.localAFgain << ", localAFGain" << setup.localAFgain <<
@ -65,6 +69,12 @@ bool paHandler::init(audioSetup setup)
// qDebug(logAudio()) << "Portaudio initialized"; // qDebug(logAudio()) << "Portaudio initialized";
//} //}
codecType codec = LPCM;
if (setup.codec == 0x01 || setup.codec == 0x20)
codec = PCMU;
else if (setup.codec == 0x40 || setup.codec == 0x40)
codec = OPUS;
memset(&aParams, 0, sizeof(PaStreamParameters)); memset(&aParams, 0, sizeof(PaStreamParameters));
aParams.device = setup.portInt; aParams.device = setup.portInt;
@ -83,11 +93,15 @@ bool paHandler::init(audioSetup setup)
aParams.suggestedLatency = (float)setup.latency / 1000.0f; aParams.suggestedLatency = (float)setup.latency / 1000.0f;
outFormat.setSampleRate(info->defaultSampleRate); outFormat.setSampleRate(info->defaultSampleRate);
aParams.sampleFormat = paFloat32; aParams.sampleFormat = paFloat32;
#if QT_VERSION < 0x060000
outFormat.setSampleSize(32); outFormat.setSampleSize(32);
outFormat.setSampleType(QAudioFormat::Float); outFormat.setSampleType(QAudioFormat::Float);
outFormat.setByteOrder(QAudioFormat::LittleEndian); outFormat.setByteOrder(QAudioFormat::LittleEndian);
outFormat.setCodec("audio/pcm"); outFormat.setCodec("audio/pcm");
#else
outFormat.setSampleFormat(QAudioFormat::Float);
#endif
if (outFormat.channelCount() > 2) { if (outFormat.channelCount() > 2) {
outFormat.setChannelCount(2); outFormat.setChannelCount(2);
@ -109,8 +123,14 @@ bool paHandler::init(audioSetup setup)
} }
#if QT_VERSION < 0x060000
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() << qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType(); "Sample Rate" << outFormat.sampleRate() << "Codec" << codec << "Sample Type" << outFormat.sampleType();
#else
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleFormat" << outFormat.sampleFormat() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << codec;
#endif
// We "hopefully" now have a valid format that is supported so try connecting // We "hopefully" now have a valid format that is supported so try connecting
@ -124,7 +144,7 @@ bool paHandler::init(audioSetup setup)
} }
converter->moveToThread(converterThread); converter->moveToThread(converterThread);
connect(this, SIGNAL(setupConverter(QAudioFormat, QAudioFormat, quint8, quint8)), converter, SLOT(init(QAudioFormat, QAudioFormat, quint8, quint8))); connect(this, SIGNAL(setupConverter(QAudioFormat, codecType, QAudioFormat, codecType, quint8, quint8)), converter, SLOT(init(QAudioFormat, codecType, QAudioFormat, codecType, quint8, quint8)));
connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater())); connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater()));
connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket))); connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority); converterThread->start(QThread::TimeCriticalPriority);
@ -166,8 +186,12 @@ bool paHandler::init(audioSetup setup)
else if (err == paSampleFormatNotSupported) else if (err == paSampleFormatNotSupported)
{ {
aParams.sampleFormat = paInt16; aParams.sampleFormat = paInt16;
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt); outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16); outFormat.setSampleSize(16);
#else
outFormat.setSampleFormat(QAudioFormat::Int16);
#endif
} }
if (setup.isinput) { if (setup.isinput) {
@ -186,12 +210,12 @@ bool paHandler::init(audioSetup setup)
if (setup.isinput) { if (setup.isinput) {
err = Pa_OpenStream(&audio, &aParams, 0, outFormat.sampleRate(), this->chunkSize, paNoFlag, &paHandler::staticWrite, (void*)this); err = Pa_OpenStream(&audio, &aParams, 0, outFormat.sampleRate(), this->chunkSize, paNoFlag, &paHandler::staticWrite, (void*)this);
emit setupConverter(outFormat, inFormat, 7, setup.resampleQuality); emit setupConverter(outFormat, codec, inFormat, codecType::LPCM, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket)));
} }
else { else {
err = Pa_OpenStream(&audio, 0, &aParams, outFormat.sampleRate(), this->chunkSize, paNoFlag, NULL, NULL); err = Pa_OpenStream(&audio, 0, &aParams, outFormat.sampleRate(), this->chunkSize, paNoFlag, NULL, NULL);
emit setupConverter(inFormat, outFormat, 7, setup.resampleQuality); emit setupConverter(inFormat, codec, outFormat, codecType::LPCM, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket)));
} }

Wyświetl plik

@ -56,7 +56,7 @@ signals:
void sendLatency(quint16 newSize); void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data); void haveAudioData(const audioPacket& data);
void haveLevels(quint16 amplitude, quint16 latency, quint16 current, bool under, bool over); void haveLevels(quint16 amplitude, quint16 latency, quint16 current, bool under, bool over);
void setupConverter(QAudioFormat in, QAudioFormat out, quint8 opus, quint8 resamp); void setupConverter(QAudioFormat in, codecType codecIn, QAudioFormat out, codecType codecOut, quint8 opus, quint8 resamp);
void sendToConverter(audioPacket audio); void sendToConverter(audioPacket audio);
private: private:

Wyświetl plik

@ -58,7 +58,11 @@ bool rtHandler::init(audioSetup setup)
inFormat = toQAudioFormat(setup.codec, setup.sampleRate); inFormat = toQAudioFormat(setup.codec, setup.sampleRate);
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name << qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() << ", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec << ", codec" << setup.codec <<
", latency" << setup.latency << ", latency" << setup.latency <<
", localAFGain" << setup.localAFgain << ", localAFGain" << setup.localAFgain <<
@ -80,6 +84,12 @@ bool rtHandler::init(audioSetup setup)
audio = new RtAudio(RtAudio::Api::MACOSX_CORE); audio = new RtAudio(RtAudio::Api::MACOSX_CORE);
#endif #endif
codecType codec = LPCM;
if (setup.codec == 0x01 || setup.codec == 0x20)
codec = PCMU;
else if (setup.codec == 0x40 || setup.codec == 0x40)
codec = OPUS;
options.numberOfBuffers = int(setup.latency/setup.blockSize); options.numberOfBuffers = int(setup.latency/setup.blockSize);
if (setup.portInt > 0) { if (setup.portInt > 0) {
@ -109,8 +119,11 @@ bool rtHandler::init(audioSetup setup)
qInfo(logAudio()) << (setup.isinput ? "Input" : "Output") << QString::fromStdString(info.name) << "(" << aParams.deviceId << ") successfully probed"; qInfo(logAudio()) << (setup.isinput ? "Input" : "Output") << QString::fromStdString(info.name) << "(" << aParams.deviceId << ") successfully probed";
RtAudioFormat sampleFormat; RtAudioFormat sampleFormat;
#if QT_VERSION < 0x060000
outFormat.setByteOrder(QAudioFormat::LittleEndian); outFormat.setByteOrder(QAudioFormat::LittleEndian);
outFormat.setCodec("audio/pcm"); outFormat.setCodec("audio/pcm");
#endif
if (info.nativeFormats == 0) if (info.nativeFormats == 0)
{ {
@ -155,18 +168,30 @@ bool rtHandler::init(audioSetup setup)
} }
if (info.nativeFormats & RTAUDIO_FLOAT32) { if (info.nativeFormats & RTAUDIO_FLOAT32) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::Float); outFormat.setSampleType(QAudioFormat::Float);
outFormat.setSampleSize(32); outFormat.setSampleSize(32);
#else
outFormat.setSampleFormat(QAudioFormat::Float);
#endif
sampleFormat = RTAUDIO_FLOAT32; sampleFormat = RTAUDIO_FLOAT32;
} }
else if (info.nativeFormats & RTAUDIO_SINT32) { else if (info.nativeFormats & RTAUDIO_SINT32) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt); outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(32); outFormat.setSampleSize(32);
#else
outFormat.setSampleFormat(QAudioFormat::Int32);
#endif
sampleFormat = RTAUDIO_SINT32; sampleFormat = RTAUDIO_SINT32;
} }
else if (info.nativeFormats & RTAUDIO_SINT16) { else if (info.nativeFormats & RTAUDIO_SINT16) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt); outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16); outFormat.setSampleSize(16);
#else
outFormat.setSampleFormat(QAudioFormat::Int16);
#endif
sampleFormat = RTAUDIO_SINT16; sampleFormat = RTAUDIO_SINT16;
} }
else { else {
@ -175,9 +200,13 @@ bool rtHandler::init(audioSetup setup)
} }
} }
#if QT_VERSION < 0x060000
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() << qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleSize" << outFormat.sampleSize() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType(); "Sample Rate" << outFormat.sampleRate() << "Codec" << outFormat.codec() << "Sample Type" << outFormat.sampleType();
#else
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Selected format: SampleFormat" << outFormat.sampleFormat() << "Channel Count" << outFormat.channelCount() <<
"Sample Rate" << outFormat.sampleRate() << "Codec" << codec;
#endif
// We "hopefully" now have a valid format that is supported so try connecting // We "hopefully" now have a valid format that is supported so try connecting
converter = new audioConverter(); converter = new audioConverter();
@ -190,26 +219,30 @@ bool rtHandler::init(audioSetup setup)
} }
converter->moveToThread(converterThread); converter->moveToThread(converterThread);
connect(this, SIGNAL(setupConverter(QAudioFormat, QAudioFormat, quint8, quint8)), converter, SLOT(init(QAudioFormat, QAudioFormat, quint8, quint8))); connect(this, SIGNAL(setupConverter(QAudioFormat, codecType, QAudioFormat, codecType, quint8, quint8)), converter, SLOT(init(QAudioFormat, codecType, QAudioFormat, codecType, quint8, quint8)));
connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater())); connect(converterThread, SIGNAL(finished()), converter, SLOT(deleteLater()));
connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket))); connect(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority); converterThread->start(QThread::TimeCriticalPriority);
// Per channel chunk size. // Per channel chunk size.
this->chunkSize = (outFormat.bytesForDuration(setup.blockSize * 1000) / (outFormat.sampleSize()/8) / outFormat.channelCount()); #if QT_VERSION < 0x060000
this->chunkSize = (outFormat.bytesForDuration(setup.blockSize * 1000) / (outFormat.sampleSize() / 8) / outFormat.channelCount());
#else
this->chunkSize = (outFormat.bytesForDuration(setup.blockSize * 1000) / sizeof(outFormat.sampleFormat()) / outFormat.channelCount());
#endif
#ifdef RT_EXCEPTION #ifdef RT_EXCEPTION
try { try {
#endif #endif
if (setup.isinput) { if (setup.isinput) {
audio->openStream(NULL, &aParams, sampleFormat, outFormat.sampleRate(), &this->chunkSize, &staticWrite, this, &options); audio->openStream(NULL, &aParams, sampleFormat, outFormat.sampleRate(), &this->chunkSize, &staticWrite, this, &options);
emit setupConverter(outFormat, inFormat, 7, setup.resampleQuality); emit setupConverter(outFormat, codec, inFormat, codecType::LPCM, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedInput(audioPacket)));
} }
else { else {
audio->openStream(&aParams, NULL, sampleFormat, outFormat.sampleRate(), &this->chunkSize, &staticRead, this , &options); audio->openStream(&aParams, NULL, sampleFormat, outFormat.sampleRate(), &this->chunkSize, &staticRead, this , &options);
emit setupConverter(inFormat, outFormat, 7, setup.resampleQuality); emit setupConverter(inFormat, codecType::LPCM, outFormat, codec, 7, setup.resampleQuality);
connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket))); connect(converter, SIGNAL(converted(audioPacket)), this, SLOT(convertedOutput(audioPacket)));
} }
audio->startStream(); audio->startStream();
@ -271,8 +304,11 @@ int rtHandler::readData(void* outputBuffer, void* inputBuffer,
{ {
Q_UNUSED(inputBuffer); Q_UNUSED(inputBuffer);
Q_UNUSED(streamTime); Q_UNUSED(streamTime);
int nBytes = nFrames * outFormat.channelCount() * (outFormat.sampleSize()/8); #if QT_VERSION < 0x060000
int nBytes = nFrames * outFormat.channelCount() * (outFormat.sampleSize() / 8));
#else
int nBytes = nFrames * outFormat.channelCount() * sizeof(outFormat.sampleFormat());
#endif
//lastSentSeq = packet.seq; //lastSentSeq = packet.seq;
if (arrayBuffer.length() >= nBytes) { if (arrayBuffer.length() >= nBytes) {
if (audioMutex.tryLock(0)) { if (audioMutex.tryLock(0)) {
@ -308,7 +344,11 @@ int rtHandler::writeData(void* outputBuffer, void* inputBuffer,
packet.sent = 0; packet.sent = 0;
packet.volume = volume; packet.volume = volume;
memcpy(&packet.guid, setup.guid, GUIDLEN); memcpy(&packet.guid, setup.guid, GUIDLEN);
packet.data.append((char*)inputBuffer, nFrames *outFormat.channelCount() * (outFormat.sampleSize()/8)); #if QT_VERSION < 0x060000
packet.data.append((char*)inputBuffer, nFrames * outFormat.channelCount() * (outFormat.sampleSize() / 8));
#else
packet.data.append((char*)inputBuffer, nFrames * outFormat.channelCount() * sizeof(outFormat.sampleFormat()));
#endif
emit sendToConverter(packet); emit sendToConverter(packet);
if (status == RTAUDIO_INPUT_OVERFLOW) { if (status == RTAUDIO_INPUT_OVERFLOW) {
isUnderrun = true; isUnderrun = true;
@ -332,7 +372,11 @@ void rtHandler::convertedOutput(audioPacket packet)
arrayBuffer.append(packet.data); arrayBuffer.append(packet.data);
audioMutex.unlock(); audioMutex.unlock();
amplitude = packet.amplitude; amplitude = packet.amplitude;
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * (outFormat.sampleSize() / 8) * outFormat.channelCount())/1000); #if QT_VERSION < 0x060000
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * (outFormat.sampleSize() / 8) * outFormat.channelCount()) / 1000);
#else
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * sizeof(outFormat.sampleFormat()) * outFormat.channelCount()) / 1000);
#endif
emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun, isOverrun); emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun, isOverrun);
} }
@ -343,7 +387,11 @@ void rtHandler::convertedInput(audioPacket packet)
if (packet.data.size() > 0) { if (packet.data.size() > 0) {
emit haveAudioData(packet); emit haveAudioData(packet);
amplitude = packet.amplitude; amplitude = packet.amplitude;
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * (outFormat.sampleSize() / 8) * outFormat.channelCount())/1000); #if QT_VERSION < 0x060000
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * (outFormat.sampleSize() / 8) * outFormat.channelCount()) / 1000);
#else
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (outFormat.durationForBytes(audio->getStreamLatency() * sizeof(outFormat.sampleFormat()) * outFormat.channelCount()) / 1000);
#endif
emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun, isOverrun); emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun, isOverrun);
} }
} }

Wyświetl plik

@ -62,7 +62,7 @@ signals:
void sendLatency(quint16 newSize); void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data); void haveAudioData(const audioPacket& data);
void haveLevels(quint16 amplitude, quint16 latency, quint16 current, bool under, bool over); void haveLevels(quint16 amplitude, quint16 latency, quint16 current, bool under, bool over);
void setupConverter(QAudioFormat in, QAudioFormat out, quint8 opus, quint8 resamp); void setupConverter(QAudioFormat in, codecType codecIn, QAudioFormat out, codecType codecOut, quint8 opus, quint8 resamp);
void sendToConverter(audioPacket audio); void sendToConverter(audioPacket audio);
private: private:

Wyświetl plik

@ -60,7 +60,11 @@ void selectRadio::setInUse(quint8 radio, quint8 busy, QString user, QString ip)
void selectRadio::on_table_cellClicked(int row, int col) { void selectRadio::on_table_cellClicked(int row, int col) {
qInfo() << "Clicked on " << row << "," << col; qInfo() << "Clicked on " << row << "," << col;
#if QT_VERSION < 0x060000
if (ui->table->item(row, col)->backgroundColor() != Qt::darkGreen) { if (ui->table->item(row, col)->backgroundColor() != Qt::darkGreen) {
#else
if (ui->table->item(row, col)->background() != Qt::darkGreen) {
#endif
ui->table->selectRow(row); ui->table->selectRow(row);
emit selectedRadio(row); emit selectedRadio(row);
this->setVisible(false); this->setVisible(false);

Wyświetl plik

@ -64,6 +64,11 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, const QString s
setupPlots(); setupPlots();
loadSettings(); // Look for saved preferences loadSettings(); // Look for saved preferences
#if QT_VERSION >= 0x060000
connect(&mediaDevices, &QMediaDevices::audioInputsChanged, this, &wfmain::setAudioDevicesUI);
connect(&mediaDevices, &QMediaDevices::audioOutputsChanged, this, &wfmain::setAudioDevicesUI);
#endif
setAudioDevicesUI(); setAudioDevicesUI();
setTuningSteps(); // TODO: Combine into preferences setTuningSteps(); // TODO: Combine into preferences
@ -1268,7 +1273,11 @@ void wfmain::setupKeyShortcuts()
connect(keyM, SIGNAL(activated()), this, SLOT(shortcutM())); connect(keyM, SIGNAL(activated()), this, SLOT(shortcutM()));
keyDebug = new QShortcut(this); keyDebug = new QShortcut(this);
#if QT_VERSION < 0x060000
keyDebug->setKey(Qt::CTRL + Qt::SHIFT + Qt::Key_D); keyDebug->setKey(Qt::CTRL + Qt::SHIFT + Qt::Key_D);
#else
keyDebug->setKey(Qt::CTRL + Qt::Key_D);
#endif
connect(keyDebug, SIGNAL(activated()), this, SLOT(on_debugBtn_clicked())); connect(keyDebug, SIGNAL(activated()), this, SLOT(on_debugBtn_clicked()));
} }
@ -1617,7 +1626,7 @@ void wfmain::loadSettings()
rigTemp->baudRate = prefs.serialPortBaud; rigTemp->baudRate = prefs.serialPortBaud;
rigTemp->civAddr = prefs.radioCIVAddr; rigTemp->civAddr = prefs.radioCIVAddr;
rigTemp->serialPort = prefs.serialPortBaud; rigTemp->serialPort = prefs.serialPortRadio;
QString guid = settings->value("GUID", "").toString(); QString guid = settings->value("GUID", "").toString();
if (guid.isEmpty()) { if (guid.isEmpty()) {
@ -1775,7 +1784,11 @@ void wfmain::on_serverRXAudioInputCombo_currentIndexChanged(int value)
{ {
if (prefs.audioSystem == qtAudio) { if (prefs.audioSystem == qtAudio) {
QVariant v = ui->serverRXAudioInputCombo->itemData(value); QVariant v = ui->serverRXAudioInputCombo->itemData(value);
#if QT_VERSION >= 0x060000
serverConfig.rigs.first()->rxAudioSetup.port = v.value<QAudioDevice>();
#else
serverConfig.rigs.first()->rxAudioSetup.port = v.value<QAudioDeviceInfo>(); serverConfig.rigs.first()->rxAudioSetup.port = v.value<QAudioDeviceInfo>();
#endif
} }
else { else {
serverConfig.rigs.first()->rxAudioSetup.portInt = ui->serverRXAudioInputCombo->itemData(value).toInt(); serverConfig.rigs.first()->rxAudioSetup.portInt = ui->serverRXAudioInputCombo->itemData(value).toInt();
@ -1794,7 +1807,11 @@ void wfmain::on_serverTXAudioOutputCombo_currentIndexChanged(int value)
{ {
if (prefs.audioSystem == qtAudio) { if (prefs.audioSystem == qtAudio) {
QVariant v = ui->serverTXAudioOutputCombo->itemData(value); QVariant v = ui->serverTXAudioOutputCombo->itemData(value);
#if QT_VERSION >= 0x060000
serverConfig.rigs.first()->txAudioSetup.port = v.value<QAudioDevice>();
#else
serverConfig.rigs.first()->txAudioSetup.port = v.value<QAudioDeviceInfo>(); serverConfig.rigs.first()->txAudioSetup.port = v.value<QAudioDeviceInfo>();
#endif
} }
else { else {
serverConfig.rigs.first()->txAudioSetup.portInt = ui->serverTXAudioOutputCombo->itemData(value).toInt(); serverConfig.rigs.first()->txAudioSetup.portInt = ui->serverTXAudioOutputCombo->itemData(value).toInt();
@ -4698,8 +4715,13 @@ void wfmain::on_audioOutputCombo_currentIndexChanged(int value)
{ {
if (prefs.audioSystem == qtAudio) { if (prefs.audioSystem == qtAudio) {
QVariant v = ui->audioOutputCombo->itemData(value); QVariant v = ui->audioOutputCombo->itemData(value);
#if QT_VERSION >= 0x060000
rxSetup.port = v.value<QAudioDevice>();
#else
rxSetup.port = v.value<QAudioDeviceInfo>(); rxSetup.port = v.value<QAudioDeviceInfo>();
#endif
} }
else { else {
rxSetup.portInt = ui->audioOutputCombo->itemData(value).toInt(); rxSetup.portInt = ui->audioOutputCombo->itemData(value).toInt();
@ -4714,7 +4736,11 @@ void wfmain::on_audioInputCombo_currentIndexChanged(int value)
if (prefs.audioSystem == qtAudio) { if (prefs.audioSystem == qtAudio) {
QVariant v = ui->audioInputCombo->itemData(value); QVariant v = ui->audioInputCombo->itemData(value);
#if QT_VERSION >= 0x060000
txSetup.port = v.value<QAudioDevice>();
#else
txSetup.port = v.value<QAudioDeviceInfo>(); txSetup.port = v.value<QAudioDeviceInfo>();
#endif
} }
else { else {
txSetup.portInt = ui->audioInputCombo->itemData(value).toInt(); txSetup.portInt = ui->audioInputCombo->itemData(value).toInt();
@ -4725,12 +4751,10 @@ void wfmain::on_audioInputCombo_currentIndexChanged(int value)
qDebug(logGui()) << "Changed audio input to:" << txSetup.name; qDebug(logGui()) << "Changed audio input to:" << txSetup.name;
} }
void wfmain::on_audioSampleRateCombo_currentIndexChanged(QString text) void wfmain::on_audioSampleRateCombo_currentIndexChanged(int value)
{ {
//udpPrefs.audioRXSampleRate = text.toInt(); rxSetup.sampleRate= ui->audioSampleRateCombo->itemText(value).toInt();
//udpPrefs.audioTXSampleRate = text.toInt(); txSetup.sampleRate= ui->audioSampleRateCombo->itemText(value).toInt();
rxSetup.sampleRate=text.toInt();
txSetup.sampleRate=text.toInt();
} }
void wfmain::on_audioRXCodecCombo_currentIndexChanged(int value) void wfmain::on_audioRXCodecCombo_currentIndexChanged(int value)
@ -5231,7 +5255,7 @@ void wfmain::on_tuneLockChk_clicked(bool checked)
freqLock = checked; freqLock = checked;
} }
void wfmain::on_serialDeviceListCombo_activated(const QString &arg1) void wfmain::on_serialDeviceListCombo_textActivated(const QString &arg1)
{ {
QString manualPort; QString manualPort;
bool ok; bool ok;
@ -5890,6 +5914,7 @@ void wfmain::setAudioDevicesUI()
case qtAudio: case qtAudio:
{ {
Pa_Terminate(); Pa_Terminate();
#if QT_VERSION < 0x060000
const auto audioInputs = QAudioDeviceInfo::availableDevices(QAudio::AudioInput); const auto audioInputs = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
for (const QAudioDeviceInfo& deviceInfo : audioInputs) { for (const QAudioDeviceInfo& deviceInfo : audioInputs) {
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
@ -5915,6 +5940,23 @@ void wfmain::setAudioDevicesUI()
} }
#endif #endif
} }
#else
ui->audioOutputCombo->clear();
const auto audioOutputs = mediaDevices.audioOutputs();
for (const QAudioDevice& deviceInfo : audioOutputs) {
ui->audioOutputCombo->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
ui->serverTXAudioOutputCombo->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
outCount++;
}
ui->audioInputCombo->clear();
const auto audioInputs = mediaDevices.audioInputs();
for (const QAudioDevice& deviceInfo : audioInputs) {
ui->audioInputCombo->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
ui->serverRXAudioInputCombo->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
inCount++;
}
#endif
break; break;
} }
case portAudio: case portAudio:

Wyświetl plik

@ -414,7 +414,7 @@ private slots:
void on_audioTXCodecCombo_currentIndexChanged(int value); void on_audioTXCodecCombo_currentIndexChanged(int value);
void on_audioSampleRateCombo_currentIndexChanged(QString text); void on_audioSampleRateCombo_currentIndexChanged(int value);
void on_vspCombo_currentIndexChanged(int value); void on_vspCombo_currentIndexChanged(int value);
@ -453,7 +453,7 @@ private slots:
void on_tuningStepCombo_currentIndexChanged(int index); void on_tuningStepCombo_currentIndexChanged(int index);
void on_serialDeviceListCombo_activated(const QString &arg1); void on_serialDeviceListCombo_textActivated(const QString &arg1);
void on_rptSetupBtn_clicked(); void on_rptSetupBtn_clicked();
@ -513,6 +513,8 @@ private slots:
void on_rigctldPortTxt_editingFinished(); void on_rigctldPortTxt_editingFinished();
void setAudioDevicesUI();
void on_tcpServerPortTxt_editingFinished(); void on_tcpServerPortTxt_editingFinished();
void on_moreControlsBtn_clicked(); void on_moreControlsBtn_clicked();

138
wfmain.ui
Wyświetl plik

@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1002</width> <width>1012</width>
<height>569</height> <height>569</height>
</rect> </rect>
</property> </property>
@ -1749,7 +1749,6 @@
<font> <font>
<family>DejaVu Sans Mono</family> <family>DejaVu Sans Mono</family>
<pointsize>14</pointsize> <pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
@ -2174,7 +2173,7 @@
<item> <item>
<widget class="QStackedWidget" name="settingsStack"> <widget class="QStackedWidget" name="settingsStack">
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="radioAccess"> <widget class="QWidget" name="radioAccess">
<layout class="QVBoxLayout" name="verticalLayout_21"> <layout class="QVBoxLayout" name="verticalLayout_21">
@ -2609,6 +2608,23 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_46">
<item> <item>
<widget class="QLabel" name="label_19"> <widget class="QLabel" name="label_19">
<property name="text"> <property name="text">
@ -2637,23 +2653,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item> <item>
<widget class="QLabel" name="label_17"> <widget class="QLabel" name="label_17">
<property name="text"> <property name="text">
@ -2689,25 +2688,48 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_15"> <widget class="QLabel" name="label_40">
<property name="text"> <property name="text">
<string>Audio Output </string> <string>Audio System</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="audioOutputCombo"> <widget class="QComboBox" name="audioSystemCombo">
<property name="maximumSize"> <item>
<size> <property name="text">
<width>300</width> <string>QT Audio</string>
<height>16777215</height> </property>
</size> </item>
</property> <item>
<property name="accessibleName"> <property name="text">
<string>Audio Output Selector</string> <string>PortAudio</string>
</property> </property>
</item>
<item>
<property name="text">
<string>RT Audio</string>
</property>
</item>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer_30">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item> <item>
<widget class="QLabel" name="label_18"> <widget class="QLabel" name="label_18">
<property name="text"> <property name="text">
@ -2741,32 +2763,43 @@
</property> </property>
</spacer> </spacer>
</item> </item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_45">
<item> <item>
<widget class="QLabel" name="label_40"> <widget class="QLabel" name="label_15">
<property name="text"> <property name="text">
<string>Audio System</string> <string>Audio Output </string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="audioSystemCombo"> <widget class="QComboBox" name="audioOutputCombo">
<item> <property name="maximumSize">
<property name="text"> <size>
<string>QT Audio</string> <width>300</width>
</property> <height>16777215</height>
</item> </size>
<item> </property>
<property name="text"> <property name="accessibleName">
<string>PortAudio</string> <string>Audio Output Selector</string>
</property> </property>
</item>
<item>
<property name="text">
<string>RT Audio</string>
</property>
</item>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer_29">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
@ -3987,7 +4020,6 @@
<widget class="QPushButton" name="exitBtn"> <widget class="QPushButton" name="exitBtn">
<property name="font"> <property name="font">
<font> <font>
<weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
@ -4006,8 +4038,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1002</width> <width>1012</width>
<height>21</height> <height>22</height>
</rect> </rect>
</property> </property>
</widget> </widget>

Wyświetl plik

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
@ -9,6 +13,10 @@
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}</ProjectGuid> <ProjectGuid>{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}</ProjectGuid>
@ -16,7 +24,8 @@
<Keyword>QtVS_v304</Keyword> <Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion> <WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup> <QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
@ -27,6 +36,15 @@
<IntermediateDirectory>release\</IntermediateDirectory> <IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>wfserver</PrimaryOutput> <PrimaryOutput>wfserver</PrimaryOutput>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>wfserver</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-debug\</OutputDirectory> <OutputDirectory>wfview-debug\</OutputDirectory>
@ -36,16 +54,77 @@
<IntermediateDirectory>debug\</IntermediateDirectory> <IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>wfserver</PrimaryOutput> <PrimaryOutput>wfserver</PrimaryOutput>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>wfserver</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" /> <ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"><OutDir>wfview-debug\</OutDir><IntDir>debug\</IntDir><TargetName>wfserver</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><OutDir>wfview-release\</OutDir><IntDir>release\</IntDir><TargetName>wfserver</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>wfview-debug\</OutDir>
<IntDir>debug\</IntDir>
<TargetName>wfserver</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetName>wfserver</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>wfview-release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>wfserver</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TargetName>wfserver</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<QtInstall>msvc2019</QtInstall>
<QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
<QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<QtInstall>msvc2019</QtInstall>
<QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
<QtInstall>msvc2019</QtInstall>
<QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -59,12 +138,14 @@
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="44f6ec2";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="44f6ec2";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile> <PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName></ProgramDataBaseFileName> <ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link> <Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Release\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Release\opus.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>..\portaudio\msvc\Win32\Release\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Release\opus.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Release;..\opus\win32\VS2015\Win32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Release;..\opus\win32\VS2015\Win32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -87,7 +168,79 @@
<ResourceCompile> <ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile> </ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc></ItemDefinitionGroup> <QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="44f6ec2";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Release\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Release\opus.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Release;..\opus\win32\VS2015\Win32\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)\wfserver.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -105,7 +258,8 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link> <Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Debug\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Debug\opus.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>..\portaudio\msvc\Win32\Debug\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Debug\opus.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Debug;..\opus\win32\VS2015\Win32\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Debug;..\opus\win32\VS2015\Win32\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -126,7 +280,75 @@
<ResourceCompile> <ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile> </ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc></ItemDefinitionGroup> <QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="44f6ec2";HOST="wfview.org";UNAME="build";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Debug\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Debug\opus.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Debug;..\opus\win32\VS2015\Win32\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\wfserver.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFSERVER;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"44f6ec2\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\rtaudio\RTAudio.cpp" /> <ClCompile Include="..\rtaudio\RTAudio.cpp" />
<ClCompile Include="audioconverter.cpp" /> <ClCompile Include="audioconverter.cpp" />
@ -155,217 +377,73 @@
<ClInclude Include="..\rtaudio\RTAUdio.h" /> <ClInclude Include="..\rtaudio\RTAUdio.h" />
<ClInclude Include="resampler\arch.h" /> <ClInclude Include="resampler\arch.h" />
<QtMoc Include="audioconverter.h"> <QtMoc Include="audioconverter.h">
</QtMoc> </QtMoc>
<QtMoc Include="audiohandler.h"> <QtMoc Include="audiohandler.h">
</QtMoc> </QtMoc>
<ClInclude Include="audiotaper.h" /> <ClInclude Include="audiotaper.h" />
<QtMoc Include="commhandler.h"> <QtMoc Include="commhandler.h">
</QtMoc> </QtMoc>
<ClInclude Include="freqmemory.h" /> <ClInclude Include="freqmemory.h" />
<QtMoc Include="keyboard.h"> <QtMoc Include="keyboard.h">
</QtMoc> </QtMoc>
<ClInclude Include="logcategories.h" /> <ClInclude Include="logcategories.h" />
<ClInclude Include="packettypes.h" /> <ClInclude Include="packettypes.h" />
<QtMoc Include="pahandler.h"> <QtMoc Include="pahandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="pttyhandler.h"> <QtMoc Include="pttyhandler.h">
</QtMoc> </QtMoc>
<ClInclude Include="repeaterattributes.h" /> <ClInclude Include="repeaterattributes.h" />
<ClInclude Include="resampler\resample_sse.h" /> <ClInclude Include="resampler\resample_sse.h" />
<QtMoc Include="rigcommander.h"> <QtMoc Include="rigcommander.h">
</QtMoc> </QtMoc>
<QtMoc Include="rigctld.h"> <QtMoc Include="rigctld.h">
</QtMoc> </QtMoc>
<ClInclude Include="rigidentities.h" /> <ClInclude Include="rigidentities.h" />
<QtMoc Include="rthandler.h"> <QtMoc Include="rthandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="servermain.h"> <QtMoc Include="servermain.h">
</QtMoc> </QtMoc>
<ClInclude Include="resampler\speex_resampler.h" /> <ClInclude Include="resampler\speex_resampler.h" />
<QtMoc Include="tcpserver.h"> <QtMoc Include="tcpserver.h">
</QtMoc> </QtMoc>
<QtMoc Include="udpaudio.h"> <QtMoc Include="udpaudio.h">
</QtMoc> </QtMoc>
<ClInclude Include="udpbase.h" /> <ClInclude Include="udpbase.h" />
<QtMoc Include="udpcivdata.h"> <QtMoc Include="udpcivdata.h">
</QtMoc> </QtMoc>
<QtMoc Include="udphandler.h"> <QtMoc Include="udphandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="udpserver.h"> <QtMoc Include="udpserver.h">
</QtMoc> </QtMoc>
<ClInclude Include="ulaw.h" /> <ClInclude Include="ulaw.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt"> <CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType> <FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -faligned-new -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -faligned-new -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -faligned-new -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generate moc_predefs.h</Message> <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generate moc_predefs.h</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\moc_predefs.h;%(Outputs)</Outputs> <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\moc_predefs.h;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild> </CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt"> <CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType> <FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generate moc_predefs.h</Message> <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generate moc_predefs.h</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs> <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="qdarkstyle\rc\Hmovetoolbar.png" /> <None Include="qdarkstyle\rc\Hmovetoolbar.png" />
@ -398,30 +476,20 @@
<None Include="qdarkstyle\rc\radio_unchecked_disabled.png" /> <None Include="qdarkstyle\rc\radio_unchecked_disabled.png" />
<None Include="qdarkstyle\rc\radio_unchecked_focus.png" /> <None Include="qdarkstyle\rc\radio_unchecked_focus.png" />
<QtRcc Include="resources\resources.qrc"> <QtRcc Include="resources\resources.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">resources</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">resources</InitFuncName>
</QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName></QtRcc>
<None Include="qdarkstyle\rc\right_arrow.png" /> <None Include="qdarkstyle\rc\right_arrow.png" />
<None Include="qdarkstyle\rc\right_arrow_disabled.png" /> <None Include="qdarkstyle\rc\right_arrow_disabled.png" />
<None Include="qdarkstyle\rc\sizegrip.png" /> <None Include="qdarkstyle\rc\sizegrip.png" />
<QtRcc Include="qdarkstyle\style.qrc"> <QtRcc Include="qdarkstyle\style.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">style</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">style</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">style</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">style</InitFuncName>
</QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">style</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">style</InitFuncName></QtRcc>
<None Include="qdarkstyle\style.qss" /> <None Include="qdarkstyle\style.qss" />
<None Include="qdarkstyle\rc\stylesheet-branch-end.png" /> <None Include="qdarkstyle\rc\stylesheet-branch-end.png" />
<None Include="qdarkstyle\rc\stylesheet-branch-more.png" /> <None Include="qdarkstyle\rc\stylesheet-branch-more.png" />
@ -435,6 +503,9 @@
<ItemGroup> <ItemGroup>
<ResourceCompile Include=".\wfserver_resource.rc" /> <ResourceCompile Include=".\wfserver_resource.rc" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets" /> <ImportGroup Label="ExtensionTargets" />
</Project> </Project>

Wyświetl plik

@ -188,46 +188,12 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt"> <CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter> <Filter>Generated Files</Filter>
</CustomBuild> </CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt"> <CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter> <Filter>Generated Files</Filter>
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="qdarkstyle\rc\Hmovetoolbar.png"> <None Include="qdarkstyle\rc\Hmovetoolbar.png">
@ -361,6 +327,6 @@
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="C:\Users\Phil\source\repos\wfview\wfserver_resource.rc" /> <ResourceCompile Include=".\wfserver_resource.rc" />
</ItemGroup> </ItemGroup>
</Project> </Project>

Wyświetl plik

@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup /> <PropertyGroup />
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-04-13T11:33:50.3607712Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-21T18:45:22.2052009Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="QtSettings">
<QtLastBackgroundBuild>2022-08-21T18:45:22.2052009Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-04-13T11:33:53.0745117Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="QtSettings">
<QtLastBackgroundBuild>2022-04-13T11:33:53.0745117Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-04-13T11:33:53.0745117Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

Wyświetl plik

@ -15,11 +15,11 @@ DEFINES += WFVIEW_VERSION=\\\"1.4\\\"
DEFINES += BUILD_WFVIEW DEFINES += BUILD_WFVIEW
CONFIG(debug, release|debug) { CONFIG(debug, release|debug) {
# For Debug builds only: # For Debug builds only:
QMAKE_CXXFLAGS += -faligned-new QMAKE_CXXFLAGS += -faligned-new
win32:DESTDIR = wfview-release win32:DESTDIR = wfview-release
win32:LIBS += -L../portaudio/msvc/Win32/Debug/ -lportaudio_x86 -lole32
} else { } else {
# For Release builds only: # For Release builds only:
linux:QMAKE_CXXFLAGS += -s linux:QMAKE_CXXFLAGS += -s
@ -28,9 +28,9 @@ CONFIG(debug, release|debug) {
QMAKE_CXXFLAGS += -faligned-new QMAKE_CXXFLAGS += -faligned-new
linux:QMAKE_LFLAGS += -O2 -s linux:QMAKE_LFLAGS += -O2 -s
win32:DESTDIR = wfview-debug win32:DESTDIR = wfview-debug
win32:LIBS += -L../portaudio/msvc/Win32/Release/ -lportaudio_x86 -lole32
} }
# RTAudio defines # RTAudio defines
win32:DEFINES += __WINDOWS_WASAPI__ win32:DEFINES += __WINDOWS_WASAPI__
#win32:DEFINES += __WINDOWS_DS__ # Requires DirectSound libraries #win32:DEFINES += __WINDOWS_DS__ # Requires DirectSound libraries
@ -131,11 +131,15 @@ CONFIG(debug, release|debug) {
contains(QMAKE_TARGET.arch, x86_64) { contains(QMAKE_TARGET.arch, x86_64) {
LIBS += -L../opus/win32/VS2015/x64/Debug/ LIBS += -L../opus/win32/VS2015/x64/Debug/
LIBS += -L../qcustomplot/x64 LIBS += -L../qcustomplot/x64
QMAKE_PRE_LINK+=copy /Y ..\qcustomplot\x64\qcustomplotd2.dll debug\ QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\qcustomplot\x64\qcustomplotd2.dll debug\$$escape_expand(\n\t))
QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\portaudio\msvc\x64\Debug\portaudio_x64.dll debug\$$escape_expand(\n\t))
win32:LIBS += -L../portaudio/msvc/X64/Debug/ -lportaudio_x64
} else { } else {
LIBS += -L../opus/win32/VS2015/win32/Debug/ LIBS += -L../opus/win32/VS2015/win32/Debug/
LIBS += -L../qcustomplot/win32 LIBS += -L../qcustomplot/win32
QMAKE_PRE_LINK+=copy /Y ..\qcustomplot\win32\qcustomplotd2.dll debug\ QMAKE_POST_LINK +=$$quote(cmd /c copy /y .\qcustomplot\win32\qcustomplotd2.dll debug\$$escape_expand(\n\t))
QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\portaudio\msvc\win32\Debug\portaudio_x86.dll debug\$$escape_expand(\n\t))
win32:LIBS += -L../portaudio/msvc/Win32/Debug/ -lportaudio_x86 -lole32
} }
} }
} else { } else {
@ -145,11 +149,15 @@ CONFIG(debug, release|debug) {
contains(QMAKE_TARGET.arch, x86_64) { contains(QMAKE_TARGET.arch, x86_64) {
LIBS += -L../opus/win32/VS2015/x64/Release/ LIBS += -L../opus/win32/VS2015/x64/Release/
LIBS += -L../qcustomplot/x64 LIBS += -L../qcustomplot/x64
QMAKE_PRE_LINK+=copy /Y ..\qcustomplot\x64\qcustomplot2.dll release\ QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\qcustomplot\x64\qcustomplot2.dll release\$$escape_expand(\n\t))
QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\portaudio\msvc\x64\Release\portaudio_x64.dll release\$$escape_expand(\n\t))
win32:LIBS += -L../portaudio/msvc/X64/Release/ -lportaudio_x64
} else { } else {
LIBS += -L../opus/win32/VS2015/win32/Release/ LIBS += -L../opus/win32/VS2015/win32/Release/
LIBS += -L../qcustomplot/win32 LIBS += -L../qcustomplot/win32
QMAKE_PRE_LINK+=copy /Y ..\qcustomplot\win32\qcustomplot2.dll release\ QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\qcustomplot\win32\qcustomplot2.dll release\$$escape_expand(\n\t))
QMAKE_POST_LINK +=$$quote(cmd /c copy /y ..\portaudio\msvc\win32\Release\portaudio_x86.dll release\$$escape_expand(\n\t))
win32:LIBS += -L../portaudio/msvc/Win32/Release/ -lportaudio_x86 -lole32
} }
} }
} }

Wyświetl plik

@ -10,21 +10,16 @@ EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64 Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.ActiveCfg = Debug|Win32 {326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.ActiveCfg = Debug|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x86.ActiveCfg = Debug|Win32 {326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.Build.0 = Debug|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x86.Build.0 = Debug|Win32 {326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.ActiveCfg = Release|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.ActiveCfg = Release|Win32 {326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.Build.0 = Release|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.ActiveCfg = Release|Win32 {00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x64.ActiveCfg = Debug|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.Build.0 = Release|Win32 {00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x64.Build.0 = Debug|x64
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x86.ActiveCfg = Debug|Win32 {00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Release|x64.ActiveCfg = Release|x64
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x86.Build.0 = Debug|Win32
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Release|x86.ActiveCfg = Release|Win32
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Release|x86.Build.0 = Release|Win32
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

Wyświetl plik

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32"> <ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>x64</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
<Platform>Win32</Platform> <Platform>x64</Platform>
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
@ -16,9 +16,10 @@
<Keyword>QtVS_v304</Keyword> <Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion> <WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup> <QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-release\</OutputDirectory> <OutputDirectory>wfview-release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage> <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
@ -27,7 +28,7 @@
<IntermediateDirectory>release\</IntermediateDirectory> <IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>wfview</PrimaryOutput> <PrimaryOutput>wfview</PrimaryOutput>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-debug\</OutputDirectory> <OutputDirectory>wfview-debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage> <ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
@ -36,40 +37,74 @@
<IntermediateDirectory>debug\</IntermediateDirectory> <IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>wfview</PrimaryOutput> <PrimaryOutput>wfview</PrimaryOutput>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" /> <ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"><OutDir>wfview-debug\</OutDir><IntDir>debug\</IntDir><TargetName>wfview</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><OutDir>wfview-release\</OutDir><IntDir>release\</IntDir><TargetName>wfview</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup> <PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>wfview-debug\</OutDir>
<IntDir>debug\</IntDir>
<TargetName>wfview</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>wfview-release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>wfview</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>msvc2019_64_v62</QtInstall>
<QtModules>core;gui;network;widgets;multimedia;printsupport;serialport</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation> <AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation> <BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat> <DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings> <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>release\</ObjectFileName> <ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization> <Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="1aa45dc";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;WFVIEW_VERSION="1.4";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_USE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="4574e2b";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile> <PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName></ProgramDataBaseFileName> <ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link> <Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Release\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Release\opus.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>..\portaudio\msvc\X64\Release\portaudio_x64.lib;..\qcustomplot\x64\qcustomplot2.lib;..\opus\win32\VS2015\x64\Release\opus.lib;$(QTDIR)\lib\Qt6Multimedia.lib;$(QTDIR)\lib\Qt6PrintSupport.lib;$(QTDIR)\lib\Qt6Widgets.lib;$(QTDIR)\lib\Qt6Gui.lib;$(QTDIR)\lib\Qt6SerialPort.lib;$(QTDIR)\lib\Qt6Network.lib;$(QTDIR)\lib\Qt6Core.lib;$(QTDIR)\lib\Qt6EntryPoint.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Release;..\opus\win32\VS2015\Win32\Release;C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\opus\win32\VS2015\x64\Release;..\qcustomplot\x64;..\portaudio\msvc\X64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention> <DataExecutionPrevention>true</DataExecutionPrevention>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation> <GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary> <IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
@ -85,30 +120,59 @@
<WarningLevel>0</WarningLevel> <WarningLevel>0</WarningLevel>
</Midl> </Midl>
<ResourceCompile> <ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"1aa45dc\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;WFVIEW_VERSION=\"1.4\";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_USE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"4574e2b\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile> </ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc><QtUic><ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription><QtUicDir>$(ProjectDir)</QtUicDir><QtUicFileName>ui_%(Filename).h</QtUicFileName></QtUic></ItemDefinitionGroup> <QtMoc>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
<PostBuildEvent>
<Command>cmd /c copy /y ..\qcustomplot\x64\qcustomplot2.dll release\
cmd /c copy /y ..\portaudio\msvc\x64\Release\portaudio_x64.dll release\</Command>
</PostBuildEvent>
<PostBuildEvent>
<Message>Copy DLL Files</Message>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile> <ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\qcustomplot;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation> <AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation> <BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings> <DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling> <ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>debug\</ObjectFileName> <ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization> <Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2e";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="1aa45dc";HOST="wfview.org";UNAME="build";%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;WFVIEW_VERSION="1.4";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_USE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX="/usr/local";GITSHORT="4574e2b";HOST="wfview.org";UNAME="build";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile> <PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link> <Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Debug\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Debug\opus.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>..\portaudio\msvc\X64\Debug\portaudio_x64.lib;..\qcustomplot\x64\qcustomplotd2.lib;..\opus\win32\VS2015\x64\Debug\opus.lib;$(QTDIR)\lib\Qt6Multimediad.lib;$(QTDIR)\lib\Qt6PrintSupportd.lib;$(QTDIR)\lib\Qt6Widgetsd.lib;$(QTDIR)\lib\Qt6Guid.lib;$(QTDIR)\lib\Qt6SerialPortd.lib;$(QTDIR)\lib\Qt6Networkd.lib;$(QTDIR)\lib\Qt6Cored.lib;$(QTDIR)\lib\Qt6EntryPointd.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\portaudio\msvc\Win32\Debug;..\opus\win32\VS2015\Win32\Debug;C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>..\opus\win32\VS2015\x64\Debug;..\qcustomplot\x64;..\portaudio\msvc\X64\Debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention> <DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
@ -124,9 +188,33 @@
<WarningLevel>0</WarningLevel> <WarningLevel>0</WarningLevel>
</Midl> </Midl>
<ResourceCompile> <ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION=\"1.2e\";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"1aa45dc\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;WFVIEW_VERSION=\"1.4\";BUILD_WFVIEW;__WINDOWS_WASAPI__;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_USE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;EIGEN_MPL2_ONLY;EIGEN_DONT_VECTORIZE;EIGEN_VECTORIZE_SSE3;PREFIX=\"/usr/local\";GITSHORT=\"4574e2b\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile> </ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc><QtUic><ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription><QtUicDir>$(ProjectDir)</QtUicDir><QtUicFileName>ui_%(Filename).h</QtUicFileName></QtUic></ItemDefinitionGroup> <PostBuildEvent>
<Command>cmd /c copy /y ..\qcustomplot\x64\qcustomplotd2.dll debug
cmd /c copy /y ..\portaudio\msvc\x64\Debug\portaudio_x64.dll debug</Command>
<Message>Copy DLL files</Message>
</PostBuildEvent>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\rtaudio\RTAudio.cpp" /> <ClCompile Include="..\rtaudio\RTAudio.cpp" />
<ClCompile Include="aboutbox.cpp" /> <ClCompile Include="aboutbox.cpp" />
@ -140,7 +228,6 @@
<ClCompile Include="meter.cpp" /> <ClCompile Include="meter.cpp" />
<ClCompile Include="pahandler.cpp" /> <ClCompile Include="pahandler.cpp" />
<ClCompile Include="pttyhandler.cpp" /> <ClCompile Include="pttyhandler.cpp" />
<ClCompile Include="..\qcustomplot\qcustomplot.cpp" />
<ClCompile Include="qledlabel.cpp" /> <ClCompile Include="qledlabel.cpp" />
<ClCompile Include="repeatersetup.cpp" /> <ClCompile Include="repeatersetup.cpp" />
<ClCompile Include="resampler\resample.c" /> <ClCompile Include="resampler\resample.c" />
@ -162,399 +249,93 @@
<ItemGroup> <ItemGroup>
<ClInclude Include="..\rtaudio\RTAUdio.h" /> <ClInclude Include="..\rtaudio\RTAUdio.h" />
<QtMoc Include="aboutbox.h"> <QtMoc Include="aboutbox.h">
</QtMoc> </QtMoc>
<ClInclude Include="resampler\arch.h" /> <ClInclude Include="resampler\arch.h" />
<QtMoc Include="audioconverter.h"> <QtMoc Include="audioconverter.h">
</QtMoc> </QtMoc>
<QtMoc Include="audiohandler.h"> <QtMoc Include="audiohandler.h">
</QtMoc> </QtMoc>
<ClInclude Include="audiotaper.h" /> <ClInclude Include="audiotaper.h" />
<QtMoc Include="calibrationwindow.h"> <QtMoc Include="calibrationwindow.h">
</QtMoc> </QtMoc>
<QtMoc Include="commhandler.h"> <QtMoc Include="commhandler.h">
</QtMoc> </QtMoc>
<ClInclude Include="freqmemory.h" /> <ClInclude Include="freqmemory.h" />
<ClInclude Include="logcategories.h" /> <ClInclude Include="logcategories.h" />
<QtMoc Include="meter.h"> <QtMoc Include="meter.h">
</QtMoc> </QtMoc>
<ClInclude Include="packettypes.h" /> <ClInclude Include="packettypes.h" />
<QtMoc Include="pahandler.h"> <QtMoc Include="pahandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="pttyhandler.h"> <QtMoc Include="pttyhandler.h">
</QtMoc>
<QtMoc Include="..\qcustomplot\qcustomplot.h">
</QtMoc> </QtMoc>
<QtMoc Include="qledlabel.h"> <QtMoc Include="qledlabel.h">
</QtMoc> </QtMoc>
<ClInclude Include="repeaterattributes.h" /> <ClInclude Include="repeaterattributes.h" />
<QtMoc Include="repeatersetup.h"> <QtMoc Include="repeatersetup.h">
</QtMoc> </QtMoc>
<ClInclude Include="resampler\resample_sse.h" /> <ClInclude Include="resampler\resample_sse.h" />
<QtMoc Include="rigcommander.h"> <QtMoc Include="rigcommander.h">
</QtMoc> </QtMoc>
<QtMoc Include="rigctld.h"> <QtMoc Include="rigctld.h">
</QtMoc> </QtMoc>
<ClInclude Include="rigidentities.h" /> <ClInclude Include="rigidentities.h" />
<QtMoc Include="rthandler.h"> <QtMoc Include="rthandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="satellitesetup.h"> <QtMoc Include="satellitesetup.h">
</QtMoc> </QtMoc>
<QtMoc Include="selectradio.h"> <QtMoc Include="selectradio.h">
</QtMoc> </QtMoc>
<ClInclude Include="resampler\speex_resampler.h" /> <ClInclude Include="resampler\speex_resampler.h" />
<QtMoc Include="tcpserver.h"> <QtMoc Include="tcpserver.h">
</QtMoc> </QtMoc>
<QtMoc Include="transceiveradjustments.h"> <QtMoc Include="transceiveradjustments.h">
</QtMoc> </QtMoc>
<QtMoc Include="udpaudio.h"> <QtMoc Include="udpaudio.h">
</QtMoc> </QtMoc>
<ClInclude Include="udpbase.h" /> <ClInclude Include="udpbase.h" />
<QtMoc Include="udpcivdata.h"> <QtMoc Include="udpcivdata.h">
</QtMoc> </QtMoc>
<QtMoc Include="udphandler.h"> <QtMoc Include="udphandler.h">
</QtMoc> </QtMoc>
<QtMoc Include="udpserver.h"> <QtMoc Include="udpserver.h">
</QtMoc> </QtMoc>
<ClInclude Include="ulaw.h" /> <ClInclude Include="ulaw.h" />
<QtMoc Include="wfmain.h"> <QtMoc Include="wfmain.h">
</QtMoc> </QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt"> <CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType> <FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -faligned-new -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -faligned-new -Zi -MDd -std:c++17 -utf-8 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generate moc_predefs.h</Message> <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\moc_predefs.h;%(Outputs)</Outputs> <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild> </CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt"> <CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType> <FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs> <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command> <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -MD -std:c++17 -utf-8 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generate moc_predefs.h</Message> <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs> <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtUic Include="aboutbox.ui"> <QtUic Include="aboutbox.ui">
</QtUic> </QtUic>
<QtUic Include="calibrationwindow.ui"> <QtUic Include="calibrationwindow.ui">
</QtUic> </QtUic>
<QtUic Include="repeatersetup.ui"> <QtUic Include="repeatersetup.ui">
</QtUic> </QtUic>
<QtUic Include="satellitesetup.ui"> <QtUic Include="satellitesetup.ui">
</QtUic> </QtUic>
<QtUic Include="selectradio.ui"> <QtUic Include="selectradio.ui">
</QtUic> </QtUic>
<QtUic Include="transceiveradjustments.ui"> <QtUic Include="transceiveradjustments.ui">
</QtUic> </QtUic>
<QtUic Include="wfmain.ui"> <QtUic Include="wfmain.ui">
</QtUic> </QtUic>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -588,30 +369,16 @@
<None Include="qdarkstyle\rc\radio_unchecked_disabled.png" /> <None Include="qdarkstyle\rc\radio_unchecked_disabled.png" />
<None Include="qdarkstyle\rc\radio_unchecked_focus.png" /> <None Include="qdarkstyle\rc\radio_unchecked_focus.png" />
<QtRcc Include="resources\resources.qrc"> <QtRcc Include="resources\resources.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">resources</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">resources</InitFuncName>
</QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName></QtRcc>
<None Include="qdarkstyle\rc\right_arrow.png" /> <None Include="qdarkstyle\rc\right_arrow.png" />
<None Include="qdarkstyle\rc\right_arrow_disabled.png" /> <None Include="qdarkstyle\rc\right_arrow_disabled.png" />
<None Include="qdarkstyle\rc\sizegrip.png" /> <None Include="qdarkstyle\rc\sizegrip.png" />
<QtRcc Include="qdarkstyle\style.qrc"> <QtRcc Include="qdarkstyle\style.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">style</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">style</InitFuncName>
</QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">style</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">style</InitFuncName></QtRcc>
<None Include="qdarkstyle\style.qss" /> <None Include="qdarkstyle\style.qss" />
<None Include="qdarkstyle\rc\stylesheet-branch-end.png" /> <None Include="qdarkstyle\rc\stylesheet-branch-end.png" />
<None Include="qdarkstyle\rc\stylesheet-branch-more.png" /> <None Include="qdarkstyle\rc\stylesheet-branch-more.png" />
@ -625,6 +392,9 @@
<ItemGroup> <ItemGroup>
<ResourceCompile Include=".\wfview_resource.rc" /> <ResourceCompile Include=".\wfview_resource.rc" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets" /> <ImportGroup Label="ExtensionTargets" />
</Project> </Project>

Wyświetl plik

@ -83,9 +83,6 @@
<ClCompile Include="pttyhandler.cpp"> <ClCompile Include="pttyhandler.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\qcustomplot\qcustomplot.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="qledlabel.cpp"> <ClCompile Include="qledlabel.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -181,9 +178,6 @@
<QtMoc Include="pttyhandler.h"> <QtMoc Include="pttyhandler.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="..\qcustomplot\qcustomplot.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="qledlabel.h"> <QtMoc Include="qledlabel.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
@ -246,69 +240,12 @@
</QtMoc> </QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt"> <CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter> <Filter>Generated Files</Filter>
</CustomBuild> </CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt"> <CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter> <Filter>Generated Files</Filter>
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtUic Include="aboutbox.ui"> <QtUic Include="aboutbox.ui">
@ -465,6 +402,6 @@
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="C:\Users\Phil\source\repos\wfview\wfview_resource.rc" /> <ResourceCompile Include=".\wfview_resource.rc" />
</ItemGroup> </ItemGroup>
</Project> </Project>

Wyświetl plik

@ -3,13 +3,39 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment> <LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(QTDIR)\bin%3bC:\QT\5.15.2\MSVC2019\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerDebuggerType>NativeOnly</LocalDebuggerDebuggerType>
<LocalDebuggerAmpDefaultAccelerator> </LocalDebuggerAmpDefaultAccelerator>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<QtLastBackgroundBuild>2022-04-18T13:23:03.5252168Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-22T10:47:36.6935363Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-08-21T18:58:23.4329764Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-08-22T19:43:39.8544189Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<QtLastBackgroundBuild>2022-04-18T13:23:05.0598803Z</QtLastBackgroundBuild> <QtLastBackgroundBuild>2022-08-22T10:47:49.1255783Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-08-20T19:06:43.4553894Z</QtLastBackgroundBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="QtSettings">
<QtLastBackgroundBuild>2022-08-22T19:43:40.1498727Z</QtLastBackgroundBuild>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

Wyświetl plik

@ -1,6 +1,6 @@
#include <windows.h> #include <windows.h>
IDI_ICON1 ICON DISCARDABLE "C:\\Users\\Phil\\source\\repos\\wfview\\resources\\wfview.ico" IDI_ICON1 ICON "C:\\Users\\Phil\\source\\repos\\wfview\\resources\\wfview.ico"
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,0,0 FILEVERSION 0,0,0,0
@ -11,9 +11,9 @@ VS_VERSION_INFO VERSIONINFO
#else #else
FILEFLAGS 0x0L FILEFLAGS 0x0L
#endif #endif
FILEOS VOS__WINDOWS32 FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL FILETYPE VFT_DLL
FILESUBTYPE 0x0L FILESUBTYPE VFT2_UNKNOWN
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
@ -26,6 +26,9 @@ VS_VERSION_INFO VERSIONINFO
VALUE "OriginalFilename", "wfview.exe\0" VALUE "OriginalFilename", "wfview.exe\0"
VALUE "ProductName", "wfview\0" VALUE "ProductName", "wfview\0"
VALUE "ProductVersion", "0.0.0.0\0" VALUE "ProductVersion", "0.0.0.0\0"
VALUE "InternalName", "\0"
VALUE "Comments", "\0"
VALUE "LegalTrademarks", "\0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"