Commit Graph

1440 Commits

Author SHA1 Message Date
Bill Somerville 245a6902c5 Added CMake option to control experimental features.
Sometimes parts of the application are  not fully ready for release at
release  time.   This  option  allows  such  features  to  be  enabled
conditionally at configure time.

The CMake option WSJT_ENABLE_EXPERIMENTAL_FEATURES  is used to control
this ability.  Normally  you will not need to change  it as it behaves
in a reasonable  way.  The option is ON in  debug build configurations
and OFF in non-debug configuratiuons.

The  option  is   made  available  in  all  source   modules  via  the
WSJT_ENABLE_EXPERIMENTAL_FEATURES macro  which is defined to  1 if the
option is ON and to 0 if it is OFF.

Since this  default behavior is  potentially dangerous because  it can
mean that release builds contain different code from debug builds; the
option may  be set to  OFF in debug  configurations in the  normal way
(cmake-gui,  edit  CMakeCache.txt, etc.)   to  achieve  a debug  build
similar to a default release build.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4182 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-06-19 16:47:49 +00:00
Bill Somerville 0b1c7252a2 Ignore Hamlib error when using fake split without CAT split control.
Fake  split  mode attempts  to  take  the rig  out  of  split mode  on
initialization and this  caused an error when the  rig doesn't support
split control via CAT. This specfic error is now ignored to allow fake
split mode to start cleanly.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4174 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-06-16 09:39:04 +00:00
Bill Somerville 154b64b183 Maintain cursor position during free text edits.
The validation processing of the free text line edit field was causing
the cursor position to be lost.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4148 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-22 11:09:21 +00:00
Bill Somerville 99444bce7c Fix issue with non-modal window lifetimes.
Some non-modal help windows were not being automatically closed on
application exit.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4143 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-15 11:41:18 +00:00
Bill Somerville ea567db752 Make qmake project file more generic.
It is now possible to override the default locations hard coded in
this file with local preferences.

The variables that can be overridden are HAMLIB_DIR and DESTDIR.

To override, add local variable assignments on the intial qmake
command line. E.g.:

qmake HAMLIB_DIR=c:\my\local\hamlib\installation DESTDIR=c:\my\local\install\destination



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4141 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 19:14:37 +00:00
Joe Taylor dbf9faaa21 Fix several problems in wsjtx.pro, for qmake builds.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4140 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 17:43:30 +00:00
Bill Somerville c1312cab88 Fix qmake build issue where CMake generated macros were erroneously
being used in non-CMake builds.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4139 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 17:32:31 +00:00
Joe Taylor 04aa994253 Testing the UI mods suggested by W7DLG. Margin widths are reduced
to minimum in several places so that window contents extend to the
edges and widgets are packed more tightly.  Arguably this makes
better use of available screen space.

Comments will be appreciated!  If people don't like these changes,
they can be reverted.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4138 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 15:07:51 +00:00
Bill Somerville 9b9749aaab Correct ordering of commands sent to HRD when emulating split mode.
Frequency changes must be made while the rig is in RX mode otherwise
they can end up getting ignored on some rigs.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4137 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 12:00:31 +00:00
Bill Somerville 25dee5529c Added some commentary to HRDTRansceiver.{hpp,cpp}.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4136 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 12:00:23 +00:00
Bill Somerville 56980a3ef6 Allow for HRD on rigs where more than one mode maps to Tranceiver::MODE.
Some rigs  like the FT-857(D) have  multiple modes that only  have one
representation in the Transceiver class,  e.g. FM, FM(N) and WFM.  The
HRDTransceiver class  now allows  multiple modes to  be mapped  to one
Transceiver::MODE, the  last match  in the HRD  mode dropdown  is used
when  mapping  a Tranceiver::MODE  to  a  HRD  mode setting  which  is
normally the most suitable mode.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4135 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 12:00:11 +00:00
Bill Somerville a2dcab3560 Only use QCommandLineParser if Qt 5.2 available.
I had inadvertantly  locked WSJT-X into Qt 5.2 or  later by using this
class  which  only  appeared  in  Qt  5.2.   I  have  made  the  usage
conditional on  Qt version  so that  builds still work  with any  Qt 5
version.

