Commit Graph

47 Commits

Author SHA1 Message Date
Bill Somerville
e602def8b1 Qt 5 Audio replaces PortAudio.
Currently only Qt5 or above is known to work with this code. It may be
possible to backport it to Qt4 if required.

Audio output goes back to a separate thread to try and minimize
stutters in streaming on Windows particularly.

A crash on Linux due to mishandling of stereo audio output has been
fixed and both left and right channels are now correctly synthesised
with identical contents.

Rigs are enumerated directly from hamlib API rather than running a sub
process reading output of rigctl -l. This was initially done to get
rid of some GUI thread blocking in the configuration dialog, but is
generally a better way of doing it anyway.

Some refactoring in MainWindow to accomodate the audio streaming,
modulation and detecting classes.

Exit handling for application refactored to use signals rather than
brute force event loop exit. This was required to get correct thread
shutdown semantics.

The GUI update timer is now stopped during application shutdown which
is necessary to stop crashes when shutting down gracefully with
signals and window close() calls.

There is an outstanding issue with Linux audio streams; the QAudio
Input/Output classes create a new stream name each time a stream is
started. This doesn't play well with PulseAudio utilities such as
pavucontrol to set stream volume as settings are lost every tx
period. I have tried to keep a single stream for all output but there
are problems restarting it that haven't been resolved yet.

The QtCreator project file has been rearranged a little because it
passes all the object files to the linker rather than using an archive
library. Since the GNU linker is single pass; the object files need to
be in a logical order with definitions appearing afer references to
them. This was required to avoid a linking error.

The lib/Makefile.linux has been enhanced to use the fortran compiler
to locate the correct version of the Fortran library to use. This is
necessary on the latest Linux distros because the unversioned symlink
to compiler support libraries is no longer provided. This only an
issue with mixed programming language links where the linker driver
for one language has to link support libraraies for another language.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3532 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-07 23:09:13 +00:00
Joe Taylor
7d7c765f5b Bump the Version number to 1.2.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3525 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-05 15:22:59 +00:00
Joe Taylor
87ad45188f 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
Joe Taylor
fb0b9dacfb Change Makefile.MinGW to use my qt5.0.2 paths. Yours may be different!
The old Makefile.MinGW has been renamed Makefile.MinGW.qt4.
Be sure to check settings in lines 13-19 of wsjtx.pro.

Soon to come: Permanent changeover from PortAudio to QAudio ?



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3521 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-02 19:52:25 +00:00
Joe Taylor
c89dd1dfa9 Build under Qt4, the Qt5 distribution of r3519 was broken.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3520 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-02 14:52:44 +00:00
Joe Taylor
4ad8294620 Default compile should use Portaudio, not QAudio.
New link to User's Guide for v1.1.1.
Portaudio.h should not be in SVN.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3515 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-31 18:13:40 +00:00
Joe Taylor
91aa943fcb 1. Finish implementing a monochrome waterfall palette.
2. Update credits displayed in the "About" window.
3. Working on audio input via the QAudio library.  Not yet finished!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3513 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-31 15:46:28 +00:00
Murray Curtis
99256a6da5 First version of DXCC entity and worked B4 status
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3512 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-31 11:29:42 +00:00
Joe Taylor
3d9f96ea6b Minor code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3511 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-31 00:03:26 +00:00
Joe Taylor
0a7adf9b44 1. Fix a longstanding (and evidently latent) bug in widegraph.cpp.
2. Add basic proof-of-concept code that uses QAudioInput instead of
PortAudio for sound input.  By default, this test code is not active,
and it compiles using PortAudio.  To compile using QAudio, uncomment
the line

#DEFINES += QAUDIO_INPUT

in wsjtx.pro.  Note that device selection in the QAudio code is presently
hard-wired to use the default input device.  You can change this 
choice on line 267 in soundin.cpp.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3510 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-30 20:36:14 +00:00
Joe Taylor
3fcb73b107 1. Refactoring of code so as to move audio input from a separate thread to
the main GUI thread (thanks to G4WJS).

2.. Also, for the record, some example code for using QAudioInput instead 
of PortAudio.  This code is not presently active, and will need to be 
changed to accommodate the changes in #1, above.  But the basic ideas 
are here...


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3509 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-30 00:51:42 +00:00
Joe Taylor
44e55a8a1c Have now switched (permanently, I hope) to Qt5.
Minor correction in plotter.cpp.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3506 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-26 18:39:24 +00:00
Joe Taylor
18f1119b1a Adjustable start frequency for waterfall.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3502 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-25 16:48:10 +00:00
Edson W. R. Pereira
94b80c4b0d Added new meter widget.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3489 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-16 21:16:57 +00:00
Joe Taylor
8fb483a200 Merging code for v1.1 back into the main wsjtx branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3462 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-08 13:17:22 +00:00
Joe Taylor
c4e6f89b0b This code now compiles OK in either Qt4 or Qt5. To run in Qt5 we'll need
a Qt5-compatible "thermo" widget.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3310 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-23 20:21:47 +00:00
Joe Taylor
67a99ccbc4 Working toward compiling WSJT-X under Qt5. It doesn't work, yet.
The present code is still OK in Qt 4.x.  For Qt5, must replace 
#include <QtGui> by #include <QtWidgets> in several places, and 
uncomment these lines

