Commit Graph

201 Commits

Author SHA1 Message Date
Bill Somerville e69226b29a
Avoid enumerating audio devices until absolutely necessary
Enumerating  audio  devices with  QAudioDeviceInfo::availableDevices()
takes  a  long  time  on  Linux  with  pulseaudio.  This  change  only
enumerates  up  to  the  selected device  when  configuring  and  only
enumerates the whole list when the Settings->Audio tab is current.

This change also warns  with a message box when Tx  is started with no
audio output device configured.
2020-08-12 02:33:15 +01:00
Bill Somerville c067580071
Performance optimization of frequencies and station info table views 2020-08-11 20:09:42 +01:00
Bill Somerville 0cf14dfcc9
Remove user adjustable audio buffer sizes from Settings
Fixed buffer sizes are  used. Rx use s 3456 x 1st  downsample rate x 5
audio  frames  of  buffer  space.  On Windows  this  means  that  each
chunk (periodSize())  delivered from the  audio stream is  our initial
DSP processing chunk size, thus  matching audio buffer latency exactly
with WSJT-X's  own front  end latency. This  should result  in optimal
resilience to high system loads that might starve the soundcard ADC of
buffers to fill and case dropped audio frames.

For Tx  a buffer sufficient for  1 s of  audio is used at  present, on
Windows  the period  size will  be  set to  1/40 of  that which  gives
reasonably low latency  and plenty of resilience to  high system loads
that might  starve the soundcard DAC  of audio frames to  render. Note
that a 1 s  buffer will make the "Pwr" slider slow  to respond, we may
have to reduce the Tx audio buffer size if this is seen as a problem.
2020-08-11 13:48:01 +01:00
Bill Somerville 6ea62d9476
Remove default audio devices from audio configuration
This enforces  an audio input device  in the settings dialog  since we
can't do anything  without an input device. A nil  audio output device
is allowed with a warning.
2020-08-08 16:57:51 +01:00
Bill Somerville a0ceace5b4
User configurable audio device buffer sizes
Adjusting these may help with  audio drop-outs, particularly on slower
CPU systems or heavily loaded systems. Smaller buffer sizes leave less
margin for  process interruptions,  larger sizes waste  resources that
could impact other processes.
2020-08-08 16:25:14 +01:00
Bill Somerville 7bb5a8e009
Merge branch 'develop' into feat-psk-reporter-re-work 2020-07-26 15:52:39 +01:00
Bill Somerville aa52e7d4c6
Add new PE RAC section for FD 2020-06-21 13:06:52 +01:00
Bill Somerville b48b23450d
First iteration of optional TCP/IP client for PSK Reporter 2020-06-21 01:36:30 +01:00
Steven Franke 70b84478f0 Add WW_DIGI to the special activities section. Make necessary changes to
the decoders. Also, an experimental change to the FT4 decoder to base
AP decoding passes on 4-symbol block detection instead of single symbol
detection. This provides about 1 dB improvement on the AWGN channel.
Sensitivity changes on other channels are TBD.
2020-01-24 11:26:36 -06:00
Bill Somerville ca07d22e89
Add option to highlight un-worked grid fields
This  is a  check box  option  in "Settings->Colors"  rather than  new
    highlighting types so un-worked  field highlighting and un-worked grid
    square highlighting are mutually exclusive. The check box state can be
    changed at  any time, no  log rescanning is necessary,  and subsequent
    decoded message highlighting will be according to the check box state.
2019-08-09 11:25:50 +01:00
Bill Somerville 01aaa852e3
Updates to support Qt v5.13
Replacement of deprecated Qt functions and member functions.
2019-07-08 01:37:04 +01:00
sirhc808 1f57ba5fec improve physical structure 2019-07-02 12:45:05 -05:00
sirhc808 27d4471cde Merge branch 'ft9_refactor' into feat-refactor
# Conflicts:
#	CMakeLists.txt
#	lib/ft4/getcandidates4.f90
#	lib/ft4/sync4d.f90
2019-07-02 12:06:14 -05:00
sirhc808 ee5d5c8ae9 improve physical structure 2019-07-02 10:19:43 -05:00
Bill Somerville c65d832356
New UDP messages to close and reconfigure WSJT-X plus more status fields
The Status(1) message acquires the new fields Frequency Tolerance, T/R
Period,  and  Configuration Name.  The  Rx  DF,  Tx DF  fields  become
unsigned (this should be a benign change which is just for correctness
as -ve values have never been possible).

The   Close(6)  message   becomes  bi-directional   allowing  external
applications to gracefully close down WSJT-X instances.