As a result builds against Qt  version < 5.2 no longer support command
line arguments, so multi-instance support now requires Qt 5.2.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4063 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-23 13:56:03 +00:00
Bill Somerville b25019ed0a Fix a regression introduced in r3986 - no decode after "Halt TX".
The new suspend/resume approach to  the received audio stream causes a
reset to the input sample buffer  on resume. This is desired behaviour
except when the stream in not actually suspended. The monitor function
was not checking this when resuming monitoring and this caused decodes
for a period to be abandonded simply  by using the "Halt TX" button to
turn off automatic transmission mode.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4059 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-21 14:39:39 +00:00
Bill Somerville e58f9d0c73 Backed out component install changes that inadvertenly got commited as
part of r4046. These caused GUI installer packages to be incomplete.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4058 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-21 12:21:44 +00:00
Bill Somerville c26c274093 Tidy up error message in manpage sub-project.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4057 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-21 11:49:20 +00:00
Bill Somerville eef3d6be3d Make manpage generation optional for casual builders.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4056 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-21 11:38:17 +00:00
Bill Somerville 5736c355a4 Another attempt to get sed to work on both Mac and Linux.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4051 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-20 14:28:02 +00:00
Bill Somerville b7492c085e Made latest man page generation enhancements Mac friendly.
Non-Debug build on *nix platforms now require a2x, it is optional
for other build configurations.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4050 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-20 12:46:34 +00:00
Bill Somerville a1daf7afff Open decoded.txt in append mode when redoing a decode pass.
Before the subsequent decodes on a period (nagain/=0) were truncating
the file and confusing JTAlert.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4047 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-20 02:44:47 +00:00
Bill Somerville a80db10217 Several improvements related to packaging on Linux.
Added a manpages sub-project to generate man pages for wsjtx from
AsciiDoc source.

Add items required by Debian packaging and Free Desktop Standards.

Add better command line processing to wsjtx including version and help
options.

Add a new command line option 'test-mode' that invokes the Qt test
mode where all writable file locations are moved to a common
directory.  This is to allow application testing from a repeatable
start point rather than have the test application sharing files with
normal operations.  See QStandardPaths::setTestModeEnabled() for
details of the test location.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4046 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-20 02:39:48 +00:00
Bill Somerville c76765fd96 Changed MD5 checksum for kvasd download to reflect new stripped
version of the binary.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4039 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-18 13:38:13 +00:00
Bill Somerville dc7cd6ba50 Improved free text macro functionality.
The macro edit  page in the settings dialog  now allows multiple items
to be selected in an extended selection.

The macro items can be rearranged  by drag and drop of single items or
whole selections.

The  delete button  and  context menu  item  will now  delete all  the
selected items.

The  free text  macro drop  down combo  boxes on  the main  screen now
automatically insert new  macros into the macros list  (at the end) if
the ENTER key is pressed while the combobox has focus.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4038 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 23:10:45 +00:00
Bill Somerville 84ae8811ad Add some useful messages to build output and remove some confusing
output.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4037 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 18:08:32 +00:00
Bill Somerville a39c45f8f4 Work around what appears to be a gcc 4.9.0 defect.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4036 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 16:43:52 +00:00
Bill Somerville 21bf1f1afa Add those pesky MOC generated code includes that break libraries if
they are included by automoc.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4035 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 15:15:46 +00:00
Bill Somerville bc56561163 Fixed compile error on Windows.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4034 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 15:02:35 +00:00
Bill Somerville 2d640afe7b Added context information to Hamlib interface exception messages.
Enhanced TransceiverBase  error exception  type to allow  for language
translatable messages.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4033 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 14:59:00 +00:00
Bill Somerville 51c5f5a84f Made trace file for Qt debugging output a CMake build option.
WSJT-X has  a capability of  redirecting Qt debugging  output (qDebug,
qWarning etc.) to  a trace file 'wsjtx_trace.log' which  is created in
the application run directory if not already present.

Setting the  CMake build option WSJT_QDEBUG_TO_FILE to  ON will enable
this feature.

It  should  be  noted  that  this  option is  not  compatible  with  a
distributibutable  official release since  writing to  the application
directory is  not recommended.  Also  in a full  Release configuration
build all  Qt debugging  code is  elided so no  useful trace  would be
obtained anyway.

The CMake option WSJT_QDEBUG_IN_RELEASE  may be useful in concert with
this option as it causes Qt debugging statements to remain in place in
a  Release  build configuration.   Again  not  recommended  in a  full
Release build since the debugging code both slows down the application
and adds unecessary bloat to the executable size.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4032 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 10:58:40 +00:00
Bill Somerville d2ad4a349f Only calculate revision once.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4024 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-14 10:42:11 +00:00
Bill Somerville 3ab2c43de1 More legacy make file maintenance.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4021 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-13 19:20:56 +00:00
Bill Somerville be301a0529 Legacy makefile maintenance.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4020 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-13 18:49:09 +00:00
Bill Somerville 073cffbd4d Fix dependency issue in CMake build.
Fixing revsion lookup issues is painfully public since one has to
commit a change to test it.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4018 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-13 17:56:53 +00:00
Bill Somerville 241033d49b Try to form a consistent program title and revision specification from
all types of build.

CMake builds use 'svn info' (the git-svn equivalent is also supported)
to  get the  real latest  revision of  the workspace  that is  used to
source a  build. If the sources  are not in VCS  workspace (build from
source  snapshot  archive for  example)  then  the  $Rev$ svn  keyword
expansion in mainwindow.cpp is used despite its issues with accuracy.

