kopia lustrzana https://gitlab.com/eliggett/wfview
Merge settings branch
rodzic
b1ef680dbf
commit
ff6d0a6a65
119
CHANGELOG
119
CHANGELOG
|
@ -1,5 +1,124 @@
|
|||
# CHANGELOG
|
||||
|
||||
|
||||
- 20211201
|
||||
|
||||
Another "minor" update for RX only rigs
|
||||
|
||||
Disable certain TX commands for RX only rigs
|
||||
|
||||
- 20211222
|
||||
|
||||
Add mutex within rigState to protect access
|
||||
|
||||
- 20211119
|
||||
|
||||
Add more version info
|
||||
|
||||
Add --version command line argument and WFVIEW_VERSION #define
|
||||
|
||||
- 20211118
|
||||
|
||||
A little less green in our gray.
|
||||
|
||||
Added size rules for audio source combo boxes.
|
||||
|
||||
Fix silly bug in retransmit code
|
||||
|
||||
Remove some extra logging from audio
|
||||
|
||||
- 20211115
|
||||
|
||||
Add mutex for incoming audio on udp and server
|
||||
|
||||
Force PA to use 48K Sample Rate if default is 44.1K
|
||||
|
||||
Try using slot for audio again
|
||||
|
||||
- 20211110
|
||||
|
||||
Server only tries mutex lock for 10ms before giving up.
|
||||
|
||||
Check number of samples in opus packet before attempting decode
|
||||
|
||||
- 20211109
|
||||
|
||||
Small changes to audio handler
|
||||
|
||||
- 20211107
|
||||
|
||||
Add SSE2 enhancements to resampler
|
||||
|
||||
Update audiohandler.h
|
||||
|
||||
Enable SSE or NEON enhancements for resampler
|
||||
|
||||
Fix resample ratio for input and output (hopefully!)
|
||||
|
||||
Create resampleRatio
|
||||
|
||||
Close PA stream after stopping it!
|
||||
|
||||
Fix Linux rtaudio build
|
||||
|
||||
Pulled out some debug code that isn't needed.
|
||||
|
||||
Fixed manual rig ID issue with uninitialized variable.
|
||||
|
||||
- 20211106
|
||||
|
||||
Added override allowing the user-specified CI-V address to also be used
|
||||
as the Rig ID (model). This is useful for older radios that do not reply
|
||||
to Rig ID queries. For radios using the default CI-V address, it should
|
||||
"just work".
|
||||
|
||||
Added PTT "snooping" to the commHandler, such that radios needing RTS
|
||||
set for PTT will work. Includes replying to PTT queries with the RTS
|
||||
status. There is currently no UI to manually select radios that need
|
||||
RTS.
|
||||
|
||||
deleted a lingering swapfile from one of my vim sessions
|
||||
|
||||
- 20211105
|
||||
|
||||
Added RTS PTT support commHandler and rigCommander. RTS is only sent
|
||||
from rigCommander at this time, the pty is not parsed.
|
||||
|
||||
Added geometry constraints to the transceiver adjustments window, and
|
||||
disable controls which do not function except for debug builds.
|
||||
|
||||
|
||||
Changed IF/TPBF commands to be "unique priority" inserts. Added "more"
|
||||
button for extended transceiver controls.
|
||||
|
||||
Added an IF Shift-like control for radios with Twin PBF.
|
||||
|
||||
Added support for IF Shift and Twin Pass-Band Filters. Currently
|
||||
accessable only via the debug button.
|
||||
|
||||
- 20211104
|
||||
Added IC-736 FM mode
|
||||
|
||||
Added code to force IC-736 to rigID
|
||||
|
||||
- 20211101
|
||||
|
||||
Use QT Audio by default
|
||||
|
||||
remove unneeded audio signal handler
|
||||
|
||||
Add portaudio support
|
||||
|
||||
Make switching between audio apis easier (and tidy .pro file)
|
||||
|
||||
Use buffered audio for Linux (was just Mac only)
|
||||
|
||||
Adjust buffer size depending on latency setting
|
||||
|
||||
- 20211031
|
||||
|
||||
Stuff audio buffer directly rather than signal/slot
|
||||
|
||||
- 20211022
|
||||
|
||||
Don't block until audio buffer has space
|
||||
|
|
9
WHATSNEW
9
WHATSNEW
|
@ -10,10 +10,13 @@ The following highlights are in this 1.x-release:
|
|||
rigctl basic split support
|
||||
rigctl prevents switching off civ transceive
|
||||
added 25 kHz step
|
||||
|
||||
as a temporary measure sending multiple TX/FREQ change commands to the rig
|
||||
when we use rigctld.
|
||||
|
||||
people should use "fake it" in wsjtx as the split code is not reliable.
|
||||
|
||||
tidied up udp server function for better reliability
|
||||
added some IC736 stuff
|
||||
added portaudio (you need t change wfview.pro to select
|
||||
and that lowers the latency to maybe less than 50 ms
|
||||
added PBT and IF-shift
|
||||
several bugs fixed
|
||||
RTS as PTT for several radios like the 706/718/736…
|
||||
|
|
10
aboutbox.cpp
10
aboutbox.cpp
|
@ -19,10 +19,16 @@ aboutbox::aboutbox(QWidget *parent) :
|
|||
QString nacode = QString("<br/><br/>Networking, audio, rigctl server, and much more written by Phil Taylor, M0VSE");
|
||||
QString doctest = QString("<br/><br/>Testing, documentation, bug fixes, and development mentorship from<br/>Roeland Jansen, PA3MET, and Jim Nijkamp, PA8E.");
|
||||
|
||||
|
||||
#if defined(Q_OS_LINUX)
|
||||
QString ssCredit = QString("<br/><br/>Stylesheet <a href=\"https://github.com/ColinDuquesnoy/QDarkStyleSheet/tree/master/qdarkstyle\" style=\"color: cyan;\">qdarkstyle</a> used under MIT license, stored in /usr/share/wfview/stylesheets/.");
|
||||
#else
|
||||
QString ssCredit = QString("<br/><br/>Stylesheet <a href=\"https://github.com/ColinDuquesnoy/QDarkStyleSheet/tree/master/qdarkstyle\" style=\"color: cyan;\">qdarkstyle</a> used under MIT license.");
|
||||
#endif
|
||||
|
||||
QString website = QString("<br/><br/>Please visit <a href=\"https://wfview.org/\" style=\"color: cyan;\">https://wfview.org/</a> for the latest information.");
|
||||
|
||||
QString donate = QString("<br/><br/>Join us on <a href=\"https://www.patreon.com/wfview\">Patreon</a> for a behind-the-scenes look at wfview development, nightly builds, and to support the software you love.");
|
||||
|
||||
QString docs = QString("<br/><br/>Be sure to check the <a href=\"https://wfview.org/wfview-user-manual/\" style=\"color: cyan;\">User Manual</a> and <a href=\"https://forum.wfview.org/\" style=\"color: cyan;\">the Forum</a> if you have any questions.");
|
||||
QString support = QString("<br/><br/>For support, please visit <a href=\"https://forum.wfview.org/\">the official wfview support forum</a>.");
|
||||
QString gitcodelink = QString("<a href=\"https://gitlab.com/eliggett/wfview/-/tree/%1\" style=\"color: cyan;\">").arg(GITSHORT);
|
||||
|
@ -78,7 +84,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.");
|
|||
// String it all together:
|
||||
|
||||
QString aboutText = head + copyright + "\n" + nacode + "\n" + doctest + wfviewcommunityack;
|
||||
aboutText.append(website + "\n"+ docs + support + contact +"\n");
|
||||
aboutText.append(website + "\n" + donate + "\n"+ docs + support + contact +"\n");
|
||||
aboutText.append("\n" + ssCredit + "\n" + rsCredit + "\n");
|
||||
|
||||
#if defined(RTAUDIO)
|
||||
|
|
800
rigcommander.cpp
800
rigcommander.cpp
Plik diff jest za duży
Load Diff
110
rigcommander.h
110
rigcommander.h
|
@ -2,10 +2,10 @@
|
|||
#define RIGCOMMANDER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMutex>
|
||||
#include <QMutexLocker>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
#include "commhandler.h"
|
||||
#include "pttyhandler.h"
|
||||
#include "udphandler.h"
|
||||
|
@ -13,6 +13,8 @@
|
|||
#include "repeaterattributes.h"
|
||||
#include "freqmemory.h"
|
||||
|
||||
#include "rigstate.h"
|
||||
|
||||
// This file figures out what to send to the comm and also
|
||||
// parses returns into useful things.
|
||||
|
||||
|
@ -61,78 +63,6 @@ struct timekind {
|
|||
bool isMinus;
|
||||
};
|
||||
|
||||
struct rigStateStruct {
|
||||
QMutex *mutex;
|
||||
freqt vfoAFreq;
|
||||
freqt vfoBFreq;
|
||||
unsigned char currentVfo;
|
||||
bool ptt;
|
||||
unsigned char mode;
|
||||
unsigned char filter;
|
||||
duplexMode duplex;
|
||||
bool datamode;
|
||||
unsigned char antenna;
|
||||
bool rxAntenna;
|
||||
// Tones
|
||||
quint16 ctcss;
|
||||
quint16 tsql;
|
||||
quint16 dtcs;
|
||||
quint16 csql;
|
||||
// Levels
|
||||
unsigned char preamp;
|
||||
unsigned char attenuator;
|
||||
unsigned char modInput;
|
||||
unsigned char afGain;
|
||||
unsigned char rfGain;
|
||||
unsigned char squelch;
|
||||
unsigned char txPower;
|
||||
unsigned char micGain;
|
||||
unsigned char compLevel;
|
||||
unsigned char monitorLevel;
|
||||
unsigned char voxGain;
|
||||
unsigned char antiVoxGain;
|
||||
// Meters
|
||||
unsigned char sMeter;
|
||||
unsigned char powerMeter;
|
||||
unsigned char swrMeter;
|
||||
unsigned char alcMeter;
|
||||
unsigned char compMeter;
|
||||
unsigned char voltageMeter;
|
||||
unsigned char currentMeter;
|
||||
// Functions
|
||||
bool fagcFunc=false;
|
||||
bool nbFunc=false;
|
||||
bool compFunc=false;
|
||||
bool voxFunc = false;
|
||||
bool toneFunc = false;
|
||||
bool tsqlFunc = false;
|
||||
bool sbkinFunc = false;
|
||||
bool fbkinFunc = false;
|
||||
bool anfFunc = false;
|
||||
bool nrFunc = false;
|
||||
bool aipFunc = false;
|
||||
bool apfFunc = false;
|
||||
bool monFunc = false;
|
||||
bool mnFunc = false;
|
||||
bool rfFunc = false;
|
||||
bool aroFunc = false;
|
||||
bool muteFunc = false;
|
||||
bool vscFunc = false;
|
||||
bool revFunc = false;
|
||||
bool sqlFunc = false;
|
||||
bool abmFunc = false;
|
||||
bool bcFunc = false;
|
||||
bool mbcFunc = false;
|
||||
bool ritFunc = false;
|
||||
bool afcFunc = false;
|
||||
bool satmodeFunc = false;
|
||||
bool scopeFunc = false;
|
||||
bool resumeFunc = false;
|
||||
bool tburstFunc = false;
|
||||
bool tunerFunc = false;
|
||||
bool lockFunc = false;
|
||||
};
|
||||
|
||||
class rigCommander : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -148,6 +78,8 @@ public slots:
|
|||
void commSetup(unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate,QString vsp);
|
||||
void commSetup(unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp);
|
||||
void closeComm();
|
||||
void stateUpdated();
|
||||
void setRTSforPTT(bool enabled);
|
||||
|
||||
// Power:
|
||||
void powerOn();
|
||||
|
@ -199,6 +131,26 @@ public slots:
|
|||
void setAttenuator(unsigned char att);
|
||||
void setPreamp(unsigned char pre);
|
||||
void setAntenna(unsigned char ant, bool rx);
|
||||
void setNb(bool enabled);
|
||||
void getNb();
|
||||
void setNr(bool enabled);
|
||||
void getNr();
|
||||
void setAutoNotch(bool enabled);
|
||||
void getAutoNotch();
|
||||
void setToneEnabled(bool enabled);
|
||||
void getToneEnabled();
|
||||
void setToneSql(bool enabled);
|
||||
void getToneSql();
|
||||
void setCompressor(bool enabled);
|
||||
void getCompressor();
|
||||
void setMonitor(bool enabled);
|
||||
void getMonitor();
|
||||
void setVox(bool enabled);
|
||||
void getVox();
|
||||
void setBreakIn(unsigned char type);
|
||||
void getBreakIn();
|
||||
void setManualNotch(bool enabled);
|
||||
void getManualNotch();
|
||||
|
||||
// Repeater:
|
||||
void setDuplexMode(duplexMode dm);
|
||||
|
@ -233,6 +185,8 @@ public slots:
|
|||
void getACCGain(unsigned char ab);
|
||||
void getModInput(bool dataOn);
|
||||
void getModInputLevel(rigInput input);
|
||||
void getAfMute();
|
||||
void getDialLock();
|
||||
|
||||
// Set Levels:
|
||||
void setSquelch(unsigned char level);
|
||||
|
@ -253,6 +207,8 @@ public slots:
|
|||
void setAntiVoxGain(unsigned char gain);
|
||||
void setModInput(rigInput input, bool dataOn);
|
||||
void setModInputLevel(rigInput input, unsigned char level);
|
||||
void setAfMute(bool muteOn);
|
||||
void setDialLock(bool lockOn);
|
||||
|
||||
// NB, NR, IP+:
|
||||
void setIPP(bool enabled);
|
||||
|
@ -406,7 +362,7 @@ signals:
|
|||
void haveAntenna(unsigned char ant,bool rx);
|
||||
|
||||
// Rig State
|
||||
void stateInfo(rigStateStruct* state);
|
||||
void stateInfo(rigstate* state);
|
||||
|
||||
// Housekeeping:
|
||||
void getMoreDebug();
|
||||
|
@ -480,7 +436,7 @@ private:
|
|||
|
||||
struct rigCapabilities rigCaps;
|
||||
|
||||
rigStateStruct rigState;
|
||||
rigstate state;
|
||||
|
||||
bool haveRigCaps;
|
||||
model_kind model;
|
||||
|
@ -497,6 +453,9 @@ private:
|
|||
unsigned char civAddr;
|
||||
unsigned char incomingCIVAddr; // place to store the incoming CIV.
|
||||
bool pttAllowed;
|
||||
bool useRTSforPTT_isSet = false;
|
||||
bool useRTSforPTT_manual = false;
|
||||
|
||||
|
||||
QString rigSerialPort;
|
||||
quint32 rigBaudRate;
|
||||
|
@ -509,6 +468,7 @@ private:
|
|||
QString password;
|
||||
|
||||
QString serialPortError;
|
||||
unsigned char localVolume=0;
|
||||
|
||||
|
||||
};
|
||||
|
|
589
rigctld.cpp
589
rigctld.cpp
Plik diff jest za duży
Load Diff
13
rigctld.h
13
rigctld.h
|
@ -19,6 +19,7 @@
|
|||
#include <typeindex>
|
||||
|
||||
#include "rigcommander.h"
|
||||
#include "rigstate.h"
|
||||
|
||||
#define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT))
|
||||
|
||||
|
@ -343,7 +344,7 @@ signals:
|
|||
void setVFO(unsigned char vfo);
|
||||
void setSplit(unsigned char split);
|
||||
void setDuplexMode(duplexMode dm);
|
||||
|
||||
void stateUpdated();
|
||||
// Power
|
||||
void sendPowerOn();
|
||||
void sendPowerOff();
|
||||
|
@ -368,11 +369,11 @@ signals:
|
|||
public slots:
|
||||
virtual void incomingConnection(qintptr socketDescriptor);
|
||||
void receiveRigCaps(rigCapabilities caps);
|
||||
void receiveStateInfo(rigStateStruct* state);
|
||||
void receiveStateInfo(rigstate* state);
|
||||
// void receiveFrequency(freqt freq);
|
||||
|
||||
private:
|
||||
rigStateStruct* rigState = Q_NULLPTR;
|
||||
rigstate* rigState = Q_NULLPTR;
|
||||
};
|
||||
|
||||
|
||||
|
@ -382,7 +383,7 @@ class rigCtlClient : public QObject
|
|||
|
||||
public:
|
||||
|
||||
explicit rigCtlClient(int socket, rigCapabilities caps, rigStateStruct *state, rigCtlD* parent = Q_NULLPTR);
|
||||
explicit rigCtlClient(int socket, rigCapabilities caps, rigstate *state, rigCtlD* parent = Q_NULLPTR);
|
||||
int getSocketId();
|
||||
|
||||
|
||||
|
@ -399,8 +400,9 @@ protected:
|
|||
|
||||
private:
|
||||
rigCapabilities rigCaps;
|
||||
rigStateStruct* rigState = Q_NULLPTR;
|
||||
rigstate* rigState = Q_NULLPTR;
|
||||
rigCtlD* parent;
|
||||
bool chkVfoEecuted=false;
|
||||
QString getMode(unsigned char mode, bool datamode);
|
||||
unsigned char getMode(QString modeString);
|
||||
QString getFilter(unsigned char mode, unsigned char filter);
|
||||
|
@ -408,6 +410,7 @@ private:
|
|||
unsigned char getAntennas();
|
||||
quint64 getRadioModes();
|
||||
QString getAntName(unsigned char ant);
|
||||
unsigned char antFromName(QString name);
|
||||
int getCalibratedValue(unsigned char meter,cal_table_t cal);
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
#ifndef RIGSTATEH
|
||||
#define RIGSTATEH
|
||||
|
||||
#include <QObject>
|
||||
#include <QMutex>
|
||||
#include <QDateTime>
|
||||
#include <QVariant>
|
||||
#include <QMap>
|
||||
#include <QCache>
|
||||
|
||||
#include "rigcommander.h"
|
||||
#include "rigidentities.h"
|
||||
|
||||
// Meters at the end as they are ALWAYS updated from the rig!
|
||||
enum stateTypes { VFOAFREQ, VFOBFREQ, CURRENTVFO, PTT, MODE, FILTER, DUPLEX, DATAMODE, ANTENNA, RXANTENNA, CTCSS, TSQL, DTCS, CSQL,
|
||||
PREAMP, AGC, ATTENUATOR, MODINPUT, AFGAIN, RFGAIN, SQUELCH, TXPOWER, MICGAIN, COMPLEVEL, MONITORLEVEL, VOXGAIN, ANTIVOXGAIN,
|
||||
FAGCFUNC, NBFUNC, COMPFUNC, VOXFUNC, TONEFUNC, TSQLFUNC, SBKINFUNC, FBKINFUNC, ANFFUNC, NRFUNC, AIPFUNC, APFFUNC, MONFUNC, MNFUNC,RFFUNC,
|
||||
AROFUNC, MUTEFUNC, VSCFUNC, REVFUNC, SQLFUNC, ABMFUNC, BCFUNC, MBCFUNC, RITFUNC, AFCFUNC, SATMODEFUNC, SCOPEFUNC,
|
||||
NBLEVEL, NBDEPTH, NBWIDTH, NRLEVEL, RIGINPUT, POWERONOFF, RITVALUE,
|
||||
RESUMEFUNC, TBURSTFUNC, TUNERFUNC, LOCKFUNC, SMETER, POWERMETER, SWRMETER, ALCMETER, COMPMETER, VOLTAGEMETER, CURRENTMETER
|
||||
};
|
||||
|
||||
struct value {
|
||||
quint64 _value=0;
|
||||
bool _valid = false;
|
||||
bool _updated = false;
|
||||
QDateTime _dateUpdated;
|
||||
};
|
||||
|
||||
class rigstate
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
void invalidate(stateTypes s) { map[s]._valid = false; }
|
||||
bool isValid(stateTypes s) { return map[s]._valid; }
|
||||
bool isUpdated(stateTypes s) { return map[s]._updated; }
|
||||
QDateTime whenUpdated(stateTypes s) { return map[s]._dateUpdated; }
|
||||
|
||||
void set(stateTypes s, quint64 x, bool u) {
|
||||
if (x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
void set(stateTypes s, qint32 x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
void set(stateTypes s, quint16 x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
void set(stateTypes s, quint8 x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
void set(stateTypes s, bool x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
void set(stateTypes s, duplexMode x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
void set(stateTypes s, rigInput x, bool u) {
|
||||
if ((quint64)x != map[s]._value) {
|
||||
_mutex.lock();
|
||||
map[s]._value = (quint64)x;
|
||||
map[s]._valid = true;
|
||||
map[s]._updated = u;
|
||||
map[s]._dateUpdated = QDateTime::currentDateTime();
|
||||
_mutex.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
bool getBool(stateTypes s) { return map[s]._value != 0; }
|
||||
quint8 getChar(stateTypes s) { return (quint8)map[s]._value; }
|
||||
quint16 getInt16(stateTypes s) { return (qint16)map[s]._value; }
|
||||
qint32 getInt32(stateTypes s) { return (qint32)map[s]._value; }
|
||||
quint64 getInt64(stateTypes s) { return map[s]._value; }
|
||||
duplexMode getDuplex(stateTypes s) { return(duplexMode)map[s]._value; }
|
||||
rigInput getInput(stateTypes s) { return(rigInput)map[s]._value; }
|
||||
QMap<stateTypes, value> map;
|
||||
|
||||
|
||||
private:
|
||||
//std::map<stateTypes, std::unique_ptr<valueBase> > values;
|
||||
QMutex _mutex;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -96,6 +96,8 @@ udpServer::~udpServer()
|
|||
udpAudio->close();
|
||||
delete udpAudio;
|
||||
}
|
||||
emit haveNetworkStatus(QString(""));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
23
udpserver.h
23
udpserver.h
|
@ -19,7 +19,6 @@
|
|||
|
||||
#include <QDebug>
|
||||
|
||||
#include <udpserversetup.h>
|
||||
#include "packettypes.h"
|
||||
#include "rigidentities.h"
|
||||
#include "audiohandler.h"
|
||||
|
@ -34,6 +33,28 @@ struct SEQBUFENTRY {
|
|||
quint8 retransmitCount;
|
||||
};
|
||||
|
||||
|
||||
struct SERVERUSER {
|
||||
QString username;
|
||||
QString password;
|
||||
quint8 userType;
|
||||
};
|
||||
|
||||
struct SERVERCONFIG {
|
||||
bool enabled;
|
||||
bool lan;
|
||||
quint16 controlPort;
|
||||
quint16 civPort;
|
||||
quint16 audioPort;
|
||||
int audioOutput;
|
||||
int audioInput;
|
||||
quint8 resampleQuality;
|
||||
quint32 baudRate;
|
||||
|
||||
QList <SERVERUSER> users;
|
||||
};
|
||||
|
||||
|
||||
class udpServer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
|
@ -1,127 +0,0 @@
|
|||
#include "udpserversetup.h"
|
||||
#include "ui_udpserversetup.h"
|
||||
#include "logcategories.h"
|
||||
|
||||
extern void passcode(QString in,QByteArray& out);
|
||||
|
||||
udpServerSetup::udpServerSetup(QWidget* parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::udpServerSetup)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
addUserLine("", "", 0); // Create a blank row if we never receive config.
|
||||
|
||||
// Get any stored config information from the main form.
|
||||
SERVERCONFIG config;
|
||||
emit serverConfig(config,false); // Just send blank server config.
|
||||
}
|
||||
|
||||
udpServerSetup::~udpServerSetup()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
// Slot to receive config.
|
||||
void udpServerSetup::receiveServerConfig(SERVERCONFIG conf)
|
||||
{
|
||||
qInfo() << "Getting server config";
|
||||
|
||||
ui->enableCheckbox->setChecked(conf.enabled);
|
||||
ui->controlPortText->setText(QString::number(conf.controlPort));
|
||||
ui->civPortText->setText(QString::number(conf.civPort));
|
||||
ui->audioPortText->setText(QString::number(conf.audioPort));
|
||||
|
||||
int row = 0;
|
||||
|
||||
for (int i = 0; i < ui->usersTable->rowCount(); i++)
|
||||
{
|
||||
ui->usersTable->removeRow(i);
|
||||
}
|
||||
|
||||
foreach (SERVERUSER user, conf.users)
|
||||
{
|
||||
if (user.username != "" && user.password != "")
|
||||
{
|
||||
addUserLine(user.username, user.password, user.userType);
|
||||
row++;
|
||||
}
|
||||
}
|
||||
|
||||
if (row == 0) {
|
||||
addUserLine("", "", 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void udpServerSetup::accept()
|
||||
{
|
||||
qInfo() << "Server config stored";
|
||||
SERVERCONFIG config;
|
||||
config.enabled = ui->enableCheckbox->isChecked();
|
||||
config.controlPort = ui->controlPortText->text().toInt();
|
||||
config.civPort = ui->civPortText->text().toInt();
|
||||
config.audioPort = ui->audioPortText->text().toInt();
|
||||
|
||||
config.users.clear();
|
||||
|
||||
for (int row = 0; row < ui->usersTable->model()->rowCount(); row++)
|
||||
{
|
||||
if (ui->usersTable->item(row, 0) != NULL)
|
||||
{
|
||||
SERVERUSER user;
|
||||
user.username = ui->usersTable->item(row, 0)->text();
|
||||
QLineEdit* password = (QLineEdit*)ui->usersTable->cellWidget(row, 1);
|
||||
user.password = password->text();
|
||||
QComboBox* comboBox = (QComboBox*)ui->usersTable->cellWidget(row, 2);
|
||||
user.userType = comboBox->currentIndex();
|
||||
config.users.append(user);
|
||||
|
||||
}
|
||||
else {
|
||||
ui->usersTable->removeRow(row);
|
||||
}
|
||||
}
|
||||
|
||||
emit serverConfig(config,true);
|
||||
this->hide();
|
||||
}
|
||||
|
||||
|
||||
void udpServerSetup::on_usersTable_cellClicked(int row, int col)
|
||||
{
|
||||
qInfo() << "Clicked on " << row << "," << col;
|
||||
if (row == ui->usersTable->model()->rowCount() - 1 && ui->usersTable->item(row, 0) != NULL) {
|
||||
addUserLine("", "", 0);
|
||||
}
|
||||
}
|
||||
|
||||
void udpServerSetup::onPasswordChanged()
|
||||
{
|
||||
int row = sender()->property("row").toInt();
|
||||
QLineEdit* password = (QLineEdit*)ui->usersTable->cellWidget(row, 1);
|
||||
QByteArray pass;
|
||||
passcode(password->text(), pass);
|
||||
password->setText(pass);
|
||||
qInfo() << "password row" << row << "changed";
|
||||
}
|
||||
|
||||
void udpServerSetup::addUserLine(const QString& user, const QString& pass, const int& type)
|
||||
{
|
||||
ui->usersTable->insertRow(ui->usersTable->rowCount());
|
||||
ui->usersTable->setItem(ui->usersTable->rowCount() - 1, 0, new QTableWidgetItem(user));
|
||||
ui->usersTable->setItem(ui->usersTable->rowCount() - 1, 1, new QTableWidgetItem());
|
||||
ui->usersTable->setItem(ui->usersTable->rowCount() - 1, 2, new QTableWidgetItem());
|
||||
|
||||
QLineEdit* password = new QLineEdit();
|
||||
password->setProperty("row", (int)ui->usersTable->rowCount() - 1);
|
||||
password->setEchoMode(QLineEdit::PasswordEchoOnEdit);
|
||||
password->setText(pass);
|
||||
connect(password, SIGNAL(editingFinished()), this, SLOT(onPasswordChanged()));
|
||||
ui->usersTable->setCellWidget(ui->usersTable->rowCount() - 1, 1, password);
|
||||
|
||||
QComboBox* comboBox = new QComboBox();
|
||||
comboBox->insertItems(0, { "Full User","Full with no TX","Monitor only" });
|
||||
comboBox->setCurrentIndex(type);
|
||||
ui->usersTable->setCellWidget(ui->usersTable->rowCount() - 1, 2, comboBox);
|
||||
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
#ifndef UDPSERVERSETUP_H
|
||||
#define UDPSERVERSETUP_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QComboBox>
|
||||
#include <QList>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
struct SERVERUSER {
|
||||
QString username;
|
||||
QString password;
|
||||
quint8 userType;
|
||||
};
|
||||
|
||||
struct SERVERCONFIG {
|
||||
bool enabled;
|
||||
bool lan;
|
||||
quint16 controlPort;
|
||||
quint16 civPort;
|
||||
quint16 audioPort;
|
||||
int audioOutput;
|
||||
int audioInput;
|
||||
quint8 resampleQuality;
|
||||
quint32 baudRate;
|
||||
|
||||
QList <SERVERUSER> users;
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class udpServerSetup;
|
||||
}
|
||||
|
||||
class udpServerSetup : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit udpServerSetup(QWidget* parent = 0);
|
||||
~udpServerSetup();
|
||||
|
||||
private slots:
|
||||
void on_usersTable_cellClicked(int row, int col);
|
||||
void onPasswordChanged();
|
||||
|
||||
public slots:
|
||||
void receiveServerConfig(SERVERCONFIG conf);
|
||||
|
||||
signals:
|
||||
void serverConfig(SERVERCONFIG conf, bool store);
|
||||
|
||||
private:
|
||||
Ui::udpServerSetup* ui;
|
||||
void accept();
|
||||
QList<QComboBox*> userTypes;
|
||||
void addUserLine(const QString &user, const QString &pass, const int &type);
|
||||
};
|
||||
|
||||
#endif // UDPSERVER_H
|
|
@ -152,7 +152,6 @@ SOURCES += main.cpp\
|
|||
audiohandler.cpp \
|
||||
calibrationwindow.cpp \
|
||||
satellitesetup.cpp \
|
||||
udpserversetup.cpp \
|
||||
udpserver.cpp \
|
||||
meter.cpp \
|
||||
qledlabel.cpp \
|
||||
|
@ -174,7 +173,6 @@ HEADERS += wfmain.h \
|
|||
audiohandler.h \
|
||||
calibrationwindow.h \
|
||||
satellitesetup.h \
|
||||
udpserversetup.h \
|
||||
udpserver.h \
|
||||
packettypes.h \
|
||||
meter.h \
|
||||
|
|
27
wfview.sln
27
wfview.sln
|
@ -7,33 +7,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wfview", "wfview.vcxproj",
|
|||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
Template|Win32 = Template|Win32
|
||||
Template|x64 = Template|x64
|
||||
Template|x86 = Template|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Debug|Win32.Build.0 = Debug|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}.Debug|x86.ActiveCfg = Debug|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|Win32.Build.0 = Release|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.ActiveCfg = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x64.Build.0 = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.ActiveCfg = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|Win32.ActiveCfg = Debug|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|Win32.Build.0 = Debug|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|x64.ActiveCfg = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|x64.Build.0 = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|x86.ActiveCfg = Release|x64
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Template|x86.Build.0 = Release|x64
|
||||
{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|x86.ActiveCfg = Release|Win32
|
||||
{326108AD-FA9D-3AAF-8D3E-062C4DDC34E2}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
377
wfview.vcxproj
377
wfview.vcxproj
|
@ -16,7 +16,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>
|
||||
|
@ -36,7 +37,10 @@
|
|||
<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">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
|
@ -44,11 +48,37 @@
|
|||
<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>debug\</OutDir><IntDir>debug\</IntDir><TargetName>wfview</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><OutDir>release\</OutDir><IntDir>release\</IntDir><TargetName>wfview</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"><QtInstall>msvc2019</QtInstall><QtModules>core;network;gui;multimedia;widgets;serialport;printsupport</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup>
|
||||
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
|
||||
<Import Project="$(QtMsBuild)\qt_defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>debug\</OutDir>
|
||||
<IntDir>debug\</IntDir>
|
||||
<TargetName>wfview</TargetName>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>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'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.;..\qcustomplot;..\opus\include;resampler;rtaudio;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;..\qcustomplot;..\opus\include;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>
|
||||
|
@ -57,14 +87,16 @@
|
|||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>release\</ObjectFileName>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX="/usr/local";__WINDOWS_WASAPI__;GITSHORT="66912e1";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2d";QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX="/usr/local";GITSHORT="62771f6";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>..\opus\win32\VS2015\Win32\Release\opus.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\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>
|
||||
|
@ -85,12 +117,31 @@
|
|||
<WarningLevel>0</WarningLevel>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX=\"/usr/local\";__WINDOWS_WASAPI__;GITSHORT=\"66912e1\";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;WFVIEW_VERSION="1.2d";QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX=\"/usr/local\";GITSHORT=\"62771f6\";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>
|
||||
<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'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.;..\qcustomplot;..\opus\include;resampler;rtaudio;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;..\qcustomplot;..\opus\include;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>
|
||||
|
@ -99,13 +150,14 @@
|
|||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>debug\</ObjectFileName>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX="/usr/local";__WINDOWS_WASAPI__;GITSHORT="66912e1";HOST="wfview.org";UNAME="build";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WFVIEW_VERSION="1.2d";QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX="/usr/local";GITSHORT="62771f6";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>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>..\opus\win32\VS2015\Win32\Debug\opus.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\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>
|
||||
|
@ -124,9 +176,28 @@
|
|||
<WarningLevel>0</WarningLevel>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX=\"/usr/local\";__WINDOWS_WASAPI__;GITSHORT=\"66912e1\";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;WFVIEW_VERSION="1.2d";QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;USE_SSE;USE_SSE2;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;PREFIX=\"/usr/local\";GITSHORT=\"62771f6\";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>
|
||||
<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="aboutbox.cpp" />
|
||||
<ClCompile Include="audiohandler.cpp" />
|
||||
|
@ -154,198 +225,53 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="aboutbox.h">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtMoc>
|
||||
<ClInclude Include="resampler\arch.h" />
|
||||
<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="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" />
|
||||
<ClInclude Include="rigstate.h" />
|
||||
<ClInclude Include="ring\ring.h" />
|
||||
<QtMoc Include="satellitesetup.h">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtMoc>
|
||||
<ClInclude Include="resampler\speex_resampler.h" />
|
||||
<QtMoc Include="transceiveradjustments.h">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtMoc>
|
||||
<QtMoc Include="udphandler.h">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtMoc>
|
||||
<QtMoc Include="udpserver.h">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtMoc>
|
||||
<QtMoc Include="udpserversetup.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>
|
||||
|
@ -362,119 +288,21 @@
|
|||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">release\moc_predefs.h;%(Outputs)</Outputs>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">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="transceiveradjustments.ui">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtUic>
|
||||
<QtUic Include="udpserversetup.ui">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtUic>
|
||||
<QtUic Include="wfmain.ui">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</QtUic>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@ -508,30 +336,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|Win32'">resources</InitFuncName>
|
||||
<InitFuncName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">resources</InitFuncName>
|
||||
</QtRcc>
|
||||
<None Include="qdarkstyle\rc\right_arrow.png" />
|
||||
<None Include="qdarkstyle\rc\right_arrow_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)'=='Debug|Win32'">style</InitFuncName>
|
||||
</QtRcc>
|
||||
<None Include="qdarkstyle\style.qss" />
|
||||
<None Include="qdarkstyle\rc\stylesheet-branch-end.png" />
|
||||
<None Include="qdarkstyle\rc\stylesheet-branch-more.png" />
|
||||
|
@ -550,6 +364,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>
|
|
@ -120,9 +120,6 @@
|
|||
<ClCompile Include="udpserver.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="udpserversetup.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wfmain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -203,9 +200,6 @@
|
|||
<QtMoc Include="udpserver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="udpserversetup.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<ClInclude Include="ulaw.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
@ -260,8 +254,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<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)'=='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 Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<QtLastBackgroundBuild>2021-11-22T18:24:33.3752914Z</QtLastBackgroundBuild>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<QtLastBackgroundBuild>2021-11-22T18:24:41.6960953Z</QtLastBackgroundBuild>
|
||||
</PropertyGroup>
|
||||
</Project>
|
Ładowanie…
Reference in New Issue