Commit Graph

187 Commits

Author SHA1 Message Date
Bill Somerville 9434c447cd
Ensure multicast UDP is sent to at least the loop-back interface
Also send multicast UDP to every selected network interface.
2020-11-06 00:33:53 +00:00
Bill Somerville caa23f1101
Message Client allows sending multicast UDP on multiple interfaces 2020-11-05 03:37:01 +00:00
Bill Somerville 430d57c1ca
Network interface selection for outgoing UDP multicast datagrams
Default  selection  is  the  loop-back interface.  Users  who  require
interoperation  between  WSJT-X   instances  cooperating  applications
running on different hosts should  select a suitable network interface
and  carefully choose  a multicast  group address,  and TTL,  that has
minimal scope covering the necessary  network(s). Using 224.0.0.1 is a
reasonable    strategy    if   all    hosts    are    on   the    same
subnet. Administratively  scoped multicast group addresses  like those
within 239.255.0.0/16  can cover larger  boundaries, but care  must be
taken if the local subnet has access to a multicast enabled router.

The  IPv4  broadcast  address  (255.255.255.255) may  be  used  as  an
alternative  to multicast  UDP, but  note that  WSJT-X will  only send
broadcast UDP datagrams  on the loop-back interface,  so all recipient
applications must be running on the same host system.

The reference UDP Message protocol  applications are being extended to
be configurable  with a list of  interfaces to join a  multicast group
address on. By default they will only join on the loop-back interface,
which is also  recommended for any applications designed  to take part
in the WSJT-X  UDP Message Protocol. This allows full  user control of
the  scope of  multicast  group membership  with  a very  conservative
default  mode  that will  work  with  all interoperating  applications
running on the same host system.
2020-11-02 15:33:44 +00:00
Bill Somerville d15e419993
Allow UDP service port zero, this disables the UDP Message Protocol 2020-10-07 19:16:00 +01:00
Bill Somerville 542ffe8311
Improve audio device handling and error recovery
where possible  audio devices that  disappear are not  forgotten until
the user selects another device, this should allow temporarily missing
devices or forgetting  to switch on devices before  starting WSJT-X to
be  handled more  cleanly. If  all else  fails, visiting  the Settings
dialog and  clicking OK should  get things  going again. Note  that we
still  do not  have  a  reliable way  of  detecting  failed audio  out
devices, in that  case selecting another device and  then returning to
the original should work.

Enumerating  audio devices  is expensive  and on  Linux may  take many
seconds per  device. To avoid  lengthy blocking behaviour until  it is
absolutely necessary,  audio devices are  not enumerated until  one of
the "Settings->Audio" device drop-down lists is opened. Elsewhere when
devices  must be  discovered  the  enumeration stops  as  soon as  the
configured device is  discovered. A status bar message  is posted when
audio devices are being enumerated as a reminder that the UI may block
while this is happening.

The message box warning about  unaccounted-for input audio samples now
only triggers when  >5 seconds of audio appears to  be missing or over
provided. Hopefully this will make the warning less annoying for those
that are  using audio sources  with high and/or variable  latencies. A
status  bar message  is still  posted for  any amount  of audio  input
samples  unaccounted for  >1/5 second,  this message  appearing a  lot
should be considered as notification that  there is a problem with the
audio sub-system, system load is  too high, or time synchronization is
stepping the PC clock rather  than adjusting the frequency to maintain
monotonic clock ticks.
2020-09-20 18:20:16 +01:00
Bill Somerville 5037445f94
Fix a typo 2020-09-11 12:54:22 +01:00
Bill Somerville 67bd56a6d6
Accessibility improvements 2020-09-10 16:29:51 +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 f32c927306
Control audio buffer size defaults from Configuration class 2020-08-08 16:52:03 +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 f975f2c181
Further widget contrast improvements for use with dark stylesheets 2020-08-08 15:06:31 +01:00
Bill Somerville 9c22eb321d
Merge branch 'develop' into feat-fst280 2020-07-26 16:20:11 +01:00
Joe Taylor 04e326e75a Change "Enable VHF/UHF/Microwave features" to "Enable VHF and submode features", and remove the popup warning about being on a lower band. 2020-06-22 15:20:41 -04:00
Bill Somerville b48b23450d
First iteration of optional TCP/IP client for PSK Reporter 2020-06-21 01:36:30 +01:00
Bill Somerville e322de24d3
Cosmetic punctuation for translation 2020-05-19 01:14:18 +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 5e3781e9e9
Correct some UI text typos
Thanks to Christoph, DF7CB, for providing a patch for these typos.
2019-12-29 12:25:59 +00:00
Bill Somerville 00f39e3ea0
Fix a couple of merging mishaps 2019-11-25 15:04:51 +00:00
Bill Somerville fb1b2e7687 Tagging the WSJT-X v2.1.1 release
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEUELwYiy7vDRM+hTD2GSwbR6BYY8FAl3a8/QACgkQ2GSwbR6B
 YY8y+ggAqwaaCRMCSwDzStooYjStJErVoZ/yB//MmoF+798TBb+3MkiT+KclW7aN
 rxTOmEJ+a84PmsiW6Qz/AAcHPnbKDhtwWASZooopgNYDfgyaUib3HfIa+cFJO6my
 OUzlTsH94yDxeBCWOtf1dLiP0YwJKfp/vxzbfDAWXTd4dx3Ok/7KwghYocmP3eCq
 ruZ+dWojQzwE+h50P6B9gTFxGWMHUDDNeZ/c8u494wqDQvQaRoM9oOnQWzlGiMis
 JaerraI52JEdFLnXjtLYeyXtfg+zA0KvRY2DWy1aCPpGkNjy3DPNlOA+cDQpzBru
 NIqsUF+GplgkVs3sKNLXq36ZgaBQBg==
 =5w4B
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEUELwYiy7vDRM+hTD2GSwbR6BYY8FAl3a9R8ACgkQ2GSwbR6B
 YY9SWQf+JdfIvlHy8ExSs9ImCLck/e66V2OAqaEONQX1bEC4QiG3M/rVJGgf2iFz
 ZFshtilsajlpsYZQIFToTmJmI76eGLAmyNIcZN2WpcJQMNWZnxqklMj2wIHbRh+g
 Pvw3FC+lc4LUjZCCMYrVjNXxsRmQtjqV1lVFBnmrAWCdrgHmhyrVbPZT4B+fRTXL
 ikw/BiRgxhI0aoIWKzNrtztMYUBjanKLTHE81AVgsgZkBDNybOjR7mE2E/Jwc4Qx
 mVu+Z0uI+bVuBlMOrqp0K+rrUz7qMZe5/AMSRbgzwfueEOIShgu2wrfV++3JDXLH
 AhtIAcL/b39RBx0jkFE8rBKaZpkoAw==
 =DNp6
 -----END PGP SIGNATURE-----