Non-CMake builds use the $Rev$ keyword expansion where possible.

If a CMake  build is from a VCS workspace  with local modifications; a
'-dirty' suffix is added to the revision number to denote that.

If no revision number information can be found the word 'local' is
used as a revision number.

The revision  specification is used in  the WSJT-X "about"  box and is
sent  to PSKReporter.info  as part  of the  local  station information
(this     can     be     viewed     at     the     statistics     page
http://pskreporter.info/cgi-bin/pskstats.pl).

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4017 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-13 17:22:12 +00:00
Bill Somerville b3fbef7b12 Fix kvasd download script defect.
In CMake Mac is both APPLE and UNIX.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4016 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-12 12:53:59 +00:00
Bill Somerville 7da17d01de Added MD5 checksum check on kvasd binary download.
Made kvasd download failure a fatal build error.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4015 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-12 12:42:37 +00:00
Bill Somerville 0cd70bb808 Attempt to fix a few TX sequencing issues.
Simplified some of the TX logic and removed some redundant code.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4014 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-11 22:50:44 +00:00
Bill Somerville 22008672f1 Make CW envelope shapng the default.
Now I have verified that the CW envelope shaping considerably reduces
the bandwidth of teh CW id. I have made the it default. It can still
be turned off via a CMake option if desired.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4013 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-11 22:50:34 +00:00
Bill Somerville 4c687cd8a6 Simplify MainWindows to Modulator communications.
No longer any need to have a mute mechanism since the TX shutdown
mechanism is sufficient.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4012 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-11 22:50:22 +00:00
Bill Somerville 1e107e7e1e Fix a waterfall palette designer import bug.
Yet another rework of waterfall palette interpolation to try and avoid
invalid colour values.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3999 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 16:59:09 +00:00
Bill Somerville 87be8f0880 Updated palette designer tool tip.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3998 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 16:59:00 +00:00
Bill Somerville 00fc3dc134 Fix incorrect icon being used in Windows "Programs & Features".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3996 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 13:15:07 +00:00
Bill Somerville 9433201694 Pass JT9W tone spacing to Modulator via a signal/slot as it is
crossing a thread boundary.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3995 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 11:56:29 +00:00
Bill Somerville 61f44b94d2 Clean up Modulator code to ensure that partial blocks written are sent
with the correct length. This was causng some CW identifications to be
delayed and truncated occasionally.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3994 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 11:20:20 +00:00
Bill Somerville 589f0d56b5 Disallow split mode working with dummy rig.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3992 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-07 23:40:32 +00:00
Bill Somerville bfd4deb7c7 Used floating point for colour interpolation in palettes since QColor
is float internally anyway.

Avoided invalid colour values in palette colour interpolation.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3989 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-07 18:13:16 +00:00
Bill Somerville feb47d5791 Palette editor improvements.
Added an "Insert after..." context menu entry so it is possible to add
new entires to the end of the list when the scroll area is full.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3988 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-07 17:32:54 +00:00
Bill Somerville c3d1eb5cee Replaced Detector monitoring switch with audio stream suspend/resume.
In an effort to reduce the processing overhead when transmitting I
have suspended the audio input stream at source instead of the prior
behavior that simply idled skipping received samples.

This is in response to high activity levels, especially with JTAlert
also running, when decode processing rolls over into the next TX
period.

Tests show a reduction in CPU loading from ~5% to ~1.5% in the above
scenario. Hopefully this will reduce the likelyhood of TX audio
glitches when other system activity spikes.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3986 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-07 00:55:05 +00:00
Bill Somerville f8bdff9aa7 Made the soft keying CW wave shaper a CMake option (off by
default).

Reorganized Modulator interface so that it can control the stream
it writes to.

Make sure only QAudioOutput::stop is called at the end of sending
rather than QAudioOutput::reset which discards pending samples.

Added a quick close option to the Modulator::stop slot to discard
pending buffers if required.

Fix issue in CW synthesizer that was causing CW to be inverted
occasionally.

Made global arrays of symbols volatile because compiler waa
optimizing away reads in sound thread. These global variables
must go eventually as they are a multi-threading hazard.

Simplified TX sequencing to remove some duplicate signals.

Increased range of TX attenuator from 10dB to 30dB. This is mainly for
non-Windows platforms where the attenuator isn't linearized correctly.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3985 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-06 21:58:11 +00:00
Bill Somerville 6e232c85f1 Unkey rig if program exits while transmitting.
This will not help if the program crashes, but at least graceful exits
will not leave the rig in TX.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3984 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-06 21:57:59 +00:00
Bill Somerville 3ddf0d64d3 Igonored CAT polls of RX frequency from Commander when transmitting as
they are unreliable on Icom radios.

Simplified diagnostic output for HRD CAT interface and DX Labs Suite
Commander CAT interface.

Removed duplicate diagnostic message from configuration CAT control.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3983 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-04 17:02:18 +00:00