WSJT-X/main.cpp
Joe Taylor 61f023ddd1 Most of these changes are thanks to G4WJS. Audio I/O is now done using
Qt's built-in QAudio calls rather than PortAudio.  Also includes some
refactoring of the arrangement for these calls, and more use of C++ style.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3523 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-05 13:57:55 +00:00

57 lines
1.4 KiB
C++

#ifdef QT5
#include <QtWidgets>
#else
#include <QtGui>
#endif
#include <QApplication>
#include "mainwindow.h"
// Multiple instances:
QSharedMemory mem_jt9;
QUuid my_uuid;
QString my_key;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFile f("fonts.txt");
qint32 fontSize,fontWeight,fontSize2,fontWeight2; // Defaults 8 50 10 50
fontSize2=10;
fontWeight2=50;
if(f.open(QIODevice::ReadOnly)) {
QTextStream in(&f);
in >> fontSize >> fontWeight >> fontSize2 >> fontWeight2;
f.close();
QFont font=a.font();
if(fontSize!=8) font.setPointSize(fontSize);
font.setWeight(fontWeight); //Set the GUI fonts
a.setFont(font);
}
// Create and initialize shared memory segment
// Multiple instances: generate shared memory keys with UUID
my_uuid = QUuid::createUuid();
my_key = my_uuid.toString();
mem_jt9.setKey(my_key);
if(!mem_jt9.attach()) {
if (!mem_jt9.create(sizeof(jt9com_))) {
QMessageBox::critical( 0, "Error", "Unable to create shared memory segment.");
exit(1);
}
}
char *to = (char*)mem_jt9.data();
int size=sizeof(jt9com_);
if(jt9com_.newdat==0) {
}
memset(to,0,size); //Zero all decoding params in shared memory
// Multiple instances: Call MainWindow() with the UUID key
MainWindow w(&mem_jt9, &my_key, fontSize2, fontWeight2);
w.show();
return a.exec();
}