//#include <QtConcurrent/QtConcurrentMap>
//#include <QtConcurrent/QtConcurrentRun>

in mainwindow.cpp.  More work still to do, for Qt5!



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3309 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-23 19:35:37 +00:00
Joe Taylor
3ead1e4d9e Silence two more compiler warnings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3307 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-23 17:11:10 +00:00
Joe Taylor
08fb25a57c First attempt at interface to Ham Radio Deluxe (HRD).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3288 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-21 19:49:41 +00:00
Joe Taylor
c1995c44ff Save and restore geometry of the "LogQSO" dialog.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3238 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-28 18:58:03 +00:00
Edson W. R. Pereira
5c7a80565b Corrected GUI layout resizing issues on Linux.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3237 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-28 14:47:45 +00:00
Joe Taylor
22dad6327a Write dial frequency and JT9 submode to all.txt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3232 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-27 13:11:29 +00:00
Joe Taylor
137f3becbb Update wsjtx.pro for compiling with hamlib calls on linux.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3201 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-23 13:55:08 +00:00
Joe Taylor
24f7952819 Once again, working to implement direct calls to basic hamlib functiions.
*** This code is not finished, and may not work correctly! ***


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3200 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-23 00:52:51 +00:00
Joe Taylor
8feedd22a2 Removed the bi-directional CAT control: an unsuccessful experiment.
Removed an unhelpful change to decoder().


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3193 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-17 14:53:58 +00:00
Edson W. R. Pereira
588d329454 Added class for PSK Reporter. Still need to wire class to mainwindow.cpp
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3182 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-16 19:22:53 +00:00
Joe Taylor
950a782003 Larger entry fields on Tab 2 (for linux).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3179 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-16 16:50:18 +00:00
Joe Taylor
57d8bb4fd9 Starting to implement direct calls to hamlib functions, rather than
using rigctl in a separate process.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3170 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-15 00:28:27 +00:00
Edson W. R. Pereira
d734aca363 Added PSK_Reporter cpp and header file skeletons
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3169 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-14 15:09:35 +00:00
Edson W. R. Pereira
eefb14473a Adjusted the code to make it compile and run under Linux.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3074 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-03-23 15:35:32 +00:00
Joe Taylor
e1abaadfc3 Starrting to implement a confirmation dialog for LogQSL.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3067 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-03-21 17:22:32 +00:00
Joe Taylor
922226de7a Starting to implement uploading to PSKReporter.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3042 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-03-10 02:45:12 +00:00
Joe Taylor
f715ea6347 Now working with decoding done in a separate process, jt9.exe.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2756 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-21 17:42:53 +00:00
Joe Taylor
793053e9aa Working on the occasional crashes (threading bug?) and on larger DT
for use on the EME path.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2747 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-18 14:02:50 +00:00
Joe Taylor
05322bb4f2 Correct UTC on waterfall for slow modes.
Tweak some GUI widget placements.
Send stderr to file wsjtx.log.
Fix formatting of std message with "R -7", etc., to "R-7".
Introduce calls to "timer".
Remove console.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2727 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-14 15:30:21 +00:00
Joe Taylor
95dd3a6803 Put the console back in, for now.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2726 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-14 02:57:57 +00:00
Joe Taylor
26bba5d24d Remove "save" statements. They were not needed, and (possibly) led to
program crashes.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2725 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-14 01:19:13 +00:00
Joe Taylor
15edace930 Add control of decoding "depth".
Improve the way pctile gets an estimate of array median.
Put info for mettab() into a data statement.
Attempt decoding near all freqs that give sync >= 1.0
Remove killbyname


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2707 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-31 18:33:56 +00:00
Joe Taylor
05c3dadc99 Remove m_DF and associated code.
Disable some presently un-implemented controls.
Begin implemnting "Save Synced" and "Save Decoded".
Set compilation to CONSOLE mode.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2706 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-30 16:49:24 +00:00
Joe Taylor
411c9422e7 Decoded text now appears in main window. However, ... the next decode
request fails.  Then 3rd one is OK, 4th fails, etc., etc.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2669 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-16 23:32:15 +00:00
Joe Taylor
465a3c630e More decoder progress.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2665 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-15 19:55:48 +00:00
Joe Taylor
30c1266614 First successful decode from within WSJT-X.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2664 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-15 19:18:45 +00:00
Joe Taylor
a67d17316f Rename library directory
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2635 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-03 14:31:43 +00:00
Joe Taylor
bd118b3101 Remove stuff not used in WSJT-X.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2634 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-03 14:17:08 +00:00
Joe Taylor
5ee333a0e9 Upper waterfall's frequency scale now (more or less) correct.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2600 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-09-26 17:39:43 +00:00
Joe Taylor
0a10cd1276 Progress on symspecx and timf2x, etc.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2597 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-09-25 20:26:12 +00:00
Joe Taylor
5f924c305a Initial changes from JTMS3 to WSJTX.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2593 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-09-24 15:20:48 +00:00