Merge tag 'wsjtx-2.1.1' into develop

Tagging the WSJT-X v2.1.1 release
2019-11-24 21:24:39 +00:00
Bill Somerville e73f7e8334
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:34:55 +01: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 2acc6358a5
Add missing layout manager 2019-07-19 15:41:57 +01:00
Bill Somerville bcc0cd1eb2
Expand Settings dialog window to avoid undesirable empty renderings 2019-07-18 20:40:48 +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 0a02ad75e0
Remove references to N1MM on the Settings dialog as it now uses the WSJT-X UDP messages
The second  UDP server  and port  are noted  as deprecated  since that
channel  is no  longer  used  for its  original  purpose, namely  N1MM
Logger+ consumption of  ADIF logged QSO records. This  has been marked
as  deprecated  rather than  removing  since  other applications  have
unilaterally chosen to use this feed rather than the documented WSJT-X
UDP  message   protocol  which  contains  the   same  information  and
more. Expect  this UDP  channel to  be removed  in some  future WSJT-X
release.
2019-05-28 11:25:28 +01:00
Joe Taylor 7334ebb20b New user option: "Calling CQ forces Call 1st". 2019-05-23 14:31:08 -04:00
Joe Taylor 00d15d019e Tweak label on Advanced tab to include FT4. 2019-04-30 07:48:47 -04:00
Joe Taylor e1f054d8bf Use a slightly more generic label "RTTY Roundup messages". 2019-04-19 15:32:00 -04:00
Joe Taylor 8d8c4f43db Change label "ARRL RTTY Roundup" to "RTTY Roundup messages". 2019-04-19 08:58:56 -04:00
Joe Taylor b43d91240d New end-of-QSO sequencing logic (possibly temporary) for CQing FT4 station.
When RR73 is received we log the QSO, turn "Call 1st" OFF, and call CQ again.
Also, allow Alt+C and F6 (the latter only if altenrate F1-F6 bindings
are active) to toggle "Call 1st" ON/OFF.
2019-04-15 16:26:41 -04:00
Joe Taylor bc0b7213cd Reset default Configuration tab to 0. 2019-02-25 18:00:12 -05:00
Joe Taylor fdfb655b06 Option to select "Low sidelobes" or "Most sensitive" for waterfall spectra. 2019-02-25 15:04:05 -05:00
Joe Taylor ef84d60f98 Add "(contesting only)" to the "Log automatically" checkbox label. 2019-01-09 09:45:41 -05: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
Joe Taylor 8379fa86eb Optional key bindings for F1 through F5, especially for contest use. 2018-12-28 11:19:29 -05:00
Bill Somerville 4360a5b674 Add tool tip for rescan ADIF log button
Also removed the  tool tip for the  settings main tab widget  as it is
confusing when it gets inherited by children with no tool tip.
2018-12-02 16:07:46 +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 e5b17e270c Improved decode highlighting
Add  "Settings->Colors->Decode Highlighting"  context menu  buttons to
unset b/g  and f/g colours.  Add colour value  as #rrggbb or  unset in
text  to list  items.  Improved colour  assignment  to decodes  giving
better and more intuitive behaviour.
2018-11-29 01:03:44 +00:00
Bill Somerville 38bfde2dc5 Make settings dialog a reasonable default size 2018-11-12 02:02:07 +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
Joe Taylor c57b5d3fca Add Tool Tips for Fox & Hound. 2018-11-07 09:32:21 -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 0c3b4c173e Reset starting tab number to 0 for Configuration.ui. 2018-10-28 09:28:53 -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 1ff4d53f05 Take advantage of the rest of the AD1C cty.dat info for highlighting
Highlighting for new continent, CQ  zone, and ITU zone added. Includes
a new class to manage the AD1C cty.dat database in memory.
2018-10-26 03:24:36 +01: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 088e2ce69e First attempt at decode huighlighting priorities
Drag'n'drop highligting items in "Settings->Colors" to set priorities,
higher up is higher priority.  The default priorities and colours have
been changed to give a reasonable starting configuration.
2018-10-18 21:11:39 +01:00
Bill Somerville 8a1244b377 Fix typo in UI Designer promoted class header name 2018-10-17 04:18:53 +01:00