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
wfview-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->outFormat = outFormat;
this->opusComplexity = opusComplexity;
this->inCodec = inCodec;
this->outFormat = outFormat;
this->outCodec = outCodec;
this->opusComplexity = opusComplexity;
this->resampleQuality = resampleQuality;
qInfo(logAudioConverter) << "Starting audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inFormat.codec() << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() <<
"Output:" << outFormat.channelCount() << "Channels of" << outFormat.codec() << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize();
#if QT_VERSION < 0x060000
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();
}
#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")
{
// Create instance of opus decoder
int opus_err = 0;
opusDecoder = opus_decoder_create(inFormat.sampleRate(), inFormat.channelCount(), &opus_err);
qInfo(logAudioConverter()) << "Creating opus decoder: " << opus_strerror(opus_err);
}
if (inCodec == OPUS)
{
// Create instance of opus decoder
int opus_err = 0;
opusDecoder = opus_decoder_create(inFormat.sampleRate(), inFormat.channelCount(), &opus_err);
qInfo(logAudioConverter()) << "Creating opus decoder: " << opus_strerror(opus_err);
}
if (outFormat.codec() == "audio/opus")
{
// Create instance of opus encoder
if (outCodec == OPUS)
{
// Create instance of opus encoder
int opus_err = 0;
opusEncoder = opus_encoder_create(outFormat.sampleRate(), outFormat.channelCount(), OPUS_APPLICATION_AUDIO, &opus_err);
//opus_encoder_ctl(opusEncoder, OPUS_SET_LSB_DEPTH(16));
@ -60,8 +68,13 @@ bool audioConverter::init(QAudioFormat inFormat, QAudioFormat outFormat, quint8
audioConverter::~audioConverter()
{
qInfo(logAudioConverter) << "Closing audioConverter() Input:" << inFormat.channelCount() << "Channels of" << inFormat.codec() << inFormat.sampleRate() << inFormat.sampleType() << inFormat.sampleSize() <<
"Output:" << outFormat.channelCount() << "Channels of" << outFormat.codec() << outFormat.sampleRate() << outFormat.sampleType() << outFormat.sampleSize();
#if QT_VERSION < 0x060000
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) {
qInfo(logAudioConverter()) << "Destroying opus encoder";
@ -87,7 +100,7 @@ bool audioConverter::convert(audioPacket audio)
if (audio.data.size() > 0)
{
if (inFormat.codec() == "audio/opus")
if (inCodec == OPUS)
{
unsigned char* in = (unsigned char*)audio.data.data();
@ -110,7 +123,7 @@ bool audioConverter::convert(audioPacket audio)
audio.data.clear();
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
QByteArray outPacket((int)audio.data.length() * 2, (char)0xff);
@ -125,33 +138,49 @@ bool audioConverter::convert(audioPacket audio)
}
Eigen::VectorXf samplesF;
#if QT_VERSION < 0x060000
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)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint32>::max());
}
#if QT_VERSION < 0x060000
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)));
samplesF = samplesI.cast<float>() / float(std::numeric_limits<qint16>::max());
}
else if (inFormat.sampleType() == QAudioFormat::SignedInt && inFormat.sampleSize() == 8)
{
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());;
}
#if QT_VERSION < 0x060000
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)));
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)));
}
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)
@ -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 (outFormat.codec() == "audio/opus")
if (outCodec == OPUS)
{
float* in = (float*)samplesF.data();
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();
#if QT_VERSION < 0x060000
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());
samplesITemp.array() += 127;
VectorXuint8 samplesI = samplesITemp.cast<quint8>();
audio.data = QByteArray(reinterpret_cast<char*>(samplesI.data()), int(samplesI.size()) * int(sizeof(quint8)));
}
else if (outFormat.sampleType() == QAudioFormat::SignedInt && outFormat.sampleSize() == 8)
{
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)));
}
#if QT_VERSION < 0x060000
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());
VectorXint16 samplesI = samplesITemp.cast<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
else if (outFormat.sampleFormat() == QAudioFormat::Int32)
#endif
{
Eigen::VectorXf samplesITemp = samplesF * float(std::numeric_limits<qint32>::max());
VectorXint32 samplesI = samplesITemp.cast<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
else if (outFormat.sampleFormat() == QAudioFormat::Float)
#endif
{
audio.data = QByteArray(reinterpret_cast<char*>(samplesF.data()), int(samplesF.size()) * int(sizeof(float)));
}
else {
#if QT_VERSION < 0x060000
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
after all other conversion has taken place.
*/
if (outFormat.codec() == "audio/PCMU")
if (inCodec == PCMU)
{
QByteArray outPacket((int)audio.data.length() / 2, (char)0xff);
qint16* in = (qint16*)audio.data.data();

Wyświetl plik

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

Wyświetl plik

@ -51,7 +51,11 @@ audioHandler::~audioHandler()
}
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec <<
", latency" << setup.latency <<
", localAFGain" << setup.localAFgain <<
@ -61,11 +65,22 @@ audioHandler::~audioHandler()
", uLaw" << setup.ulaw;
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();
#if QT_VERSION < 0x060000
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();
#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) {
outFormat.setChannelCount(2);
}
@ -92,20 +107,30 @@ audioHandler::~audioHandler()
}
}
if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize()==8) {
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16);
#if QT_VERSION < 0x060000
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);
}
}
if (outFormat.sampleType() == QAudioFormat::UnSignedInt && outFormat.sampleSize() == 8) {
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16);
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) {
outFormat.setSampleType(QAudioFormat::Float);
outFormat.setSampleSize(32);
@ -118,6 +143,8 @@ audioHandler::~audioHandler()
}
*/
#if QT_VERSION < 0x060000
if (outFormat.sampleSize() == 24) {
// We can't convert this easily so use 32 bit instead.
outFormat.setSampleSize(32);
@ -126,9 +153,16 @@ audioHandler::~audioHandler()
outFormat.setSampleSize(16);
}
}
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
@ -142,7 +176,7 @@ audioHandler::~audioHandler()
}
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(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority);
@ -155,7 +189,7 @@ audioHandler::~audioHandler()
audioInput = new QAudioSource(setup.port, outFormat, this);
#endif
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)));
}
else {
@ -166,10 +200,8 @@ audioHandler::~audioHandler()
audioOutput = new QAudioSink(setup.port, outFormat, this);
#endif
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)));
}

