WSJT-X/logqso.h

65 lines
1.6 KiB
C
Raw Normal View History

// -*- Mode: C++ -*-
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
#ifndef LogQSO_H
#define LogQSO_H
#ifdef QT5
#include <QtWidgets>
#else
#include <QtGui>
#endif
#include <QScopedPointer>
Send status information to UDP server To facilitate interaction with other applications WSJT-X now sends status updates to a predefined UDP server or multicast group address. The status updates include the information currently posted to the decodes.txt and wsjtx_status.txt files. An optional back communications channel is also implemented allowing the UDP server application to control some basic actions in WSJT-X. A reference implementaion of a typical UDP server written in C++ using Qt is provided to demonstrate these facilities. This application is not intended as a user tool but only as an example of how a third party application may interact with WSJT-X. The UDP messages Use QDataStream based serialization. Messages are documented in NetworkMessage.hpp along with some helper classes that simplify the building and decoding of messages. Two message handling classes are introduced, MessageClient and MessageServer. WSJT-X uses the MessageClient class to manage outgoing and incoming UDP messages that allow communication with other applications. The MessageServer class implements the kind of code that a potential cooperating application might use. Although these classes use Qt serialization facilities, the message formats are easily read and written by applications that do not use the Qt framework. MessageAggregator is a demonstration application that uses MessageServer and presents a GUI that displays messages from one or more WSJT-X instances and allows sending back a CQ or QRZ reply invocation by double clicking a decode. This application is not intended as a user facing tool but rather as a demonstration of the WSJT-X UDP messaging facility. It also demonstrates being a multicast UDP server by allowing multiple instances to run concurrently. This is enabled by using an appropriate multicast group address as the server address. Cooperating applications need not implement multicast techniques but it is recomended otherwise only a single appliaction can act as a broadcast message (from WSJT-X) recipient. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-04-15 16:40:49 +00:00
#include "Radio.hpp"
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
namespace Ui {
class LogQSO;
}
class QSettings;
Merged from trunk (r8085 thru r8170 inc.): ------------------------------------------------------------------------ r8085 | k9an | 2017-09-13 01:46:16 +0100 (Wed, 13 Sep 2017) | 1 line Open up DT range to +/- 2.5 s for testing. ------------------------------------------------------------------------ r8086 | bsomervi | 2017-09-16 11:12:38 +0100 (Sat, 16 Sep 2017) | 1 line Do not allow window manager events to close the astronomical data window ------------------------------------------------------------------------ r8087 | bsomervi | 2017-09-16 21:27:05 +0100 (Sat, 16 Sep 2017) | 4 lines Fix regression in ADIF parser that caused failure with missing header Improved robustness of the ADIF parser and re-factored to more idiomatic C++. ------------------------------------------------------------------------ r8088 | bsomervi | 2017-09-16 21:27:13 +0100 (Sat, 16 Sep 2017) | 1 line Update band limits as per ADIF 3.0.6 specification ------------------------------------------------------------------------ r8089 | bsomervi | 2017-09-16 21:27:20 +0100 (Sat, 16 Sep 2017) | 1 line Use a single definition of band limits (Bands class) ------------------------------------------------------------------------ r8090 | bsomervi | 2017-09-16 21:27:33 +0100 (Sat, 16 Sep 2017) | 5 lines Add button to the decoded text window context menu to erase the contents Right-click either decoded text window to erase its contents. The "Erase" button on the main UI still operates as before although it is implemented differently now. ------------------------------------------------------------------------ r8091 | bsomervi | 2017-09-16 23:20:51 +0100 (Sat, 16 Sep 2017) | 1 line Correct the actions taken when clearing decodes windows ------------------------------------------------------------------------ r8092 | bsomervi | 2017-09-16 23:20:59 +0100 (Sat, 16 Sep 2017) | 8 lines Restore functionality of sending .WAV playback decodes to UDP Extended the Decode and WSPRDecode UDP messages with an "off air" boolean field indicating the decode was derived from a .WAV fle playback rather than an on air reception. Extended reference applications to use the new off air decode message field. ------------------------------------------------------------------------ r8093 | k9an | 2017-09-17 16:34:32 +0100 (Sun, 17 Sep 2017) | 1 line Experimental tweak to FT8 decoder. Try a second symbol metric if the first one fails - currently configured to use max-amplitude and max-log. ------------------------------------------------------------------------ r8094 | k9an | 2017-09-17 21:43:30 +0100 (Sun, 17 Sep 2017) | 1 line Restore the use of max-amplitude for ap passes. ------------------------------------------------------------------------ r8095 | k1jt | 2017-09-18 16:42:14 +0100 (Mon, 18 Sep 2017) | 2 lines Allow specialized use of "x2 Tone Spacing" in FT8 mode. ------------------------------------------------------------------------ r8096 | k1jt | 2017-09-18 16:47:29 +0100 (Mon, 18 Sep 2017) | 2 lines Allow X2 tone spacing also in JT9 (slow) modes. ------------------------------------------------------------------------ r8097 | k1jt | 2017-09-18 21:42:18 +0100 (Mon, 18 Sep 2017) | 2 lines Change CRLF line endings to *nix style. ------------------------------------------------------------------------ r8098 | k1jt | 2017-09-19 17:04:10 +0100 (Tue, 19 Sep 2017) | 2 lines Add a missing step to description of the Frequency Calibration procedure. ------------------------------------------------------------------------ r8099 | k1jt | 2017-09-20 17:31:04 +0100 (Wed, 20 Sep 2017) | 1 line Insert a link to FT8_Operating_Tips.pdf. ------------------------------------------------------------------------ r8100 | k1jt | 2017-09-20 20:11:04 +0100 (Wed, 20 Sep 2017) | 3 lines As an experiment, move "NA VHF Contest Mode" checkbox to main screen and query operator if d>10000 km. ------------------------------------------------------------------------ r8101 | k1jt | 2017-09-20 20:19:47 +0100 (Wed, 20 Sep 2017) | 2 lines Correct a tool-tip typo. ------------------------------------------------------------------------ r8102 | bsomervi | 2017-09-22 13:31:01 +0100 (Fri, 22 Sep 2017) | 1 line UI tweaks to improve portability between platforms and font size changes ------------------------------------------------------------------------ r8103 | bsomervi | 2017-09-22 16:36:24 +0100 (Fri, 22 Sep 2017) | 5 lines Extend UDP Reply message with keyboard modifiers This allows UDP servers to emulate keyboard modified double-clicks on decoded messages, E.g. ALT+double-click for replying to a CQ or QRZ call without changing ones Tx frequency offset. ------------------------------------------------------------------------ r8104 | bsomervi | 2017-09-22 16:49:42 +0100 (Fri, 22 Sep 2017) | 1 line Updated AD1C cty.dat file (21st Sept 2017) ------------------------------------------------------------------------ r8105 | k1jt | 2017-09-22 18:38:51 +0100 (Fri, 22 Sep 2017) | 2 lines Another attempt at eliminating confusion when NA VHF Contest Mode is in use. ------------------------------------------------------------------------ r8106 | k9an | 2017-09-22 21:36:52 +0100 (Fri, 22 Sep 2017) | 1 line Make sure that fastGrph is properly initialized. ------------------------------------------------------------------------ r8107 | bsomervi | 2017-09-22 23:08:41 +0100 (Fri, 22 Sep 2017) | 1 line Improve performance of the UDP reference application message_aggregator ------------------------------------------------------------------------ r8108 | bsomervi | 2017-09-22 23:08:49 +0100 (Fri, 22 Sep 2017) | 1 line Fix a regression in processing incoming Reply UDP messages ------------------------------------------------------------------------ r8109 | bsomervi | 2017-09-22 23:08:56 +0100 (Fri, 22 Sep 2017) | 4 lines Better handling of worked before and country name display Appended text is added at a fixed column unless the message overlaps in which case the appended information floats to thr right. ------------------------------------------------------------------------ r8110 | bsomervi | 2017-09-22 23:09:04 +0100 (Fri, 22 Sep 2017) | 4 lines Restore printing of MSK144 decode quality information Now that a way of dealing with worked before and country information without losing this information has been found. ------------------------------------------------------------------------ r8111 | bsomervi | 2017-09-22 23:09:11 +0100 (Fri, 22 Sep 2017) | 5 lines Fix an issue with truncated free text messages being generated This is an edge case when working a call like RI9F/GM4WJS where it is not possible to confirm receipt of the full compound callsign in a Tx5 73 message as "RI9F/GM4WJS 73" is 14 characters. ------------------------------------------------------------------------ r8112 | bsomervi | 2017-09-23 19:09:29 +0100 (Sat, 23 Sep 2017) | 1 line Tidy up some ugly code ------------------------------------------------------------------------ r8113 | bsomervi | 2017-09-23 19:09:37 +0100 (Sat, 23 Sep 2017) | 1 line Clean up some main window UI layout ------------------------------------------------------------------------ r8114 | k9an | 2017-09-23 20:39:42 +0100 (Sat, 23 Sep 2017) | 1 line Comment out some diagnostic writes. ------------------------------------------------------------------------ r8115 | k9an | 2017-09-23 20:56:45 +0100 (Sat, 23 Sep 2017) | 1 line Add some text for section 13.3 of the User Guide. ------------------------------------------------------------------------ r8116 | k9an | 2017-09-23 21:01:31 +0100 (Sat, 23 Sep 2017) | 1 line Minor change to new_features.adoc. ------------------------------------------------------------------------ r8117 | bsomervi | 2017-09-23 23:02:24 +0100 (Sat, 23 Sep 2017) | 1 line Minor additions to MSK144 phase eq docs ------------------------------------------------------------------------ r8118 | k9an | 2017-09-23 23:32:06 +0100 (Sat, 23 Sep 2017) | 1 line Fix up Table 2 caption. ------------------------------------------------------------------------ r8119 | bsomervi | 2017-09-24 22:14:10 +0100 (Sun, 24 Sep 2017) | 1 line Fix issues processing free text 73 messages ------------------------------------------------------------------------ r8120 | k1jt | 2017-09-25 18:02:52 +0100 (Mon, 25 Sep 2017) | 3 lines First tests of "RR73 NOW ..." and "NIL NOW ..." (i3bit=1, 2) messages in FT8. DO NOT USE THIS FEATURE ON THE AIR! ------------------------------------------------------------------------ r8121 | k1jt | 2017-09-25 20:21:25 +0100 (Mon, 25 Sep 2017) | 2 lines Make bDXped a member variable, default to false. ------------------------------------------------------------------------ r8122 | bsomervi | 2017-09-26 00:38:19 +0100 (Tue, 26 Sep 2017) | 1 line Fix regression in handling double-clicked CQ and QRZ calls ------------------------------------------------------------------------ r8123 | bsomervi | 2017-09-26 00:38:27 +0100 (Tue, 26 Sep 2017) | 1 line Fix a regression handling compound calls in 73 messages ------------------------------------------------------------------------ r8124 | k1jt | 2017-09-27 13:26:33 +0100 (Wed, 27 Sep 2017) | 2 lines Additions to Section 13.3 of WSJT-X User Guide: "Phase Equalkization". ------------------------------------------------------------------------ r8125 | k1jt | 2017-09-27 13:39:50 +0100 (Wed, 27 Sep 2017) | 31 lines Experimental new behavior for "Lock Tx=Rx" and for clicking on waterfall and decoded text. 1. Checkbox "Lock Tx=Rx" is now labeled "Lock Tx Freq", and its meaning is quite different. If checked, the audio Tx frequency cannot be changed. It's like the "Lock" function on some transceivers. 2. Clicking on the Wide Graph waterfall and on lines of decoded text now behave as follows: Click on Action --------------------------------------------------------------------- Waterfall: Click to set Rx frequency Shift-click to set Tx frequency Ctrl-click to set Rx and Tx frequencies If Lock Tx Freq is checked, Tx freq does not move Double-click to set Rx frequency and decode there Decoded Text: Double-click to copy transmitting callsign to DX Call and locator to DX Grid; change Rx frequency to decoded signal's frequency; generate standard messages. Tx frequency is not changed unless Ctrl is held down and Lock Tx Freq not checked. If this experimental behavior is adopted, some descriptions in the User Guide and Special Mouse Commands will need to be updated. 3. Starting to implement a new function on the Tools menu, "Solve for calibration parameters". This is not yet finished; DO NOT USE in its present form. ------------------------------------------------------------------------ r8126 | k1jt | 2017-09-27 13:50:21 +0100 (Wed, 27 Sep 2017) | 2 lines Add missing routine. ------------------------------------------------------------------------ r8127 | k1jt | 2017-09-28 02:35:09 +0100 (Thu, 28 Sep 2017) | 1 line Functional 'Solve for calibration parameters' on Tools menu. ------------------------------------------------------------------------ r8128 | k1jt | 2017-09-28 13:30:52 +0100 (Thu, 28 Sep 2017) | 1 line dummy ------------------------------------------------------------------------ r8129 | k9an | 2017-09-28 16:00:57 +0100 (Thu, 28 Sep 2017) | 1 line Correct a typo in the docs. ------------------------------------------------------------------------ r8130 | k1jt | 2017-09-28 16:05:41 +0100 (Thu, 28 Sep 2017) | 1 line Minor edits in User Guide. ------------------------------------------------------------------------ r8131 | k1jt | 2017-09-28 16:09:46 +0100 (Thu, 28 Sep 2017) | 3 lines Fix two ways that Loxk Tx Freq could be circumvented; display Echo Graph automatically when Echo mode is started; clean up display of FreqCal parameters. ------------------------------------------------------------------------ r8132 | k1jt | 2017-09-28 16:46:36 +0100 (Thu, 28 Sep 2017) | 2 lines Clean up the display of "Controls" checkbox on Wide Graph. ------------------------------------------------------------------------ r8133 | k1jt | 2017-09-28 16:55:24 +0100 (Thu, 28 Sep 2017) | 2 lines Display "NIL NOW ", etc., only for test cases. ------------------------------------------------------------------------ r8134 | k1jt | 2017-09-28 20:51:04 +0100 (Thu, 28 Sep 2017) | 2 lines Add some FreqCal info to User Guide. ------------------------------------------------------------------------ r8135 | k1jt | 2017-09-29 00:34:13 +0100 (Fri, 29 Sep 2017) | 1 line Move 'Controls' checkbox a few pixels to the right. ------------------------------------------------------------------------ r8136 | bsomervi | 2017-09-29 11:46:43 +0100 (Fri, 29 Sep 2017) | 1 line Fix accidental regression in UDP Reply message handling ------------------------------------------------------------------------ r8137 | bsomervi | 2017-09-29 11:57:22 +0100 (Fri, 29 Sep 2017) | 1 line Minor clarification for the User Guide waterfall controls description ------------------------------------------------------------------------ r8138 | k1jt | 2017-09-29 14:27:55 +0100 (Fri, 29 Sep 2017) | 2 lines Minor change to make shift/ctrl double-click logic more consistent. ------------------------------------------------------------------------ r8139 | k1jt | 2017-09-29 14:47:26 +0100 (Fri, 29 Sep 2017) | 1 line Remove a diagnostic qDebug(). ------------------------------------------------------------------------ r8140 | k1jt | 2017-09-29 14:59:16 +0100 (Fri, 29 Sep 2017) | 2 lines Additional instructions for using the FreqCal procedure. ------------------------------------------------------------------------ r8141 | k1jt | 2017-09-29 17:53:28 +0100 (Fri, 29 Sep 2017) | 2 lines Many updates to User Guide, mostly to reflect changes in "click behavior". ------------------------------------------------------------------------ r8142 | k1jt | 2017-09-29 17:53:57 +0100 (Fri, 29 Sep 2017) | 1 line Update mouse_sommands.txt. ------------------------------------------------------------------------ r8143 | k1jt | 2017-09-29 17:58:05 +0100 (Fri, 29 Sep 2017) | 3 lines Previous commit message should have mentioned a fix to "stdmsg.f90" that was preventing double-click on a JT65 "OOO" message from populating message fields. ------------------------------------------------------------------------ r8144 | k1jt | 2017-09-29 18:40:30 +0100 (Fri, 29 Sep 2017) | 2 lines Add an option to enforce simplex operation (moving both Tx and Rx frequency) when double-clicking on a decoded text line. ------------------------------------------------------------------------ r8145 | k1jt | 2017-09-30 14:56:33 +0100 (Sat, 30 Sep 2017) | 1 line Fix a regression that prevented double-click on call from working as in r8123. ------------------------------------------------------------------------ r8146 | k1jt | 2017-09-30 18:48:46 +0100 (Sat, 30 Sep 2017) | 21 lines Another try at optimizing the GUI for simplex and split behavior. Details below: 1. Checkbox "Double-click on call sets Tx and Rx freqs" has been removed from the Settings -> General tab. 2. Checkbox "Lock Tx Freq" on main window is relabled "Hold Tx Freq". 3. Behavior now defaults to the "simplex" behavior in use up to code revision r8123. In particular, double-clicking on decoded mesages that do not contain your own call moves both Rx and Tx frequencies. If the first callsign is your own call, only Rx freq moves. 4. If "Hold Tx Freq" is checked, double-clicking on decoded messages moves the Rx frequency; Tx frequency is moved only if CTRL was held down. 5. Clicking on the waterfall moves Rx and Tx frequencies as before: Rx only on a simple click, Tx only on SHIFT-click, and both on CTRL-click. This happens even if "Hold Tx Freq" is checked (which is why this box is no longer labeled "Lock Tx Freq"). ------------------------------------------------------------------------ r8147 | k1jt | 2017-09-30 20:25:01 +0100 (Sat, 30 Sep 2017) | 1 line Fix behavior with double-click on 'CQ <AA-ZZ> <call> <grid>.' ------------------------------------------------------------------------ r8148 | k1jt | 2017-10-01 13:35:43 +0100 (Sun, 01 Oct 2017) | 1 line Correct an improper disabling of TxFreqSpinBox. ------------------------------------------------------------------------ r8149 | k1jt | 2017-10-01 15:03:16 +0100 (Sun, 01 Oct 2017) | 1 line Update mouse_commands.txt and tool tips. ------------------------------------------------------------------------ r8150 | k1jt | 2017-10-01 15:58:10 +0100 (Sun, 01 Oct 2017) | 1 line Update 'blank line' band ID at 4*TRperiod/5. ------------------------------------------------------------------------ r8151 | bsomervi | 2017-10-01 22:43:59 +0100 (Sun, 01 Oct 2017) | 1 line Fix an invalid iterator increment when there are no FreqCal frequencies ------------------------------------------------------------------------ r8152 | bsomervi | 2017-10-01 22:44:07 +0100 (Sun, 01 Oct 2017) | 1 line Fix cty.dat lookups that were not honouring exact match flags ------------------------------------------------------------------------ r8153 | bsomervi | 2017-10-01 22:44:15 +0100 (Sun, 01 Oct 2017) | 6 lines Add "Apply" button to calibration solution message box Make calibration solution application iterative so that calibrations can be applied sequentially if desired. Tidy up calibration solution messages boxes and make i18n friendly. ------------------------------------------------------------------------ r8154 | k1jt | 2017-10-02 14:49:37 +0100 (Mon, 02 Oct 2017) | 2 lines Update User Guide and "mouse_commands". ------------------------------------------------------------------------ r8155 | k1jt | 2017-10-02 15:15:15 +0100 (Mon, 02 Oct 2017) | 2 lines Special DXpedition messages must not have the FreeText bit set. ------------------------------------------------------------------------ r8156 | k1jt | 2017-10-02 19:27:08 +0100 (Mon, 02 Oct 2017) | 2 lines Add more on Copyright protections. ------------------------------------------------------------------------ r8157 | k1jt | 2017-10-02 19:33:17 +0100 (Mon, 02 Oct 2017) | 2 lines Update the list of keyboard shortcuts. ------------------------------------------------------------------------ r8158 | k1jt | 2017-10-02 19:35:06 +0100 (Mon, 02 Oct 2017) | 2 lines Minor edits. ------------------------------------------------------------------------ r8159 | k1jt | 2017-10-03 02:23:24 +0100 (Tue, 03 Oct 2017) | 1 line Correct a misspelling; add quote marks; push 'About' to bottom of Tools menu. ------------------------------------------------------------------------ r8160 | k1jt | 2017-10-03 16:59:47 +0100 (Tue, 03 Oct 2017) | 2 lines Add KA9Q to the copyright notice. ------------------------------------------------------------------------ r8161 | k1jt | 2017-10-04 14:14:51 +0100 (Wed, 04 Oct 2017) | 2 lines Update an image; fix a typo. ------------------------------------------------------------------------ r8162 | k1jt | 2017-10-05 19:27:34 +0100 (Thu, 05 Oct 2017) | 2 lines Fix a bug involving "firstcall contains mycall" but not equal to mycall. ------------------------------------------------------------------------ r8163 | bsomervi | 2017-10-06 17:18:17 +0100 (Fri, 06 Oct 2017) | 1 line Add an accessor method to Configuration to get the current calibration parameters ------------------------------------------------------------------------ r8164 | bsomervi | 2017-10-06 17:18:25 +0100 (Fri, 06 Oct 2017) | 5 lines Rename the fmt.all calibration measurements file after accepting a solution This allows those who want to keep their calibration measurements after finding a solution to calibrate their station. The fmt.all file used to find and accept a solution is renamed to fmt.bak. ------------------------------------------------------------------------ r8165 | k1jt | 2017-10-13 15:36:10 +0100 (Fri, 13 Oct 2017) | 2 lines Update the Tool Tip displayed for Frequency Calibration parameters. ------------------------------------------------------------------------ r8166 | bsomervi | 2017-10-13 23:34:10 +0100 (Fri, 13 Oct 2017) | 1 line Fix an issue with editing IARU regions in the working frequencies table ------------------------------------------------------------------------ r8167 | bsomervi | 2017-10-13 23:34:21 +0100 (Fri, 13 Oct 2017) | 32 lines Improved frequency calibration Measure check box added to FreqCal mode, check to record to fmt.all with current calibration correction disabled, uncheck to see the impact of the current calibration parameters. The fmt.all file is now optionally renamed to fmt.bak when a calibration solution is accepted. This allows users to preserve an fmt.all file that they might have edited for best fit. A calibration procedure might proceed thus:- 1) select FreqCal mode, 2) step through suggested calibration test frequencies deleting those that have no usable signal, 3) enable "Menu->Tools->Execute frequency calibration cycle" and check that suitable signals are present, 4) select a suitable FTol and T/R period, 5) check "Measure" and let the cycle complete a few times to gather data, 6) uncheck "Measure" to complete the data capture, optionally tidy the fmt.all file with your favourite editor, 7) push "Menu->Tools->Solve for calibration parameters" and accept if you like what you see, 8) sit back and admire your accurately frequency calibrated station. ------------------------------------------------------------------------ r8168 | bsomervi | 2017-10-13 23:34:36 +0100 (Fri, 13 Oct 2017) | 4 lines Generic handling of keyboard modifiers via UDP and double-clicks This change opens up all keyboard modifier options to UDP Reply messages as well as double-clicks of decoded messages. ------------------------------------------------------------------------ r8169 | bsomervi | 2017-10-13 23:34:48 +0100 (Fri, 13 Oct 2017) | 3 lines User guide updates for frequency calibration mode Also some instances of non-italicized WSJT-X fixed. ------------------------------------------------------------------------ r8170 | k9an | 2017-10-14 02:02:38 +0100 (Sat, 14 Oct 2017) | 1 line Don't open the false_decodes.txt file. ------------------------------------------------------------------------ git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@8171 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-14 09:09:10 +00:00
class Configuration;
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
class LogQSO : public QDialog
{
Q_OBJECT
public:
Merged from trunk (r8085 thru r8170 inc.): ------------------------------------------------------------------------ r8085 | k9an | 2017-09-13 01:46:16 +0100 (Wed, 13 Sep 2017) | 1 line Open up DT range to +/- 2.5 s for testing. ------------------------------------------------------------------------ r8086 | bsomervi | 2017-09-16 11:12:38 +0100 (Sat, 16 Sep 2017) | 1 line Do not allow window manager events to close the astronomical data window ------------------------------------------------------------------------ r8087 | bsomervi | 2017-09-16 21:27:05 +0100 (Sat, 16 Sep 2017) | 4 lines Fix regression in ADIF parser that caused failure with missing header Improved robustness of the ADIF parser and re-factored to more idiomatic C++. ------------------------------------------------------------------------ r8088 | bsomervi | 2017-09-16 21:27:13 +0100 (Sat, 16 Sep 2017) | 1 line Update band limits as per ADIF 3.0.6 specification ------------------------------------------------------------------------ r8089 | bsomervi | 2017-09-16 21:27:20 +0100 (Sat, 16 Sep 2017) | 1 line Use a single definition of band limits (Bands class) ------------------------------------------------------------------------ r8090 | bsomervi | 2017-09-16 21:27:33 +0100 (Sat, 16 Sep 2017) | 5 lines Add button to the decoded text window context menu to erase the contents Right-click either decoded text window to erase its contents. The "Erase" button on the main UI still operates as before although it is implemented differently now. ------------------------------------------------------------------------ r8091 | bsomervi | 2017-09-16 23:20:51 +0100 (Sat, 16 Sep 2017) | 1 line Correct the actions taken when clearing decodes windows ------------------------------------------------------------------------ r8092 | bsomervi | 2017-09-16 23:20:59 +0100 (Sat, 16 Sep 2017) | 8 lines Restore functionality of sending .WAV playback decodes to UDP Extended the Decode and WSPRDecode UDP messages with an "off air" boolean field indicating the decode was derived from a .WAV fle playback rather than an on air reception. Extended reference applications to use the new off air decode message field. ------------------------------------------------------------------------ r8093 | k9an | 2017-09-17 16:34:32 +0100 (Sun, 17 Sep 2017) | 1 line Experimental tweak to FT8 decoder. Try a second symbol metric if the first one fails - currently configured to use max-amplitude and max-log. ------------------------------------------------------------------------ r8094 | k9an | 2017-09-17 21:43:30 +0100 (Sun, 17 Sep 2017) | 1 line Restore the use of max-amplitude for ap passes. ------------------------------------------------------------------------ r8095 | k1jt | 2017-09-18 16:42:14 +0100 (Mon, 18 Sep 2017) | 2 lines Allow specialized use of "x2 Tone Spacing" in FT8 mode. ------------------------------------------------------------------------ r8096 | k1jt | 2017-09-18 16:47:29 +0100 (Mon, 18 Sep 2017) | 2 lines Allow X2 tone spacing also in JT9 (slow) modes. ------------------------------------------------------------------------ r8097 | k1jt | 2017-09-18 21:42:18 +0100 (Mon, 18 Sep 2017) | 2 lines Change CRLF line endings to *nix style. ------------------------------------------------------------------------ r8098 | k1jt | 2017-09-19 17:04:10 +0100 (Tue, 19 Sep 2017) | 2 lines Add a missing step to description of the Frequency Calibration procedure. ------------------------------------------------------------------------ r8099 | k1jt | 2017-09-20 17:31:04 +0100 (Wed, 20 Sep 2017) | 1 line Insert a link to FT8_Operating_Tips.pdf. ------------------------------------------------------------------------ r8100 | k1jt | 2017-09-20 20:11:04 +0100 (Wed, 20 Sep 2017) | 3 lines As an experiment, move "NA VHF Contest Mode" checkbox to main screen and query operator if d>10000 km. ------------------------------------------------------------------------ r8101 | k1jt | 2017-09-20 20:19:47 +0100 (Wed, 20 Sep 2017) | 2 lines Correct a tool-tip typo. ------------------------------------------------------------------------ r8102 | bsomervi | 2017-09-22 13:31:01 +0100 (Fri, 22 Sep 2017) | 1 line UI tweaks to improve portability between platforms and font size changes ------------------------------------------------------------------------ r8103 | bsomervi | 2017-09-22 16:36:24 +0100 (Fri, 22 Sep 2017) | 5 lines Extend UDP Reply message with keyboard modifiers This allows UDP servers to emulate keyboard modified double-clicks on decoded messages, E.g. ALT+double-click for replying to a CQ or QRZ call without changing ones Tx frequency offset. ------------------------------------------------------------------------ r8104 | bsomervi | 2017-09-22 16:49:42 +0100 (Fri, 22 Sep 2017) | 1 line Updated AD1C cty.dat file (21st Sept 2017) ------------------------------------------------------------------------ r8105 | k1jt | 2017-09-22 18:38:51 +0100 (Fri, 22 Sep 2017) | 2 lines Another attempt at eliminating confusion when NA VHF Contest Mode is in use. ------------------------------------------------------------------------ r8106 | k9an | 2017-09-22 21:36:52 +0100 (Fri, 22 Sep 2017) | 1 line Make sure that fastGrph is properly initialized. ------------------------------------------------------------------------ r8107 | bsomervi | 2017-09-22 23:08:41 +0100 (Fri, 22 Sep 2017) | 1 line Improve performance of the UDP reference application message_aggregator ------------------------------------------------------------------------ r8108 | bsomervi | 2017-09-22 23:08:49 +0100 (Fri, 22 Sep 2017) | 1 line Fix a regression in processing incoming Reply UDP messages ------------------------------------------------------------------------ r8109 | bsomervi | 2017-09-22 23:08:56 +0100 (Fri, 22 Sep 2017) | 4 lines Better handling of worked before and country name display Appended text is added at a fixed column unless the message overlaps in which case the appended information floats to thr right. ------------------------------------------------------------------------ r8110 | bsomervi | 2017-09-22 23:09:04 +0100 (Fri, 22 Sep 2017) | 4 lines Restore printing of MSK144 decode quality information Now that a way of dealing with worked before and country information without losing this information has been found. ------------------------------------------------------------------------ r8111 | bsomervi | 2017-09-22 23:09:11 +0100 (Fri, 22 Sep 2017) | 5 lines Fix an issue with truncated free text messages being generated This is an edge case when working a call like RI9F/GM4WJS where it is not possible to confirm receipt of the full compound callsign in a Tx5 73 message as "RI9F/GM4WJS 73" is 14 characters. ------------------------------------------------------------------------ r8112 | bsomervi | 2017-09-23 19:09:29 +0100 (Sat, 23 Sep 2017) | 1 line Tidy up some ugly code ------------------------------------------------------------------------ r8113 | bsomervi | 2017-09-23 19:09:37 +0100 (Sat, 23 Sep 2017) | 1 line Clean up some main window UI layout ------------------------------------------------------------------------ r8114 | k9an | 2017-09-23 20:39:42 +0100 (Sat, 23 Sep 2017) | 1 line Comment out some diagnostic writes. ------------------------------------------------------------------------ r8115 | k9an | 2017-09-23 20:56:45 +0100 (Sat, 23 Sep 2017) | 1 line Add some text for section 13.3 of the User Guide. ------------------------------------------------------------------------ r8116 | k9an | 2017-09-23 21:01:31 +0100 (Sat, 23 Sep 2017) | 1 line Minor change to new_features.adoc. ------------------------------------------------------------------------ r8117 | bsomervi | 2017-09-23 23:02:24 +0100 (Sat, 23 Sep 2017) | 1 line Minor additions to MSK144 phase eq docs ------------------------------------------------------------------------ r8118 | k9an | 2017-09-23 23:32:06 +0100 (Sat, 23 Sep 2017) | 1 line Fix up Table 2 caption. ------------------------------------------------------------------------ r8119 | bsomervi | 2017-09-24 22:14:10 +0100 (Sun, 24 Sep 2017) | 1 line Fix issues processing free text 73 messages ------------------------------------------------------------------------ r8120 | k1jt | 2017-09-25 18:02:52 +0100 (Mon, 25 Sep 2017) | 3 lines First tests of "RR73 NOW ..." and "NIL NOW ..." (i3bit=1, 2) messages in FT8. DO NOT USE THIS FEATURE ON THE AIR! ------------------------------------------------------------------------ r8121 | k1jt | 2017-09-25 20:21:25 +0100 (Mon, 25 Sep 2017) | 2 lines Make bDXped a member variable, default to false. ------------------------------------------------------------------------ r8122 | bsomervi | 2017-09-26 00:38:19 +0100 (Tue, 26 Sep 2017) | 1 line Fix regression in handling double-clicked CQ and QRZ calls ------------------------------------------------------------------------ r8123 | bsomervi | 2017-09-26 00:38:27 +0100 (Tue, 26 Sep 2017) | 1 line Fix a regression handling compound calls in 73 messages ------------------------------------------------------------------------ r8124 | k1jt | 2017-09-27 13:26:33 +0100 (Wed, 27 Sep 2017) | 2 lines Additions to Section 13.3 of WSJT-X User Guide: "Phase Equalkization". ------------------------------------------------------------------------ r8125 | k1jt | 2017-09-27 13:39:50 +0100 (Wed, 27 Sep 2017) | 31 lines Experimental new behavior for "Lock Tx=Rx" and for clicking on waterfall and decoded text. 1. Checkbox "Lock Tx=Rx" is now labeled "Lock Tx Freq", and its meaning is quite different. If checked, the audio Tx frequency cannot be changed. It's like the "Lock" function on some transceivers. 2. Clicking on the Wide Graph waterfall and on lines of decoded text now behave as follows: Click on Action --------------------------------------------------------------------- Waterfall: Click to set Rx frequency Shift-click to set Tx frequency Ctrl-click to set Rx and Tx frequencies If Lock Tx Freq is checked, Tx freq does not move Double-click to set Rx frequency and decode there Decoded Text: Double-click to copy transmitting callsign to DX Call and locator to DX Grid; change Rx frequency to decoded signal's frequency; generate standard messages. Tx frequency is not changed unless Ctrl is held down and Lock Tx Freq not checked. If this experimental behavior is adopted, some descriptions in the User Guide and Special Mouse Commands will need to be updated. 3. Starting to implement a new function on the Tools menu, "Solve for calibration parameters". This is not yet finished; DO NOT USE in its present form. ------------------------------------------------------------------------ r8126 | k1jt | 2017-09-27 13:50:21 +0100 (Wed, 27 Sep 2017) | 2 lines Add missing routine. ------------------------------------------------------------------------ r8127 | k1jt | 2017-09-28 02:35:09 +0100 (Thu, 28 Sep 2017) | 1 line Functional 'Solve for calibration parameters' on Tools menu. ------------------------------------------------------------------------ r8128 | k1jt | 2017-09-28 13:30:52 +0100 (Thu, 28 Sep 2017) | 1 line dummy ------------------------------------------------------------------------ r8129 | k9an | 2017-09-28 16:00:57 +0100 (Thu, 28 Sep 2017) | 1 line Correct a typo in the docs. ------------------------------------------------------------------------ r8130 | k1jt | 2017-09-28 16:05:41 +0100 (Thu, 28 Sep 2017) | 1 line Minor edits in User Guide. ------------------------------------------------------------------------ r8131 | k1jt | 2017-09-28 16:09:46 +0100 (Thu, 28 Sep 2017) | 3 lines Fix two ways that Loxk Tx Freq could be circumvented; display Echo Graph automatically when Echo mode is started; clean up display of FreqCal parameters. ------------------------------------------------------------------------ r8132 | k1jt | 2017-09-28 16:46:36 +0100 (Thu, 28 Sep 2017) | 2 lines Clean up the display of "Controls" checkbox on Wide Graph. ------------------------------------------------------------------------ r8133 | k1jt | 2017-09-28 16:55:24 +0100 (Thu, 28 Sep 2017) | 2 lines Display "NIL NOW ", etc., only for test cases. ------------------------------------------------------------------------ r8134 | k1jt | 2017-09-28 20:51:04 +0100 (Thu, 28 Sep 2017) | 2 lines Add some FreqCal info to User Guide. ------------------------------------------------------------------------ r8135 | k1jt | 2017-09-29 00:34:13 +0100 (Fri, 29 Sep 2017) | 1 line Move 'Controls' checkbox a few pixels to the right. ------------------------------------------------------------------------ r8136 | bsomervi | 2017-09-29 11:46:43 +0100 (Fri, 29 Sep 2017) | 1 line Fix accidental regression in UDP Reply message handling ------------------------------------------------------------------------ r8137 | bsomervi | 2017-09-29 11:57:22 +0100 (Fri, 29 Sep 2017) | 1 line Minor clarification for the User Guide waterfall controls description ------------------------------------------------------------------------ r8138 | k1jt | 2017-09-29 14:27:55 +0100 (Fri, 29 Sep 2017) | 2 lines Minor change to make shift/ctrl double-click logic more consistent. ------------------------------------------------------------------------ r8139 | k1jt | 2017-09-29 14:47:26 +0100 (Fri, 29 Sep 2017) | 1 line Remove a diagnostic qDebug(). ------------------------------------------------------------------------ r8140 | k1jt | 2017-09-29 14:59:16 +0100 (Fri, 29 Sep 2017) | 2 lines Additional instructions for using the FreqCal procedure. ------------------------------------------------------------------------ r8141 | k1jt | 2017-09-29 17:53:28 +0100 (Fri, 29 Sep 2017) | 2 lines Many updates to User Guide, mostly to reflect changes in "click behavior". ------------------------------------------------------------------------ r8142 | k1jt | 2017-09-29 17:53:57 +0100 (Fri, 29 Sep 2017) | 1 line Update mouse_sommands.txt. ------------------------------------------------------------------------ r8143 | k1jt | 2017-09-29 17:58:05 +0100 (Fri, 29 Sep 2017) | 3 lines Previous commit message should have mentioned a fix to "stdmsg.f90" that was preventing double-click on a JT65 "OOO" message from populating message fields. ------------------------------------------------------------------------ r8144 | k1jt | 2017-09-29 18:40:30 +0100 (Fri, 29 Sep 2017) | 2 lines Add an option to enforce simplex operation (moving both Tx and Rx frequency) when double-clicking on a decoded text line. ------------------------------------------------------------------------ r8145 | k1jt | 2017-09-30 14:56:33 +0100 (Sat, 30 Sep 2017) | 1 line Fix a regression that prevented double-click on call from working as in r8123. ------------------------------------------------------------------------ r8146 | k1jt | 2017-09-30 18:48:46 +0100 (Sat, 30 Sep 2017) | 21 lines Another try at optimizing the GUI for simplex and split behavior. Details below: 1. Checkbox "Double-click on call sets Tx and Rx freqs" has been removed from the Settings -> General tab. 2. Checkbox "Lock Tx Freq" on main window is relabled "Hold Tx Freq". 3. Behavior now defaults to the "simplex" behavior in use up to code revision r8123. In particular, double-clicking on decoded mesages that do not contain your own call moves both Rx and Tx frequencies. If the first callsign is your own call, only Rx freq moves. 4. If "Hold Tx Freq" is checked, double-clicking on decoded messages moves the Rx frequency; Tx frequency is moved only if CTRL was held down. 5. Clicking on the waterfall moves Rx and Tx frequencies as before: Rx only on a simple click, Tx only on SHIFT-click, and both on CTRL-click. This happens even if "Hold Tx Freq" is checked (which is why this box is no longer labeled "Lock Tx Freq"). ------------------------------------------------------------------------ r8147 | k1jt | 2017-09-30 20:25:01 +0100 (Sat, 30 Sep 2017) | 1 line Fix behavior with double-click on 'CQ <AA-ZZ> <call> <grid>.' ------------------------------------------------------------------------ r8148 | k1jt | 2017-10-01 13:35:43 +0100 (Sun, 01 Oct 2017) | 1 line Correct an improper disabling of TxFreqSpinBox. ------------------------------------------------------------------------ r8149 | k1jt | 2017-10-01 15:03:16 +0100 (Sun, 01 Oct 2017) | 1 line Update mouse_commands.txt and tool tips. ------------------------------------------------------------------------ r8150 | k1jt | 2017-10-01 15:58:10 +0100 (Sun, 01 Oct 2017) | 1 line Update 'blank line' band ID at 4*TRperiod/5. ------------------------------------------------------------------------ r8151 | bsomervi | 2017-10-01 22:43:59 +0100 (Sun, 01 Oct 2017) | 1 line Fix an invalid iterator increment when there are no FreqCal frequencies ------------------------------------------------------------------------ r8152 | bsomervi | 2017-10-01 22:44:07 +0100 (Sun, 01 Oct 2017) | 1 line Fix cty.dat lookups that were not honouring exact match flags ------------------------------------------------------------------------ r8153 | bsomervi | 2017-10-01 22:44:15 +0100 (Sun, 01 Oct 2017) | 6 lines Add "Apply" button to calibration solution message box Make calibration solution application iterative so that calibrations can be applied sequentially if desired. Tidy up calibration solution messages boxes and make i18n friendly. ------------------------------------------------------------------------ r8154 | k1jt | 2017-10-02 14:49:37 +0100 (Mon, 02 Oct 2017) | 2 lines Update User Guide and "mouse_commands". ------------------------------------------------------------------------ r8155 | k1jt | 2017-10-02 15:15:15 +0100 (Mon, 02 Oct 2017) | 2 lines Special DXpedition messages must not have the FreeText bit set. ------------------------------------------------------------------------ r8156 | k1jt | 2017-10-02 19:27:08 +0100 (Mon, 02 Oct 2017) | 2 lines Add more on Copyright protections. ------------------------------------------------------------------------ r8157 | k1jt | 2017-10-02 19:33:17 +0100 (Mon, 02 Oct 2017) | 2 lines Update the list of keyboard shortcuts. ------------------------------------------------------------------------ r8158 | k1jt | 2017-10-02 19:35:06 +0100 (Mon, 02 Oct 2017) | 2 lines Minor edits. ------------------------------------------------------------------------ r8159 | k1jt | 2017-10-03 02:23:24 +0100 (Tue, 03 Oct 2017) | 1 line Correct a misspelling; add quote marks; push 'About' to bottom of Tools menu. ------------------------------------------------------------------------ r8160 | k1jt | 2017-10-03 16:59:47 +0100 (Tue, 03 Oct 2017) | 2 lines Add KA9Q to the copyright notice. ------------------------------------------------------------------------ r8161 | k1jt | 2017-10-04 14:14:51 +0100 (Wed, 04 Oct 2017) | 2 lines Update an image; fix a typo. ------------------------------------------------------------------------ r8162 | k1jt | 2017-10-05 19:27:34 +0100 (Thu, 05 Oct 2017) | 2 lines Fix a bug involving "firstcall contains mycall" but not equal to mycall. ------------------------------------------------------------------------ r8163 | bsomervi | 2017-10-06 17:18:17 +0100 (Fri, 06 Oct 2017) | 1 line Add an accessor method to Configuration to get the current calibration parameters ------------------------------------------------------------------------ r8164 | bsomervi | 2017-10-06 17:18:25 +0100 (Fri, 06 Oct 2017) | 5 lines Rename the fmt.all calibration measurements file after accepting a solution This allows those who want to keep their calibration measurements after finding a solution to calibrate their station. The fmt.all file used to find and accept a solution is renamed to fmt.bak. ------------------------------------------------------------------------ r8165 | k1jt | 2017-10-13 15:36:10 +0100 (Fri, 13 Oct 2017) | 2 lines Update the Tool Tip displayed for Frequency Calibration parameters. ------------------------------------------------------------------------ r8166 | bsomervi | 2017-10-13 23:34:10 +0100 (Fri, 13 Oct 2017) | 1 line Fix an issue with editing IARU regions in the working frequencies table ------------------------------------------------------------------------ r8167 | bsomervi | 2017-10-13 23:34:21 +0100 (Fri, 13 Oct 2017) | 32 lines Improved frequency calibration Measure check box added to FreqCal mode, check to record to fmt.all with current calibration correction disabled, uncheck to see the impact of the current calibration parameters. The fmt.all file is now optionally renamed to fmt.bak when a calibration solution is accepted. This allows users to preserve an fmt.all file that they might have edited for best fit. A calibration procedure might proceed thus:- 1) select FreqCal mode, 2) step through suggested calibration test frequencies deleting those that have no usable signal, 3) enable "Menu->Tools->Execute frequency calibration cycle" and check that suitable signals are present, 4) select a suitable FTol and T/R period, 5) check "Measure" and let the cycle complete a few times to gather data, 6) uncheck "Measure" to complete the data capture, optionally tidy the fmt.all file with your favourite editor, 7) push "Menu->Tools->Solve for calibration parameters" and accept if you like what you see, 8) sit back and admire your accurately frequency calibrated station. ------------------------------------------------------------------------ r8168 | bsomervi | 2017-10-13 23:34:36 +0100 (Fri, 13 Oct 2017) | 4 lines Generic handling of keyboard modifiers via UDP and double-clicks This change opens up all keyboard modifier options to UDP Reply messages as well as double-clicks of decoded messages. ------------------------------------------------------------------------ r8169 | bsomervi | 2017-10-13 23:34:48 +0100 (Fri, 13 Oct 2017) | 3 lines User guide updates for frequency calibration mode Also some instances of non-italicized WSJT-X fixed. ------------------------------------------------------------------------ r8170 | k9an | 2017-10-14 02:02:38 +0100 (Sat, 14 Oct 2017) | 1 line Don't open the false_decodes.txt file. ------------------------------------------------------------------------ git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@8171 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-14 09:09:10 +00:00
explicit LogQSO(QString const& programTitle, QSettings *, Configuration const *, QWidget *parent = 0);
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
~LogQSO();
void initLogQSO(QString const& hisCall, QString const& hisGrid, QString mode,
QString const& rptSent, QString const& rptRcvd, QDateTime const& dateTimeOn,
QDateTime const& dateTimeOff,
Radio::Frequency dialFreq, QString const& myCall, QString const& myGrid,
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
bool noSuffix, bool toRTTY, bool dBtoComments);
public slots:
void accept();
signals:
void acceptQSO (QDateTime const& QSO_date_off, QString const& call, QString const& grid
Send status information to UDP server To facilitate interaction with other applications WSJT-X now sends status updates to a predefined UDP server or multicast group address. The status updates include the information currently posted to the decodes.txt and wsjtx_status.txt files. An optional back communications channel is also implemented allowing the UDP server application to control some basic actions in WSJT-X. A reference implementaion of a typical UDP server written in C++ using Qt is provided to demonstrate these facilities. This application is not intended as a user tool but only as an example of how a third party application may interact with WSJT-X. The UDP messages Use QDataStream based serialization. Messages are documented in NetworkMessage.hpp along with some helper classes that simplify the building and decoding of messages. Two message handling classes are introduced, MessageClient and MessageServer. WSJT-X uses the MessageClient class to manage outgoing and incoming UDP messages that allow communication with other applications. The MessageServer class implements the kind of code that a potential cooperating application might use. Although these classes use Qt serialization facilities, the message formats are easily read and written by applications that do not use the Qt framework. MessageAggregator is a demonstration application that uses MessageServer and presents a GUI that displays messages from one or more WSJT-X instances and allows sending back a CQ or QRZ reply invocation by double clicking a decode. This application is not intended as a user facing tool but rather as a demonstration of the WSJT-X UDP messaging facility. It also demonstrates being a multicast UDP server by allowing multiple instances to run concurrently. This is enabled by using an appropriate multicast group address as the server address. Cooperating applications need not implement multicast techniques but it is recomended otherwise only a single appliaction can act as a broadcast message (from WSJT-X) recipient. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-04-15 16:40:49 +00:00
, Radio::Frequency dial_freq, QString const& mode
, QString const& rpt_sent, QString const& rpt_received
, QString const& tx_power, QString const& comments
, QString const& name, QDateTime const& QSO_date_on);
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
protected:
void hideEvent (QHideEvent *);
private:
void loadSettings ();
void storeSettings () const;
QScopedPointer<Ui::LogQSO> ui;
QSettings * m_settings;
Merged from trunk (r8085 thru r8170 inc.): ------------------------------------------------------------------------ r8085 | k9an | 2017-09-13 01:46:16 +0100 (Wed, 13 Sep 2017) | 1 line Open up DT range to +/- 2.5 s for testing. ------------------------------------------------------------------------ r8086 | bsomervi | 2017-09-16 11:12:38 +0100 (Sat, 16 Sep 2017) | 1 line Do not allow window manager events to close the astronomical data window ------------------------------------------------------------------------ r8087 | bsomervi | 2017-09-16 21:27:05 +0100 (Sat, 16 Sep 2017) | 4 lines Fix regression in ADIF parser that caused failure with missing header Improved robustness of the ADIF parser and re-factored to more idiomatic C++. ------------------------------------------------------------------------ r8088 | bsomervi | 2017-09-16 21:27:13 +0100 (Sat, 16 Sep 2017) | 1 line Update band limits as per ADIF 3.0.6 specification ------------------------------------------------------------------------ r8089 | bsomervi | 2017-09-16 21:27:20 +0100 (Sat, 16 Sep 2017) | 1 line Use a single definition of band limits (Bands class) ------------------------------------------------------------------------ r8090 | bsomervi | 2017-09-16 21:27:33 +0100 (Sat, 16 Sep 2017) | 5 lines Add button to the decoded text window context menu to erase the contents Right-click either decoded text window to erase its contents. The "Erase" button on the main UI still operates as before although it is implemented differently now. ------------------------------------------------------------------------ r8091 | bsomervi | 2017-09-16 23:20:51 +0100 (Sat, 16 Sep 2017) | 1 line Correct the actions taken when clearing decodes windows ------------------------------------------------------------------------ r8092 | bsomervi | 2017-09-16 23:20:59 +0100 (Sat, 16 Sep 2017) | 8 lines Restore functionality of sending .WAV playback decodes to UDP Extended the Decode and WSPRDecode UDP messages with an "off air" boolean field indicating the decode was derived from a .WAV fle playback rather than an on air reception. Extended reference applications to use the new off air decode message field. ------------------------------------------------------------------------ r8093 | k9an | 2017-09-17 16:34:32 +0100 (Sun, 17 Sep 2017) | 1 line Experimental tweak to FT8 decoder. Try a second symbol metric if the first one fails - currently configured to use max-amplitude and max-log. ------------------------------------------------------------------------ r8094 | k9an | 2017-09-17 21:43:30 +0100 (Sun, 17 Sep 2017) | 1 line Restore the use of max-amplitude for ap passes. ------------------------------------------------------------------------ r8095 | k1jt | 2017-09-18 16:42:14 +0100 (Mon, 18 Sep 2017) | 2 lines Allow specialized use of "x2 Tone Spacing" in FT8 mode. ------------------------------------------------------------------------ r8096 | k1jt | 2017-09-18 16:47:29 +0100 (Mon, 18 Sep 2017) | 2 lines Allow X2 tone spacing also in JT9 (slow) modes. ------------------------------------------------------------------------ r8097 | k1jt | 2017-09-18 21:42:18 +0100 (Mon, 18 Sep 2017) | 2 lines Change CRLF line endings to *nix style. ------------------------------------------------------------------------ r8098 | k1jt | 2017-09-19 17:04:10 +0100 (Tue, 19 Sep 2017) | 2 lines Add a missing step to description of the Frequency Calibration procedure. ------------------------------------------------------------------------ r8099 | k1jt | 2017-09-20 17:31:04 +0100 (Wed, 20 Sep 2017) | 1 line Insert a link to FT8_Operating_Tips.pdf. ------------------------------------------------------------------------ r8100 | k1jt | 2017-09-20 20:11:04 +0100 (Wed, 20 Sep 2017) | 3 lines As an experiment, move "NA VHF Contest Mode" checkbox to main screen and query operator if d>10000 km. ------------------------------------------------------------------------ r8101 | k1jt | 2017-09-20 20:19:47 +0100 (Wed, 20 Sep 2017) | 2 lines Correct a tool-tip typo. ------------------------------------------------------------------------ r8102 | bsomervi | 2017-09-22 13:31:01 +0100 (Fri, 22 Sep 2017) | 1 line UI tweaks to improve portability between platforms and font size changes ------------------------------------------------------------------------ r8103 | bsomervi | 2017-09-22 16:36:24 +0100 (Fri, 22 Sep 2017) | 5 lines Extend UDP Reply message with keyboard modifiers This allows UDP servers to emulate keyboard modified double-clicks on decoded messages, E.g. ALT+double-click for replying to a CQ or QRZ call without changing ones Tx frequency offset. ------------------------------------------------------------------------ r8104 | bsomervi | 2017-09-22 16:49:42 +0100 (Fri, 22 Sep 2017) | 1 line Updated AD1C cty.dat file (21st Sept 2017) ------------------------------------------------------------------------ r8105 | k1jt | 2017-09-22 18:38:51 +0100 (Fri, 22 Sep 2017) | 2 lines Another attempt at eliminating confusion when NA VHF Contest Mode is in use. ------------------------------------------------------------------------ r8106 | k9an | 2017-09-22 21:36:52 +0100 (Fri, 22 Sep 2017) | 1 line Make sure that fastGrph is properly initialized. ------------------------------------------------------------------------ r8107 | bsomervi | 2017-09-22 23:08:41 +0100 (Fri, 22 Sep 2017) | 1 line Improve performance of the UDP reference application message_aggregator ------------------------------------------------------------------------ r8108 | bsomervi | 2017-09-22 23:08:49 +0100 (Fri, 22 Sep 2017) | 1 line Fix a regression in processing incoming Reply UDP messages ------------------------------------------------------------------------ r8109 | bsomervi | 2017-09-22 23:08:56 +0100 (Fri, 22 Sep 2017) | 4 lines Better handling of worked before and country name display Appended text is added at a fixed column unless the message overlaps in which case the appended information floats to thr right. ------------------------------------------------------------------------ r8110 | bsomervi | 2017-09-22 23:09:04 +0100 (Fri, 22 Sep 2017) | 4 lines Restore printing of MSK144 decode quality information Now that a way of dealing with worked before and country information without losing this information has been found. ------------------------------------------------------------------------ r8111 | bsomervi | 2017-09-22 23:09:11 +0100 (Fri, 22 Sep 2017) | 5 lines Fix an issue with truncated free text messages being generated This is an edge case when working a call like RI9F/GM4WJS where it is not possible to confirm receipt of the full compound callsign in a Tx5 73 message as "RI9F/GM4WJS 73" is 14 characters. ------------------------------------------------------------------------ r8112 | bsomervi | 2017-09-23 19:09:29 +0100 (Sat, 23 Sep 2017) | 1 line Tidy up some ugly code ------------------------------------------------------------------------ r8113 | bsomervi | 2017-09-23 19:09:37 +0100 (Sat, 23 Sep 2017) | 1 line Clean up some main window UI layout ------------------------------------------------------------------------ r8114 | k9an | 2017-09-23 20:39:42 +0100 (Sat, 23 Sep 2017) | 1 line Comment out some diagnostic writes. ------------------------------------------------------------------------ r8115 | k9an | 2017-09-23 20:56:45 +0100 (Sat, 23 Sep 2017) | 1 line Add some text for section 13.3 of the User Guide. ------------------------------------------------------------------------ r8116 | k9an | 2017-09-23 21:01:31 +0100 (Sat, 23 Sep 2017) | 1 line Minor change to new_features.adoc. ------------------------------------------------------------------------ r8117 | bsomervi | 2017-09-23 23:02:24 +0100 (Sat, 23 Sep 2017) | 1 line Minor additions to MSK144 phase eq docs ------------------------------------------------------------------------ r8118 | k9an | 2017-09-23 23:32:06 +0100 (Sat, 23 Sep 2017) | 1 line Fix up Table 2 caption. ------------------------------------------------------------------------ r8119 | bsomervi | 2017-09-24 22:14:10 +0100 (Sun, 24 Sep 2017) | 1 line Fix issues processing free text 73 messages ------------------------------------------------------------------------ r8120 | k1jt | 2017-09-25 18:02:52 +0100 (Mon, 25 Sep 2017) | 3 lines First tests of "RR73 NOW ..." and "NIL NOW ..." (i3bit=1, 2) messages in FT8. DO NOT USE THIS FEATURE ON THE AIR! ------------------------------------------------------------------------ r8121 | k1jt | 2017-09-25 20:21:25 +0100 (Mon, 25 Sep 2017) | 2 lines Make bDXped a member variable, default to false. ------------------------------------------------------------------------ r8122 | bsomervi | 2017-09-26 00:38:19 +0100 (Tue, 26 Sep 2017) | 1 line Fix regression in handling double-clicked CQ and QRZ calls ------------------------------------------------------------------------ r8123 | bsomervi | 2017-09-26 00:38:27 +0100 (Tue, 26 Sep 2017) | 1 line Fix a regression handling compound calls in 73 messages ------------------------------------------------------------------------ r8124 | k1jt | 2017-09-27 13:26:33 +0100 (Wed, 27 Sep 2017) | 2 lines Additions to Section 13.3 of WSJT-X User Guide: "Phase Equalkization". ------------------------------------------------------------------------ r8125 | k1jt | 2017-09-27 13:39:50 +0100 (Wed, 27 Sep 2017) | 31 lines Experimental new behavior for "Lock Tx=Rx" and for clicking on waterfall and decoded text. 1. Checkbox "Lock Tx=Rx" is now labeled "Lock Tx Freq", and its meaning is quite different. If checked, the audio Tx frequency cannot be changed. It's like the "Lock" function on some transceivers. 2. Clicking on the Wide Graph waterfall and on lines of decoded text now behave as follows: Click on Action --------------------------------------------------------------------- Waterfall: Click to set Rx frequency Shift-click to set Tx frequency Ctrl-click to set Rx and Tx frequencies If Lock Tx Freq is checked, Tx freq does not move Double-click to set Rx frequency and decode there Decoded Text: Double-click to copy transmitting callsign to DX Call and locator to DX Grid; change Rx frequency to decoded signal's frequency; generate standard messages. Tx frequency is not changed unless Ctrl is held down and Lock Tx Freq not checked. If this experimental behavior is adopted, some descriptions in the User Guide and Special Mouse Commands will need to be updated. 3. Starting to implement a new function on the Tools menu, "Solve for calibration parameters". This is not yet finished; DO NOT USE in its present form. ------------------------------------------------------------------------ r8126 | k1jt | 2017-09-27 13:50:21 +0100 (Wed, 27 Sep 2017) | 2 lines Add missing routine. ------------------------------------------------------------------------ r8127 | k1jt | 2017-09-28 02:35:09 +0100 (Thu, 28 Sep 2017) | 1 line Functional 'Solve for calibration parameters' on Tools menu. ------------------------------------------------------------------------ r8128 | k1jt | 2017-09-28 13:30:52 +0100 (Thu, 28 Sep 2017) | 1 line dummy ------------------------------------------------------------------------ r8129 | k9an | 2017-09-28 16:00:57 +0100 (Thu, 28 Sep 2017) | 1 line Correct a typo in the docs. ------------------------------------------------------------------------ r8130 | k1jt | 2017-09-28 16:05:41 +0100 (Thu, 28 Sep 2017) | 1 line Minor edits in User Guide. ------------------------------------------------------------------------ r8131 | k1jt | 2017-09-28 16:09:46 +0100 (Thu, 28 Sep 2017) | 3 lines Fix two ways that Loxk Tx Freq could be circumvented; display Echo Graph automatically when Echo mode is started; clean up display of FreqCal parameters. ------------------------------------------------------------------------ r8132 | k1jt | 2017-09-28 16:46:36 +0100 (Thu, 28 Sep 2017) | 2 lines Clean up the display of "Controls" checkbox on Wide Graph. ------------------------------------------------------------------------ r8133 | k1jt | 2017-09-28 16:55:24 +0100 (Thu, 28 Sep 2017) | 2 lines Display "NIL NOW ", etc., only for test cases. ------------------------------------------------------------------------ r8134 | k1jt | 2017-09-28 20:51:04 +0100 (Thu, 28 Sep 2017) | 2 lines Add some FreqCal info to User Guide. ------------------------------------------------------------------------ r8135 | k1jt | 2017-09-29 00:34:13 +0100 (Fri, 29 Sep 2017) | 1 line Move 'Controls' checkbox a few pixels to the right. ------------------------------------------------------------------------ r8136 | bsomervi | 2017-09-29 11:46:43 +0100 (Fri, 29 Sep 2017) | 1 line Fix accidental regression in UDP Reply message handling ------------------------------------------------------------------------ r8137 | bsomervi | 2017-09-29 11:57:22 +0100 (Fri, 29 Sep 2017) | 1 line Minor clarification for the User Guide waterfall controls description ------------------------------------------------------------------------ r8138 | k1jt | 2017-09-29 14:27:55 +0100 (Fri, 29 Sep 2017) | 2 lines Minor change to make shift/ctrl double-click logic more consistent. ------------------------------------------------------------------------ r8139 | k1jt | 2017-09-29 14:47:26 +0100 (Fri, 29 Sep 2017) | 1 line Remove a diagnostic qDebug(). ------------------------------------------------------------------------ r8140 | k1jt | 2017-09-29 14:59:16 +0100 (Fri, 29 Sep 2017) | 2 lines Additional instructions for using the FreqCal procedure. ------------------------------------------------------------------------ r8141 | k1jt | 2017-09-29 17:53:28 +0100 (Fri, 29 Sep 2017) | 2 lines Many updates to User Guide, mostly to reflect changes in "click behavior". ------------------------------------------------------------------------ r8142 | k1jt | 2017-09-29 17:53:57 +0100 (Fri, 29 Sep 2017) | 1 line Update mouse_sommands.txt. ------------------------------------------------------------------------ r8143 | k1jt | 2017-09-29 17:58:05 +0100 (Fri, 29 Sep 2017) | 3 lines Previous commit message should have mentioned a fix to "stdmsg.f90" that was preventing double-click on a JT65 "OOO" message from populating message fields. ------------------------------------------------------------------------ r8144 | k1jt | 2017-09-29 18:40:30 +0100 (Fri, 29 Sep 2017) | 2 lines Add an option to enforce simplex operation (moving both Tx and Rx frequency) when double-clicking on a decoded text line. ------------------------------------------------------------------------ r8145 | k1jt | 2017-09-30 14:56:33 +0100 (Sat, 30 Sep 2017) | 1 line Fix a regression that prevented double-click on call from working as in r8123. ------------------------------------------------------------------------ r8146 | k1jt | 2017-09-30 18:48:46 +0100 (Sat, 30 Sep 2017) | 21 lines Another try at optimizing the GUI for simplex and split behavior. Details below: 1. Checkbox "Double-click on call sets Tx and Rx freqs" has been removed from the Settings -> General tab. 2. Checkbox "Lock Tx Freq" on main window is relabled "Hold Tx Freq". 3. Behavior now defaults to the "simplex" behavior in use up to code revision r8123. In particular, double-clicking on decoded mesages that do not contain your own call moves both Rx and Tx frequencies. If the first callsign is your own call, only Rx freq moves. 4. If "Hold Tx Freq" is checked, double-clicking on decoded messages moves the Rx frequency; Tx frequency is moved only if CTRL was held down. 5. Clicking on the waterfall moves Rx and Tx frequencies as before: Rx only on a simple click, Tx only on SHIFT-click, and both on CTRL-click. This happens even if "Hold Tx Freq" is checked (which is why this box is no longer labeled "Lock Tx Freq"). ------------------------------------------------------------------------ r8147 | k1jt | 2017-09-30 20:25:01 +0100 (Sat, 30 Sep 2017) | 1 line Fix behavior with double-click on 'CQ <AA-ZZ> <call> <grid>.' ------------------------------------------------------------------------ r8148 | k1jt | 2017-10-01 13:35:43 +0100 (Sun, 01 Oct 2017) | 1 line Correct an improper disabling of TxFreqSpinBox. ------------------------------------------------------------------------ r8149 | k1jt | 2017-10-01 15:03:16 +0100 (Sun, 01 Oct 2017) | 1 line Update mouse_commands.txt and tool tips. ------------------------------------------------------------------------ r8150 | k1jt | 2017-10-01 15:58:10 +0100 (Sun, 01 Oct 2017) | 1 line Update 'blank line' band ID at 4*TRperiod/5. ------------------------------------------------------------------------ r8151 | bsomervi | 2017-10-01 22:43:59 +0100 (Sun, 01 Oct 2017) | 1 line Fix an invalid iterator increment when there are no FreqCal frequencies ------------------------------------------------------------------------ r8152 | bsomervi | 2017-10-01 22:44:07 +0100 (Sun, 01 Oct 2017) | 1 line Fix cty.dat lookups that were not honouring exact match flags ------------------------------------------------------------------------ r8153 | bsomervi | 2017-10-01 22:44:15 +0100 (Sun, 01 Oct 2017) | 6 lines Add "Apply" button to calibration solution message box Make calibration solution application iterative so that calibrations can be applied sequentially if desired. Tidy up calibration solution messages boxes and make i18n friendly. ------------------------------------------------------------------------ r8154 | k1jt | 2017-10-02 14:49:37 +0100 (Mon, 02 Oct 2017) | 2 lines Update User Guide and "mouse_commands". ------------------------------------------------------------------------ r8155 | k1jt | 2017-10-02 15:15:15 +0100 (Mon, 02 Oct 2017) | 2 lines Special DXpedition messages must not have the FreeText bit set. ------------------------------------------------------------------------ r8156 | k1jt | 2017-10-02 19:27:08 +0100 (Mon, 02 Oct 2017) | 2 lines Add more on Copyright protections. ------------------------------------------------------------------------ r8157 | k1jt | 2017-10-02 19:33:17 +0100 (Mon, 02 Oct 2017) | 2 lines Update the list of keyboard shortcuts. ------------------------------------------------------------------------ r8158 | k1jt | 2017-10-02 19:35:06 +0100 (Mon, 02 Oct 2017) | 2 lines Minor edits. ------------------------------------------------------------------------ r8159 | k1jt | 2017-10-03 02:23:24 +0100 (Tue, 03 Oct 2017) | 1 line Correct a misspelling; add quote marks; push 'About' to bottom of Tools menu. ------------------------------------------------------------------------ r8160 | k1jt | 2017-10-03 16:59:47 +0100 (Tue, 03 Oct 2017) | 2 lines Add KA9Q to the copyright notice. ------------------------------------------------------------------------ r8161 | k1jt | 2017-10-04 14:14:51 +0100 (Wed, 04 Oct 2017) | 2 lines Update an image; fix a typo. ------------------------------------------------------------------------ r8162 | k1jt | 2017-10-05 19:27:34 +0100 (Thu, 05 Oct 2017) | 2 lines Fix a bug involving "firstcall contains mycall" but not equal to mycall. ------------------------------------------------------------------------ r8163 | bsomervi | 2017-10-06 17:18:17 +0100 (Fri, 06 Oct 2017) | 1 line Add an accessor method to Configuration to get the current calibration parameters ------------------------------------------------------------------------ r8164 | bsomervi | 2017-10-06 17:18:25 +0100 (Fri, 06 Oct 2017) | 5 lines Rename the fmt.all calibration measurements file after accepting a solution This allows those who want to keep their calibration measurements after finding a solution to calibrate their station. The fmt.all file used to find and accept a solution is renamed to fmt.bak. ------------------------------------------------------------------------ r8165 | k1jt | 2017-10-13 15:36:10 +0100 (Fri, 13 Oct 2017) | 2 lines Update the Tool Tip displayed for Frequency Calibration parameters. ------------------------------------------------------------------------ r8166 | bsomervi | 2017-10-13 23:34:10 +0100 (Fri, 13 Oct 2017) | 1 line Fix an issue with editing IARU regions in the working frequencies table ------------------------------------------------------------------------ r8167 | bsomervi | 2017-10-13 23:34:21 +0100 (Fri, 13 Oct 2017) | 32 lines Improved frequency calibration Measure check box added to FreqCal mode, check to record to fmt.all with current calibration correction disabled, uncheck to see the impact of the current calibration parameters. The fmt.all file is now optionally renamed to fmt.bak when a calibration solution is accepted. This allows users to preserve an fmt.all file that they might have edited for best fit. A calibration procedure might proceed thus:- 1) select FreqCal mode, 2) step through suggested calibration test frequencies deleting those that have no usable signal, 3) enable "Menu->Tools->Execute frequency calibration cycle" and check that suitable signals are present, 4) select a suitable FTol and T/R period, 5) check "Measure" and let the cycle complete a few times to gather data, 6) uncheck "Measure" to complete the data capture, optionally tidy the fmt.all file with your favourite editor, 7) push "Menu->Tools->Solve for calibration parameters" and accept if you like what you see, 8) sit back and admire your accurately frequency calibrated station. ------------------------------------------------------------------------ r8168 | bsomervi | 2017-10-13 23:34:36 +0100 (Fri, 13 Oct 2017) | 4 lines Generic handling of keyboard modifiers via UDP and double-clicks This change opens up all keyboard modifier options to UDP Reply messages as well as double-clicks of decoded messages. ------------------------------------------------------------------------ r8169 | bsomervi | 2017-10-13 23:34:48 +0100 (Fri, 13 Oct 2017) | 3 lines User guide updates for frequency calibration mode Also some instances of non-italicized WSJT-X fixed. ------------------------------------------------------------------------ r8170 | k9an | 2017-10-14 02:02:38 +0100 (Sat, 14 Oct 2017) | 1 line Don't open the false_decodes.txt file. ------------------------------------------------------------------------ git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.8@8171 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-14 09:09:10 +00:00
Configuration const * m_config;
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
QString m_txPower;
QString m_comments;
Send status information to UDP server To facilitate interaction with other applications WSJT-X now sends status updates to a predefined UDP server or multicast group address. The status updates include the information currently posted to the decodes.txt and wsjtx_status.txt files. An optional back communications channel is also implemented allowing the UDP server application to control some basic actions in WSJT-X. A reference implementaion of a typical UDP server written in C++ using Qt is provided to demonstrate these facilities. This application is not intended as a user tool but only as an example of how a third party application may interact with WSJT-X. The UDP messages Use QDataStream based serialization. Messages are documented in NetworkMessage.hpp along with some helper classes that simplify the building and decoding of messages. Two message handling classes are introduced, MessageClient and MessageServer. WSJT-X uses the MessageClient class to manage outgoing and incoming UDP messages that allow communication with other applications. The MessageServer class implements the kind of code that a potential cooperating application might use. Although these classes use Qt serialization facilities, the message formats are easily read and written by applications that do not use the Qt framework. MessageAggregator is a demonstration application that uses MessageServer and presents a GUI that displays messages from one or more WSJT-X instances and allows sending back a CQ or QRZ reply invocation by double clicking a decode. This application is not intended as a user facing tool but rather as a demonstration of the WSJT-X UDP messaging facility. It also demonstrates being a multicast UDP server by allowing multiple instances to run concurrently. This is enabled by using an appropriate multicast group address as the server address. Cooperating applications need not implement multicast techniques but it is recomended otherwise only a single appliaction can act as a broadcast message (from WSJT-X) recipient. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-04-15 16:40:49 +00:00
Radio::Frequency m_dialFreq;
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
QString m_myCall;
QString m_myGrid;
QDateTime m_dateTimeOn;
QDateTime m_dateTimeOff;
Added audio channel support. Audio input can be mono, left of stereo pair or, right of stereo pair. Audio output can be mono, left of stereo pair, right of stereo pair or, both of stereo pair (the same output goes to both channels in both mode). Settings are remembered between sessions. Stream channel suport is implemented mainly in the new AudioDevice class which is now the base class of Modulator and Detector. Audio channels are selected on the configuration screen. Only supported channel configurations per device can be selected. Audio output volume (actually attenuation) is now possible from the GUI. I have added a slider control to the main window; I don't necessarily propose this as a final release location for the widget as I understand that changes to the main screen are sensitive. This location is just a starting suggestion for a trial. The volume (attenuation) setting is remembered between sessions and is not device dependent. This addresses all issues of volume setting on *nix versions since there is no need to use pavucontrol to set audio levels. The volume (attenuation) action is logarithmic. Shaped CW keying has been implemented in Modulator although it is currently disabled as I am not 100% happy wth the implementation. If you want to try it define the C++ preprocessor macro WSJT_SOFT_KEYING in your build. The Modulator instance has been moved to the same thread as the SoundOutput instance as it should have been since the output callback already operates in that thread. Cross thread slots are now correctly called in a thread safe way as a result. A number of files where in the SVN repository with DOS line endings which I have removed. SVN users on Windows need set the config for native line endings so that DOS line endings are automatically stripped on checkin. The DevSetup class now holds it's UI o the heap to reduce imapact on build dependencies. The application settings are now passed to objects from the main.cpp file. Management of settings are moved to the responsible classes (top level windows). This has involved a few settings moving groups so users will see some settings reverting to default values on the first run of an update. Persistance of top level windows geometry and position is now handled in the recommened manner (constructor for load, closeEvent for store in modal windows and, hideEvent for store in modeless dialogs). The MainWindow class now holds its children as members rather than global variables. The LogQSO class now hides its implementation and takes responsibility for its own settings and widows rendering parameters. A new settings file group is implemented to persist the LogQSO class settings. The WideGraph class now hides its implementation and manages its own settings and window rendering parameters. --This line, and those below, will be ignored-- M Modulator.cpp M rigclass.cpp M widegraph.cpp M signalmeter.cpp M soundin.cpp M soundout.cpp M mainwindow.h M main.cpp M meterwidget.h M devsetup.cpp M mainwindow.ui M Detector.cpp M logqso.h M rigclass.h M mainwindow.cpp M meterwidget.cpp M soundin.h M devsetup.ui M wsjtx.pro M devsetup.h M logqso.cpp M Modulator.hpp M psk_reporter.cpp M killbyname.cpp M Detector.hpp M signalmeter.h M widegraph.h M psk_reporter.h M soundout.h M PSKReporter.h M lib/afc65b.f90 M lib/gran.c M lib/usleep.c M lib/afc9.f90 M lib/wrapkarn.c A AudioDevice.hpp git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-08-10 15:29:55 +00:00
};
#endif // LogQSO_H