A  new  message SwitchConfiguration(14)  is  provided  that allows  an
external application to  switch the current configuration  of a WSJT-X
instance.

Another  new  message  Configure(15)  is provided  to  allow  external
applications to adjust some key parameters like the mode and submode.

See the  NetworkMessages.hpp header  commentary for full  details. The
UDPExamples/MessageAggregator reference  application has  been updated
to be able to exercise all of the above changes.

Note   that   this   commit   enforces  stricter   checking   on   the
"Settings->Reporting->Allow  UDP  requests"   option,  which  must  be
checked  before  any state  changing  incoming  messages to  a  WSJT-X
instance are processed.
2019-06-25 14:35:58 +01:00
Bill Somerville e9559244f8
Recall "Settings->Colors->Highlight by mode" from settings on startup 2019-06-11 10:14:04 +01:00
Bill Somerville 45b12e6028
Preparation for UI i18n
Re-enabling the WSJT-X i18n  facilities. This allows translation files
to  be created  for languages  that are  automatically used  to lookup
translatable strings. To enable a  new language the language name must
be added to the CMakeLists.txt LANGUAGES list variable in BCP47 format
(i.e. en_US,  en_GB, pt_PT, ...). Do  one build with the  CMake option
UPDATE_TRANSLATIONS enabled  (do not  leave it enabled  as there  is a
danger of loosing existing translated texts), that will create a fresh
translations/wsjtx_<lang>.ts file which  should be immediately checked
in with the  CMakeLists.txt change. The .ts should then  be updated by
the translator using  the Qt Linguist tool to  add translations. Check
in the  updated .ts file  to complete the initial  translation process
for that language.

To  aid translators  their WIP  .ts file  may be  tested by  releasing
(using the  lrelease tool or  from the Linguist  menu) a .qm  file and
placing  that  .qm  file  in the  current  directory  before  starting
WSJT-X. The translations will be used if the system locale matches the
file name.   If the system  locale does not  match the file  name; the
language may be  overridden by setting the  LANG environment variable.
For  example if  a wsjtx_pt_PT.qm  file  is in  the current  directory
WSJT-X will use it for  translation lookups, regardless of the current
system locale setting, if the LANG variable is set to pt_PT or pt-PT.

On MS Windows from a command prompt:

 set LANG=pt_PT
 C:\WSJT\wsjtx\bin\wsjtx

elsewhere:

 LANG=pt_PT wsjtx