Wyświetl plik

@ -81,7 +81,7 @@ signals:
void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data);
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);
@ -97,19 +97,20 @@ private:
bool isReady = false;
bool audioBuffered = false;
QAudioOutput* audioOutput=Q_NULLPTR;
QAudioInput* audioInput=Q_NULLPTR;
QIODevice* audioDevice=Q_NULLPTR;
QAudioFormat inFormat;
QAudioFormat outFormat;
#if QT_VERSION < 0x060000
QAudioOutput* audioOutput = Q_NULLPTR;
QAudioInput* audioInput = Q_NULLPTR;
QAudioDeviceInfo deviceInfo;
#else
QAudioSink* audioOutput = Q_NULLPTR;
QAudioSource* audioInput = Q_NULLPTR;
QAudioDevice deviceInfo;
#endif
audioConverter* converter=Q_NULLPTR;
QThread* converterThread = Q_NULLPTR;
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
#if QT_VERSION > 0x060000
#define hex Qt::hex
#define bin Qt::bin
//#define hex Qt::hex
//#define bin Qt::bin
#endif
#endif // LOGCATEGORIES_H

Wyświetl plik

@ -45,7 +45,11 @@ bool paHandler::init(audioSetup setup)
inFormat = toQAudioFormat(setup.codec, setup.sampleRate);
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec <<
", latency" << setup.latency <<
", localAFGain" << setup.localAFgain <<
@ -65,6 +69,12 @@ bool paHandler::init(audioSetup setup)
// 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));
aParams.device = setup.portInt;
@ -83,11 +93,15 @@ bool paHandler::init(audioSetup setup)
aParams.suggestedLatency = (float)setup.latency / 1000.0f;
outFormat.setSampleRate(info->defaultSampleRate);
aParams.sampleFormat = paFloat32;
#if QT_VERSION < 0x060000
outFormat.setSampleSize(32);
outFormat.setSampleType(QAudioFormat::Float);
outFormat.setByteOrder(QAudioFormat::LittleEndian);
outFormat.setCodec("audio/pcm");
#else
outFormat.setSampleFormat(QAudioFormat::Float);
#endif
if (outFormat.channelCount() > 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() <<
"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
@ -124,7 +144,7 @@ bool paHandler::init(audioSetup setup)
}
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(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority);
@ -166,8 +186,12 @@ bool paHandler::init(audioSetup setup)
else if (err == paSampleFormatNotSupported)
{
aParams.sampleFormat = paInt16;
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16);
#else
outFormat.setSampleFormat(QAudioFormat::Int16);
#endif
}
if (setup.isinput) {
@ -186,12 +210,12 @@ bool paHandler::init(audioSetup setup)
if (setup.isinput) {
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)));
}
else {
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)));
}

