Provide a dialog for band hopping scheduling which replaces tab
four. Ensure that split mode is not used for WSPR. Select the correct
tab for WSPR operation. Shift WSPR band hopping code out of the
MainWindow class.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5517 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Access in CMake via ${WSJT_SHARE_DESTINATION}/${WSJT_DATA_DESTINATION}
Access in wsjtx.exe using Configuration::data_dir()
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Trying to find the sweet spot for completeness, usefulness, safety
and, performance from the various custom item models and item
delegates.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5474 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Working frequencies are mode dependent and a reset to defaults button
has been added.
Also re-factored much of the model and item delegate code to simplify
several of the model implementations. Introduced a single routine
called from main to register the custom types with Qt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This merge brings the WSPR feature development into the main line
ready for release in a future v1.6 release.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Since the FFTW3 includes have been fixed for C/C++, Hamlib library headers
other than the found ones were being incorrectly picked up. This has been
resolved by ensuring that the Hamlib include directory is passed to the
compilers first.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5371 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also added Tx status to status UDP message.
Added the above features to the reference UDP server
message_aggregator.
Merged from the wsjtx-1.5 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5334 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The user guide is now installed with the product version in the name
so serving the same file from the project web server will allow
multiple manual versions to be easily supported.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5320 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These documentation source files are not the one true version, just a
copy for testing purposes. DO NOT EDIT THESE FILES.
To use this on Windows you will need a working asciidoc installation
and the path to it must be included in your CMAKE_PREFIX_PATH
(probably via a local CMake tool chain file). At the time of writing
the official asciidoc package does not work on Windows. The latest
development master does however work, it can be downloaded as a
snapshot ZIP archive from here:
https://github.com/asciidoc/asciidoc/archive/master.zip
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5316 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Release builds were incrorrectly selecting a high level of Hamlib
trace verbosity.
Added a new CMake option to turn on maximum Hamlib trace verbosity
when required (WSJT_HAMLIB_VERBOSE_TRACE default=OFF). The current
WSJT_HAMLIB_TRACE (default=OFF) now only turns on tracing at warning
level and above, this option must be set ON before the
WSJT_HAMLIB_VERBOSE_TRACE option becomes available. Release
configuration builds use a Hamlib trace level of error or above by
default.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5261 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The CMake option WSJT_CREATE_WINMAIN is now available for both release
and debug configuration builds so it may be disabled in any Windows
build configuration if required.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5250 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Don't make proper Windows applications in debug builds. This means
that the debug output now goes to the console and the program
(wsjtx.exe) no longer detaches from the console.
If you require a proper Windows executable, for instance if you are
getting the debug output via the normal method of attaching a
debugger, you can still do so by setting the CMake configuration
option WSJT_CREATE_WINMAIN to ON for your debug build configuration on
Windows.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5249 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
We now have a dependency on libQt5SerialPort and require Qt v5.2 or
newer.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5232 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
This fixes a defect where station detail changes are not saved.
The Qt sort and filter proxy models utilize an item cache that must be
flushed by callig submit() before accessing the underlying model if
the proxy model has been used for updates.
Also separated the item model candidate key filter from the
implementation internals of the foreign key item delegate so that
candidate key filtered models can be used directly as view models.
Make the insert new station details band combo box use a candidate key
filtered item model to avoid constraint violations. Constraint is zero
or one station records per band.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5161 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This file is created at run time and is not needed in the deployment
package. Also removed from source control to avoid further
misunderstandings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5139 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change generates all the resources using a CMake function
add_resources() and substitution into a template .qrc file. The
location of resource files in the source tree is no longer related to
the path of the resources in the embedded executable resources file
system. Instead the roesources are embedded with predetermined paths
e.g. :/, :/Palettes/ and, :/samples/ .
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5131 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The compilation of the WSJT-X resources file requires a lot of virtual
memory because of the large .WAV files included. For developers
building on very limited resource machines like single board embedded
platforms there is now an option WSJT_EMBED_SAMPLES which can be set
to OFF to skip the inclusion of the sample files in the WSJT_X binary.
The sample files may still be added manually to the target machine if
required.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5130 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The temporary development version of jt9 called jt9_omp is now the
default jt9. This means that parallel decoding of JT65 and JT9 is the
default on platforms that support OpenMP.
If parallel decoding is not required or desired, it can be constrained
by setting the environment variable OMP_THREAD_LIMIT=1. In dual mode
operating this will deliver all decodes of the current mode before any
decodes of the other with the potential impact of taking up to twice
as long to finish decoding.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4960 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Colours behave like other configuration items and changes are only
applied when the Settings UI is dismissed via the "OK" button.
Simplified font settings and use style sheets consistently to set the
application and decoded text fonts. This is necessary because any UI
widget that has a style sheet applied does not honor a font set by
QWidget::setFont() even if there is no font setting in the style
sheet, this is broken behaviour IMHO but that is the way Qt currently
works.
Use a style sheet to style the frequency display and clock. This is
necessary to allow fonts to be cascaded through parent style sheets
and still be overridden on these widgets.
Simplify the decoded text widgets, there is no need to use the
QTextBrowser as a super class since the simpler QTextEdit set as
read-only is sufficient. Also removed colour setting via a background
brush as it doesn't work and the HTML 'bgcolor' attribute works
correctly.
Change to UI properties of the decoded text widgets to allow
horizontal scrolling if required, this allows larger fonts to be used
without truncating decoded messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4957 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
procedure; better window functions for some FFTs, resulting in
better decoder performance; User-selectable colors for backgrounds
of decoded messages. NB: more testing is desirable!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4951 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The native Mac C/C++ compilers (Clang) do not support OpenMP so CMake by
default disables OpenMP for the project since it requires all project compilers
to support it. This means that we have to hack the build script on Mac to
compile the Fortran sources with OpenMP turned on and manually link in the
required OpenMP run time support to the executables.
This hack presumes that the Fortran compiler on Mac is gfortran.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4947 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also moved the same large array from stack to heap which along with
other prior changes now allows the Windows jt9 OpenMP executable to
run with a default stack size again.
This also removes a crash on the Mac version which was probably due to
excessive stack usage.
Net result is an even faster JT9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4942 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Set the CMake variables CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET
must be set before the project() command since they can effect compiler
detection and capability tests.
Only use the -stdlib=libc++ option on Mac OS X when using Clang tools.
On other platforms with Clang tools libc+ is not currently the best choice.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4938 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
More detailed message to come, with comparative timing statistics.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4926 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change introduces the program jt9_omp which is a testbed for a
multi-threaded version of the jt9 decoder program. The program jt9_omp
should be a directly substitutable for jt9 except that JT65 and JT9
decodes are computed in parallel.
Also enable the OpenMP directives in decoder.f90 - note this is not
yet a working multi-threaded decoder and the existing jt9 is still the
correct decoder to be used in WSJT-X.
Increased the available stack size for jt9_omp.exe as this is a hard
limit on Windows and the default is not big enough for the OpenMP
version of jt9.
Also Fortran array bounds checking is now disabled for Release
configuration builds so as to improve performance a little.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4922 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The long FFTs can now use the multi-threaded FFTW routines.
Subroutine decode9.f90 was renamed jt9fano.f90.
The JT9 decoder's top-level functions were removed from decoder.f90
and put into a separate subroutine decjt90.f90.
Subroutine decoder.f90 is now configured for possible use of OpenMP
SECTIONS, with the JT9 and JT65 decoders running concurrently on
a multi-core machine. Note, however, that this concurrent processing
is not yet fully implemented. Probably calls to timer need to be removed;
some variables used in calls to jt65a and decjt9 may need to be
declared PRIVATE in decoder; some sections probably need to be declared
CRITICAL; probably some SAVE statements in downstream routines have
made them not thread-safe; etc., etc.
I'm a neophyte at using OpenMP. Comments, suggestions, and/or tests by
others will be welcome!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4919 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
New command-line option for jt9: [-m nthreads]. Default is nthreads=1.
Also refactored a loop in filbig.f90 that was taking far too much
time.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4916 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The kvasd binary need only be downloaded if the MD5 hash for it has
changed.
Also fixed a defect in the status check of the MD5 hash download.
Also switched to HTTP protocol as it is quick and gives clearer error
messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4830 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The rigctl program is not used directly by WSJT-X but it does contain
the same Hamlib code from the Hamlib v3 fork as WSJT-X and
rigctld-wsjtx. So it makes sense to distribute it as a testing tool or
for any user that needs it to converse with the rigctld-wsjtx server.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4775 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Pass the temporary directory to jt9 and use it to give the correct
paths to temporary files. Also jt9 passes the absolute path to
kvasd.dat in the temporary directory to kvasd.
Clear out all the annoying cruft that has accumulated due to having to
run with $CWD as the temporary directory.
Use QStandardPaths to find the writable data directory where needed
rather than passing it around between objects. This now works because
the $CWD hasn't been changed.
Do away with the CMake option WSJT_STANDARD_FILE_LOCATIONS as it is no
longer needed.
Fix astro status file azel.dat formatting.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To comply with the WSJT_X GPL v3 license, the closed source KVASD
executable must be delivered separately and optionally to end
users. To facilitate this a new install option has been added to the
Windows installer to install KVASD by downloading it at install
time. The installer first downloads the KVASD EULA from the Internet
and presents it to the user for reading and agreement. If agreement
is given the KVASD binary is downloaded from the Internet and
checksummed using an MD5 hash, if that passes, it is installed along
with WSJT-X. An uninstall record is also written to ensure that, if
installed, KVASD will be un-installed if WSJT-X is un-installed.
To facilitate this enhancment to the NSIS installer the standard CPack
NSIS installer script template has been overridden with a project
specific version. This version also implements the more modern and
recomended nsDialogs mechanism for installer custom page construction
including the install options page. See CMake/Modules/NSIS.template.in
for details and CMakeCPackOptions.cmake.in for usage in this
installer.
Merged from branch wsjtx-1.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also complete the wrapper code in wisdom.c.
TBD: should be possible to use fftw3f.f03 instead of the ad hoc wisdom.c.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4617 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To allow personal builds on Mac OS X on 10.7 where no 10.9 SDK is
available, the key options have been made CMake ached variables so
that they may be overridden at configure time.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4585 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
In order to support the WSJT-X super build in LOCAL mode the location
of the User Guide needs to be specified.
A CMake cache variable WSJT_MANUAL_DIRECTORY has been added to allow
the URI of the User Guide directory to be specified at configure time.
The default value remains as the project web site.
Merged from branch wsjtx-1.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4566 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
CMake v3 complains about missing dependencies so the manpages
dependency must not be added to the wsjtx target unless it exists.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4564 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The debian target was being added as a dependency to teh wsjtx target
even when it doesn't exist. This isn't allowed in CMake v3 so it no
longer added if it doesn't exist.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4562 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The minimum OS X version supported and SDK selection compiler options
were not being set for Fortran compiles on Mac.
As CMake 3.0.2 is the current release the facilities obsoleted by
CMake 3.0 have been removed. This also entails making CMake 2.8.10 the
minimum supported version.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4560 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The normal way to view console output from a Windows GUI application
(i.e. with a WinMain entry point) is to attach a debugger which will
then receive the application console output in its own console.
If it is required to build wsjtx.exe as a console application it may
be done by setting the new WSJT_CREATE_WINMAIN CMake option to
OFF. This option is only available for Debug configuration builds to
avoid accidental shipping of non-Debug configuration builds as a
console application.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4555 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The DMG volume name must not change between versions as it invalidates
the .DS_Store file backgound image.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4548 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Routine packmsg now tries the shortlist (Type 1 prefix or suffix) first.
Then it tries to to make a valid message using a Type 2 prefix or suffix.
If both fail, it packs the first 13 characters as a free-text message.
The GUI now generates the most useful messages with compound callsigns
of all valid types.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4533 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The justified text in the project description caused many unwanted
hard line breaks when viewed in Debian package install tools.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4512 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Debian packages are only build if dpkg-buildpackage is available and
RPM package generation is only done if rpmbuild is available.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4504 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The kavasd binary is not open source so cannot be automatically
bundled with WSJT-X on Linux.
The CMake option WSJT_INCLUDE_KVASD has been added with a default of
OFF in Linux Release configuration builds.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4498 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
An ambiguity existed between release candidates and development
versions as there was no definitive identification for development
versions.
Added a new version number suffix of '-devel' which appears if the
release candidate number is missing or zero in Versions.cmake and the
revision is not marked as a release version, also in Versions.cmake.
Also re-factored setting of version number suffiexes to a single place
in in CMake/VersionCompute.cmake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4422 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This was generated in error by selecting one of the source CPack
generators as a default.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4408 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The *nix package generators do not include the target architecture in
the package file names.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4382 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The location of documentation files on Linux distributions is
controlled to a certain extent. Using the QStandardPaths::locate()
method helps us with this.
Work round the misbehaviour of QCoreApplication::applicationDirPath()
when the CWD has been changed by working out the documentation
location before changing the CWD to a temporary directory. This path
is now provided by the Configuration settings class which also manages
other run time paths.
Updated Debian packaging to move a little nearer a conforming DEB
file.
Added a basic manpage for rigctld-wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4364 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
So that a manual can be viewed without an Internet connection a second
manual action has been added to the WSJT_X help menu. This shells out
to the default web browser with a local file target.
The build has been enhanced to install and package the current version
of the HTML user manual as downloaded from the project web site at
build time
The package file locations have been adjusted to be compatible with
the QStandardPaths class so that its locate() method can be used to
portably access resources like this local help file
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4359 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Apple clang LLVM compilers do not support the gcc options
data-sections, function-sections and, gc-sections so we must not add
them on Mac builds.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4356 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The -mwindows linker option is not explicitly required since it is
added automatically to WIN32 executables by CMake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4355 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the data-sections and function-sections gcc/g++ compiler options
to create sections for each function and data item then use
gc-sections in the link to discard all unreferenced sections.
This has most benefit if the hamlib library we statically link is also
compiled with data-sections and function-sections.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4351 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the WSJTX_RC variable in Versions.cmake to label and identify
program and packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4338 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because WSJT-X currently uses Hamlib-3 (statically linked) it also
needs a version of rigctld with Hamlib-3 statically linked for any
user that wishes to use the "Hamlib NET rigctld" CAT interface to
remotly access a rig via IP using the Hamlib network control protocol.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4297 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These programs are mentioned in the user guide so have been added to
the depolyable packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4254 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Since the manual URL is used in both the installer and the WSJT-X code
the definition of the URL (CMake variable PROJECT_MANUAL) is defined
in the CMakeList.txt file and propagated to the source via the
wsjtx_config.h header.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4252 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
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
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
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
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
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
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
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
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
linking requirements.
Changed build to use static hamlib if available.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3975 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The new class WFPalette encapsulates waterfall palettes including
exporting and importing to disk files and interpolation for use in the
waterfall plotter.
A special entry in the palette list "User Defined" is now available
along with a button to invoke a colour palette designer. The user
defined palette definition is persistent across runs as it is saved in
the application settings file.
Palettes can now have any number of colours up to 256.
The export function may be used to save user designed palettes; to be
added to the built in resource palettes that are shipped with the
application.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3964 ab8295b8-cf94-4d9e-aec4-7959e3be5d79