2019-06-06 12:56:25 +01:00
Bill Somerville 19c46774b4
Moving toward multiplier and dupe detection for contest modes
There's not  much to show  for this so far  but some of  the necessary
infrastructure is in place.
2019-05-30 22:20:09 +01:00
Bill Somerville 94b86c3b29
Finally fixed the default item delegate creation mechanism 2019-05-30 04:14:21 +01:00
Bill Somerville 381faca99a
Add option to include or exclude WAE extra entities in DXCC entity lookups
Also  refactored  object  relationships  as a  start  to  implementing
contest multiplier highlighting.
2019-05-29 23:35:18 +01:00
Bill Somerville 67ab7c7b8b
Add Alt+O hotkey to change the operator quickly without going to the Settings dialog
Thanks to Jim, W2JC, for suggesting this enhancement.
2019-05-28 12:18:54 +01:00
Joe Taylor 7334ebb20b New user option: "Calling CQ forces Call 1st". 2019-05-23 14:31:08 -04:00
Bill Somerville d862449dc8 Merge branch 'develop' into feat-ft2 2019-03-22 20:51:42 +00:00
Bill Somerville 09ee9d3dc0 Add helpful tool tips to serial port drop down list items 2019-03-13 00:08:50 +00:00
Bill Somerville f63c5e14bb Load LoTW Users data if CSV file exists at startup 2019-03-02 13:22:42 +00:00
Joe Taylor 6b5131ab5e Trial changes to support messages for Slovenian Contest Club's RTTY-like contest. 2019-02-28 11:21:06 -05:00
Joe Taylor fdfb655b06 Option to select "Low sidelobes" or "Most sensitive" for waterfall spectra. 2019-02-25 15:04:05 -05:00
Bill Somerville d17efce7a1 Improved validation for ARRL RTTY RU and FD exchange fields
Validation  in  "Settings->Advanced"  only  applies  if  the  specific
special operations mode is enabled.
2019-01-10 15:13:56 +00:00
Bill Somerville e871860642 Option to always start new decode periods at the top of the Band Activity window 2019-01-08 18:03:43 +00:00
Bill Somerville 5b0f713cd4 Defer dwonloading LoTW users file until "Settings->Colors->Fetch" button pressed
This change also repairs a defect in showing potential LoTW users when
the  "Settings->General->Show DXCC,  grid, and  worked before  status"
option is not checked.
2019-01-01 16:19:01 +00:00
Joe Taylor 8379fa86eb Optional key bindings for F1 through F5, especially for contest use. 2018-12-28 11:19:29 -05:00
Bill Somerville 7294f83f59 Ensure that decode highlighting settings that a trashed by running an older version get reset 2018-12-07 21:27:33 +00:00
Bill Somerville 49b1a5ac62 ARRL RTTY Roundup rules require AK and HI residents to be DX and send serial numbers 2018-12-03 21:31:01 +00:00
Bill Somerville dac6a2cc26 More relaxed validation for FD exchange and fix up to uppercase 2018-12-02 01:23:20 +00:00
Bill Somerville cf6311e007 Scan ADIF log asynchronously and new settings button to rescan ADIF log 2018-11-30 16:26:46 +00:00
Bill Somerville 314d8a645b Replace deprecated Qt algorithms with C++ Standard Library equivalents 2018-11-25 22:13:15 +00:00
Bill Somerville 7b4b407455 Improved layout of settings frequencies and station details tables 2018-11-25 21:53:38 +00:00
Bill Somerville ff7c2743b4 Open database outside of multi-settings loop to avoid reconnection warnings 2018-11-12 01:46:16 +00:00
Bill Somerville 947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00
Steve Franke f2824af557 Initialize the SelectedActivity setting. 2018-11-01 08:12:04 -05:00
Steve Franke d9a76fcc45 Merge branch 'hotfix-2.0.0-rc4' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.0-rc4 2018-10-31 18:09:08 -05:00
Steve Franke 76ecac3e42 Remove unused variable. Streamline contest button initialization. 2018-10-31 18:09:04 -05:00
Bill Somerville 75186dfeff Refactor ARRL contest exchange validators to use regexps and the existing Configuration validate method 2018-10-31 22:42:26 +00:00
Steve Franke c1a86dae07 Make setEU_VHF_Contest() work. 2018-10-31 16:31:55 -05:00
Steve Franke 3d4dd9c761 More work on contest type selection. 2018-10-31 15:53:10 -05:00
Steve Franke a9d096941a A second attempt at grouping contest selection radio buttons using hints from Bill. Contest types are now defined in a named enum in the Configuration class, Configuration::SpecialOperatingActivity. Current contest selection is queried using a Configuration class function, m_config.special_op_activity(). 2018-10-30 16:06:01 -05:00
Steve Franke 9baa8c755d Change Fox/Hound checkboxes to radio buttons and move them into the same group box as the other contest radio buttons.
Make the group box checkable and the radio buttons mutually exclusive.
Prevent switch from any other mode to MSK144 and put up an error box if the contest radio button setting is not allowed for MSK144.
If currently in MSK144 mode and an invalid contest type is selected, put up an error box and change mode to FT8 where any contest type is allowed.
2018-10-27 17:21:29 -05:00
Bill Somerville 8215f3412b Priorities for decoded message highlighting and new worked before internal database
Settings option to highlight not worked before entities/grids/calls by
mode. Fix issues with highlighting  decodes and generally refactor the
internal  workings  of  ADIF  and  QSO  recording  for  worked  before
detection.
2018-10-25 00:00:19 +01:00
Joe Taylor 60d6942cbe First cut at removing from GUI anything to do with legacy FT8 mode.
Note that calls to Fortran routines have not been changed.
2018-10-21 14:18:46 -04:00
Bill Somerville 873b1d1c43 Updated decode highlighting and LotW user's data file management
Includes a new settings facility  with the highlighting being contrled
by a new model class and a  modified QListView to display the data for
editing. Edits  include enable and  disable check boxes,  a contextual
pop-up menu to adjust backkground and foreground colours.

Still   to   be   implemented    are   priorities   for   highlighting
categories. This  will be adjustable  by drag  and drop in  the Colors
settings panel, it is already implemented by the priority order has no
effect on highlighting of decodes yet.

The LotW  users data file fetch  and time since user's  last upload is
now controled from the settings dialog.

This change also drops support for Qt versions before 5.5 so that many
workarounds for earlier versions can be removed.

Debug trace is slightly modified to make better use of the Qt built in
facilities to format and synchronize cross thread messaging.
2018-10-17 00:26:04 +01:00