Wyświetl plik

@ -56,7 +56,7 @@ signals:
void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data);
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);
private:

Wyświetl plik

@ -58,7 +58,11 @@ bool rtHandler::init(audioSetup setup)
inFormat = toQAudioFormat(setup.codec, setup.sampleRate);
qDebug(logAudio()) << "Creating" << (setup.isinput ? "Input" : "Output") << "audio device:" << setup.name <<
#if QT_VERSION < 0x060000
", bits" << inFormat.sampleSize() <<
#else
", format" << inFormat.sampleFormat() <<
#endif
", codec" << setup.codec <<
", latency" << setup.latency <<
", localAFGain" << setup.localAFgain <<
@ -80,6 +84,12 @@ bool rtHandler::init(audioSetup setup)
audio = new RtAudio(RtAudio::Api::MACOSX_CORE);
#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);
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";
RtAudioFormat sampleFormat;
#if QT_VERSION < 0x060000
outFormat.setByteOrder(QAudioFormat::LittleEndian);
outFormat.setCodec("audio/pcm");
#endif
if (info.nativeFormats == 0)
{
@ -155,18 +168,30 @@ bool rtHandler::init(audioSetup setup)
}
if (info.nativeFormats & RTAUDIO_FLOAT32) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::Float);
outFormat.setSampleSize(32);
#else
outFormat.setSampleFormat(QAudioFormat::Float);
#endif
sampleFormat = RTAUDIO_FLOAT32;
}
else if (info.nativeFormats & RTAUDIO_SINT32) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(32);
#else
outFormat.setSampleFormat(QAudioFormat::Int32);
#endif
sampleFormat = RTAUDIO_SINT32;
}
else if (info.nativeFormats & RTAUDIO_SINT16) {
#if QT_VERSION < 0x060000
outFormat.setSampleType(QAudioFormat::SignedInt);
outFormat.setSampleSize(16);
#else
outFormat.setSampleFormat(QAudioFormat::Int16);
#endif
sampleFormat = RTAUDIO_SINT16;
}
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() <<
"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
converter = new audioConverter();
@ -190,26 +219,30 @@ bool rtHandler::init(audioSetup setup)
}
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(this, SIGNAL(sendToConverter(audioPacket)), converter, SLOT(convert(audioPacket)));
converterThread->start(QThread::TimeCriticalPriority);
// 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
try {
#endif
if (setup.isinput) {
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)));
}
else {
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)));
}
audio->startStream();
@ -271,8 +304,11 @@ int rtHandler::readData(void* outputBuffer, void* inputBuffer,
{
Q_UNUSED(inputBuffer);
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;
if (arrayBuffer.length() >= nBytes) {
if (audioMutex.tryLock(0)) {
@ -308,7 +344,11 @@ int rtHandler::writeData(void* outputBuffer, void* inputBuffer,
packet.sent = 0;
packet.volume = volume;
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);
if (status == RTAUDIO_INPUT_OVERFLOW) {
isUnderrun = true;
@ -332,7 +372,11 @@ void rtHandler::convertedOutput(audioPacket packet)
arrayBuffer.append(packet.data);
audioMutex.unlock();
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);
}
@ -343,7 +387,11 @@ void rtHandler::convertedInput(audioPacket packet)
if (packet.data.size() > 0) {
emit haveAudioData(packet);
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);
}
}

Wyświetl plik

@ -62,7 +62,7 @@ signals:
void sendLatency(quint16 newSize);
void haveAudioData(const audioPacket& data);
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);
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) {
qInfo() << "Clicked on " << row << "," << col;
#if QT_VERSION < 0x060000
if (ui->table->item(row, col)->backgroundColor() != Qt::darkGreen) {
#else
if (ui->table->item(row, col)->background() != Qt::darkGreen) {
#endif
ui->table->selectRow(row);
emit selectedRadio(row);
this->setVisible(false);

Wyświetl plik

@ -64,6 +64,11 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, const QString s
setupPlots();
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();
setTuningSteps(); // TODO: Combine into preferences
@ -1268,7 +1273,11 @@ void wfmain::setupKeyShortcuts()
connect(keyM, SIGNAL(activated()), this, SLOT(shortcutM()));
keyDebug = new QShortcut(this);
#if QT_VERSION < 0x060000
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()));
}
@ -1617,7 +1626,7 @@ void wfmain::loadSettings()
rigTemp->baudRate = prefs.serialPortBaud;
rigTemp->civAddr = prefs.radioCIVAddr;
rigTemp->serialPort = prefs.serialPortBaud;
rigTemp->serialPort = prefs.serialPortRadio;
QString guid = settings->value("GUID", "").toString();
if (guid.isEmpty()) {
@ -1775,7 +1784,11 @@ void wfmain::on_serverRXAudioInputCombo_currentIndexChanged(int value)
{
if (prefs.audioSystem == qtAudio) {
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>();
#endif
}
else {
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) {
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>();
#endif
}
else {
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) {
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>();
#endif
}
else {
rxSetup.portInt = ui->audioOutputCombo->itemData(value).toInt();
@ -4714,7 +4736,11 @@ void wfmain::on_audioInputCombo_currentIndexChanged(int value)
if (prefs.audioSystem == qtAudio) {
QVariant v = ui->audioInputCombo->itemData(value);
#if QT_VERSION >= 0x060000
txSetup.port = v.value<QAudioDevice>();
#else
txSetup.port = v.value<QAudioDeviceInfo>();
#endif
}
else {
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;
}
void wfmain::on_audioSampleRateCombo_currentIndexChanged(QString text)
void wfmain::on_audioSampleRateCombo_currentIndexChanged(int value)
{
//udpPrefs.audioRXSampleRate = text.toInt();
//udpPrefs.audioTXSampleRate = text.toInt();
rxSetup.sampleRate=text.toInt();
txSetup.sampleRate=text.toInt();
rxSetup.sampleRate= ui->audioSampleRateCombo->itemText(value).toInt();
txSetup.sampleRate= ui->audioSampleRateCombo->itemText(value).toInt();
}
void wfmain::on_audioRXCodecCombo_currentIndexChanged(int value)
@ -5231,7 +5255,7 @@ void wfmain::on_tuneLockChk_clicked(bool checked)
freqLock = checked;
}
void wfmain::on_serialDeviceListCombo_activated(const QString &arg1)
void wfmain::on_serialDeviceListCombo_textActivated(const QString &arg1)
{
QString manualPort;
bool ok;
@ -5890,6 +5914,7 @@ void wfmain::setAudioDevicesUI()
case qtAudio:
{
Pa_Terminate();
#if QT_VERSION < 0x060000
const auto audioInputs = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
for (const QAudioDeviceInfo& deviceInfo : audioInputs) {
#ifdef Q_OS_WIN
@ -5915,6 +5940,23 @@ void wfmain::setAudioDevicesUI()
}
#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;
}
case portAudio:

Wyświetl plik

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

138
wfmain.ui
Wyświetl plik

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

Wyświetl plik

@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
@ -9,6 +13,10 @@
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}</ProjectGuid>
@ -16,7 +24,8 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<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" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
@ -27,6 +36,15 @@
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>wfserver</PrimaryOutput>
</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">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-debug\</OutputDirectory>
@ -36,16 +54,77 @@
<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>
<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 Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</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">
<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)'=='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'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -59,12 +138,14 @@
<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>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<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>
@ -87,7 +168,79 @@
<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>
<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'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\rtaudio;..\portaudio\include;..\opus\include;..\eigen;..\r8brain-free-src;resampler;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -105,7 +258,8 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<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>
@ -126,7 +280,75 @@
<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>
<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>
<ClCompile Include="..\rtaudio\RTAudio.cpp" />
<ClCompile Include="audioconverter.cpp" />
@ -155,217 +377,73 @@
<ClInclude Include="..\rtaudio\RTAUdio.h" />
<ClInclude Include="resampler\arch.h" />
<QtMoc Include="audioconverter.h">
</QtMoc>
<QtMoc Include="audiohandler.h">
</QtMoc>
<ClInclude Include="audiotaper.h" />
<QtMoc Include="commhandler.h">
</QtMoc>
<ClInclude Include="freqmemory.h" />
<QtMoc Include="keyboard.h">
</QtMoc>
<ClInclude Include="logcategories.h" />
<ClInclude Include="packettypes.h" />
<QtMoc Include="pahandler.h">
</QtMoc>
<QtMoc Include="pttyhandler.h">
</QtMoc>
<ClInclude Include="repeaterattributes.h" />
<ClInclude Include="resampler\resample_sse.h" />
<QtMoc Include="rigcommander.h">
</QtMoc>
<QtMoc Include="rigctld.h">
</QtMoc>
<ClInclude Include="rigidentities.h" />
<QtMoc Include="rthandler.h">
</QtMoc>
<QtMoc Include="servermain.h">
</QtMoc>
<ClInclude Include="resampler\speex_resampler.h" />
<QtMoc Include="tcpserver.h">
</QtMoc>
<QtMoc Include="udpaudio.h">
</QtMoc>
<ClInclude Include="udpbase.h" />
<QtMoc Include="udpcivdata.h">
</QtMoc>
<QtMoc Include="udphandler.h">
</QtMoc>
<QtMoc Include="udpserver.h">
</QtMoc>
<ClInclude Include="ulaw.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<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 -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|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 Include="release\moc_predefs.h.cbt">
<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 -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|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>
</ItemGroup>
<ItemGroup>
<None Include="qdarkstyle\rc\Hmovetoolbar.png" />
@ -398,30 +476,20 @@
<None Include="qdarkstyle\rc\radio_unchecked_disabled.png" />
<None Include="qdarkstyle\rc\radio_unchecked_focus.png" />
<QtRcc Include="resources\resources.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName></QtRcc>
<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>
<None Include="qdarkstyle\rc\right_arrow.png" />
<None Include="qdarkstyle\rc\right_arrow_disabled.png" />
<None Include="qdarkstyle\rc\sizegrip.png" />
<QtRcc Include="qdarkstyle\style.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">style</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">style</InitFuncName></QtRcc>
<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>
<None Include="qdarkstyle\style.qss" />
<None Include="qdarkstyle\rc\stylesheet-branch-end.png" />
<None Include="qdarkstyle\rc\stylesheet-branch-more.png" />
@ -435,6 +503,9 @@
<ItemGroup>
<ResourceCompile Include=".\wfserver_resource.rc" />
</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" />
</Project>

Wyświetl plik

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

Wyświetl plik

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

Wyświetl plik

@ -15,11 +15,11 @@ DEFINES += WFVIEW_VERSION=\\\"1.4\\\"
DEFINES += BUILD_WFVIEW
CONFIG(debug, release|debug) {
# For Debug builds only:
QMAKE_CXXFLAGS += -faligned-new
win32:DESTDIR = wfview-release
win32:LIBS += -L../portaudio/msvc/Win32/Debug/ -lportaudio_x86 -lole32
} else {
# For Release builds only:
linux:QMAKE_CXXFLAGS += -s
@ -28,9 +28,9 @@ CONFIG(debug, release|debug) {
QMAKE_CXXFLAGS += -faligned-new
linux:QMAKE_LFLAGS += -O2 -s
win32:DESTDIR = wfview-debug
win32:LIBS += -L../portaudio/msvc/Win32/Release/ -lportaudio_x86 -lole32
}
# RTAudio defines
win32:DEFINES += __WINDOWS_WASAPI__
#win32:DEFINES += __WINDOWS_DS__ # Requires DirectSound libraries
@ -131,11 +131,15 @@ CONFIG(debug, release|debug) {
contains(QMAKE_TARGET.arch, x86_64) {
LIBS += -L../opus/win32/VS2015/x64/Debug/
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 {
LIBS += -L../opus/win32/VS2015/win32/Debug/
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 {
@ -145,11 +149,15 @@ CONFIG(debug, release|debug) {
contains(QMAKE_TARGET.arch, x86_64) {
LIBS += -L../opus/win32/VS2015/x64/Release/
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 {
LIBS += -L../opus/win32/VS2015/win32/Release/
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
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.ActiveCfg = Debug|Win32
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x86.ActiveCfg = Debug|Win32
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x86.Build.0 = Debug|Win32
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.ActiveCfg = Release|Win32
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.ActiveCfg = Release|Win32
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.Build.0 = Release|Win32
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x86.ActiveCfg = Debug|Win32
{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
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.ActiveCfg = Debug|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|x64.Build.0 = Debug|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.ActiveCfg = Release|x64
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.Build.0 = Release|x64
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x64.ActiveCfg = Debug|x64
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Debug|x64.Build.0 = Debug|x64
{00E054F8-A1D4-3ECA-A8D6-DFC8A68AFD56}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Wyświetl plik

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
@ -16,9 +16,10 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<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" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
@ -27,7 +28,7 @@
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>wfview</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>wfview-debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
@ -36,40 +37,74 @@
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>wfview</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>
<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 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')" />
</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')" />
</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>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<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>
<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>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>release\</ObjectFileName>
<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>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Release\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Release\opus.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>
<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>..\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>
<DataExecutionPrevention>true</DataExecutionPrevention>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
@ -85,30 +120,59 @@
<WarningLevel>0</WarningLevel>
</Midl>
<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>
<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>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<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>
<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>
<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>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>debug\</ObjectFileName>
<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>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard_C>stdc17</LanguageStandard_C>
</ClCompile>
<Link>
<AdditionalDependencies>..\portaudio\msvc\Win32\Debug\portaudio_x86.lib;..\opus\win32\VS2015\Win32\Debug\opus.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>
<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>..\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>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -124,9 +188,33 @@
<WarningLevel>0</WarningLevel>
</Midl>
<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>
<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>
<ClCompile Include="..\rtaudio\RTAudio.cpp" />
<ClCompile Include="aboutbox.cpp" />
@ -140,7 +228,6 @@
<ClCompile Include="meter.cpp" />
<ClCompile Include="pahandler.cpp" />
<ClCompile Include="pttyhandler.cpp" />
<ClCompile Include="..\qcustomplot\qcustomplot.cpp" />
<ClCompile Include="qledlabel.cpp" />
<ClCompile Include="repeatersetup.cpp" />
<ClCompile Include="resampler\resample.c" />
@ -162,399 +249,93 @@
<ItemGroup>
<ClInclude Include="..\rtaudio\RTAUdio.h" />
<QtMoc Include="aboutbox.h">
</QtMoc>
<ClInclude Include="resampler\arch.h" />
<QtMoc Include="audioconverter.h">
</QtMoc>
<QtMoc Include="audiohandler.h">
</QtMoc>
<ClInclude Include="audiotaper.h" />
<QtMoc Include="calibrationwindow.h">
</QtMoc>
<QtMoc Include="commhandler.h">
</QtMoc>
<ClInclude Include="freqmemory.h" />
<ClInclude Include="logcategories.h" />
<QtMoc Include="meter.h">
</QtMoc>
<ClInclude Include="packettypes.h" />
<QtMoc Include="pahandler.h">
</QtMoc>
<QtMoc Include="pttyhandler.h">
</QtMoc>
<QtMoc Include="..\qcustomplot\qcustomplot.h">
</QtMoc>
<QtMoc Include="qledlabel.h">
</QtMoc>
<ClInclude Include="repeaterattributes.h" />
<QtMoc Include="repeatersetup.h">
</QtMoc>
<ClInclude Include="resampler\resample_sse.h" />
<QtMoc Include="rigcommander.h">
</QtMoc>
<QtMoc Include="rigctld.h">
</QtMoc>
<ClInclude Include="rigidentities.h" />
<QtMoc Include="rthandler.h">
</QtMoc>
<QtMoc Include="satellitesetup.h">
</QtMoc>
<QtMoc Include="selectradio.h">
</QtMoc>
<ClInclude Include="resampler\speex_resampler.h" />
<QtMoc Include="tcpserver.h">
</QtMoc>
<QtMoc Include="transceiveradjustments.h">
</QtMoc>
<QtMoc Include="udpaudio.h">
</QtMoc>
<ClInclude Include="udpbase.h" />
<QtMoc Include="udpcivdata.h">
</QtMoc>
<QtMoc Include="udphandler.h">
</QtMoc>
<QtMoc Include="udpserver.h">
</QtMoc>
<ClInclude Include="ulaw.h" />
<QtMoc Include="wfmain.h">
</QtMoc>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(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>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">debug\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<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|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(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>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<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|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<QtUic Include="aboutbox.ui">
</QtUic>
<QtUic Include="calibrationwindow.ui">
</QtUic>
<QtUic Include="repeatersetup.ui">
</QtUic>
<QtUic Include="satellitesetup.ui">
</QtUic>
<QtUic Include="selectradio.ui">
</QtUic>
<QtUic Include="transceiveradjustments.ui">
</QtUic>
<QtUic Include="wfmain.ui">
</QtUic>
</ItemGroup>
<ItemGroup>
@ -588,30 +369,16 @@
<None Include="qdarkstyle\rc\radio_unchecked_disabled.png" />
<None Include="qdarkstyle\rc\radio_unchecked_focus.png" />
<QtRcc Include="resources\resources.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">resources</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName></QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">resources</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">resources</InitFuncName>
</QtRcc>
<None Include="qdarkstyle\rc\right_arrow.png" />
<None Include="qdarkstyle\rc\right_arrow_disabled.png" />
<None Include="qdarkstyle\rc\sizegrip.png" />
<QtRcc Include="qdarkstyle\style.qrc">
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">style</InitFuncName><InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">style</InitFuncName></QtRcc>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">style</InitFuncName>
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">style</InitFuncName>
</QtRcc>
<None Include="qdarkstyle\style.qss" />
<None Include="qdarkstyle\rc\stylesheet-branch-end.png" />
<None Include="qdarkstyle\rc\stylesheet-branch-more.png" />
@ -625,6 +392,9 @@
<ItemGroup>
<ResourceCompile Include=".\wfview_resource.rc" />
</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" />
</Project>

Wyświetl plik

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

Wyświetl plik

@ -3,13 +3,39 @@
<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>
</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'">
<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'">
<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'">
<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 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>
</Project>

Wyświetl plik

@ -1,6 +1,6 @@
#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
FILEVERSION 0,0,0,0
@ -11,9 +11,9 @@ VS_VERSION_INFO VERSIONINFO
#else
FILEFLAGS 0x0L
#endif
FILEOS VOS__WINDOWS32
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE 0x0L
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
@ -26,6 +26,9 @@ VS_VERSION_INFO VERSIONINFO
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"