* Added :[notes] string to LOG and LNW macro tags
- <LOG:append this text>
- <LNW:append this text>
the specified text will be appended to the notes field as
the string "\nappend this text" before saving the log data
<LOG> and <LNW> behave as before.
* Added post execute expansion of returned macro text.
Restores ability to include macro tags such as <MYCALL>
in the returned text. The macro tag will then be
expanded before transmission.
* Fix for ARQ socket crash due to thread conflicts
* Added additional mutex to protect transmit queue
* Added additional lock/unlock mutex blocks
* Added code to put socket close() within a try {} catch {}
block
* Still retains use of " ^r " in the user window
* Covers special-case for FLARQ usage where ETX should
stop the modem
* EOT character can now be transmitted from Tx window instead
of switching to Rx mode
* From: Andrej Lajovic <s57ln@hamradio.si>
- Substitute symbolic names for negative return values of
get_tx_char()
* discover application executable location
* if the directory in which "fldigi" / "fldigi.exe" resides
contains a file named NBEMS.DIR then base all NBEMS file
locations to that drive-folder
* this allows a fully portble NBEMS installation
to a thumbdrive (or other portable drive)
* it also allows a very easy way to install multiple NBEMS suites
for different target uses on a single hard drive
* Refactor get_tx_char()
* Reset to stock version, call byte_at()
The class Fl_Text_Buffer_mod (borrowed from FLTK) contained a modified
version of the method char_at() that effectively made it behave as
byte_at(). Silently modifying a library-provided method not only disables
the access to a certain functionality of the library, but can also cause
other unforeseen consequences. The method was thus reverted to the stock
version and the code that previously called the modified version was
changed to call byte_at() instead.
* Remove unneeded code in FTextTX::nextChar()
* Libtiniconv
- Added libtiniconv (charset conversion library)
- Library Version 1.0.1 fetched from http://tiniconv.sf.net
A small fix made to change a misspelled macro name.
Build system adapted to fit into the fldigi build model.
* Added CharsetDistiller class
- Sanitize input data and convert it into UTF-8
- CharsetDistiller receives input data one byte at a time and converts this
data stream from a particular character set into UTF-8. Invalid input data
is treated as if it was encoded in CP1252. Character set conversion is
performed as soon as possible, i.e., when enough input is received to
constitute a valid character in the input character set, this character is
immediatly converted into UTF-8 and made available at the output.
* Make put_rx_char_flmain() use charsetDistiller
* Make put_echo_char() use CharsetDistiller
* Make pskBrowser use CharsetDistiller
* Added OutputEncoder class
- Used for encoding transmitted data
- OutputEncoder accepts UTF-8 strings at input, converts them to the
selected encoding and outputs them one byte at a time.
* TX character set conversion using OutputEncoder
* Fix backspace for >2byte UTF-8 characters
* Cleanup modem UTF-8 code
- PSK, Olivia, MT63 and MFSK modems:
cleanup of unneeded UTF-8 handling code
- Everything that deals with output character set conversion and data
sequencing is now done using OutputEncoder, so the modems can become
completely agnostic about the character set used. As far as they are
concerned, everything is just byte-sized data.
* Added an array of character set names and identifiers
* UTF-8 code cleanup
- Cleanup of unneeded UTF-8 handling code in add_rxtx_char() and family
* Character set selection menu
- Add menu button to select the active TX/RX charset to the colors-fonts
configure dialog. The setting defaults to UTF-8 (selected at program
startup). The selection is saved to the program defaults configuration
file when "Config/Save" is executed.
* Added tx code to correct transfers of 8 bit ARQ data.
Needed to circumvent recent UTF-8 char support when
transferring data files.
* Added status bar notification when AMP extraction is
is being processed.
* Removed timeout on "Extracting FLAMP" and "Extracting FLMSG"
status messages.
* Removed bold declaration from line format string
- caused erroneous character printing if a font
was used which had no bold definition in the
font library (observed on Linux).
* Fix put_echo_char() to handle UTF-8 characters wider than two bytes
* Reimplement Fl_Text_Buffer_mod::get_char_at() to handle UTF-8 chars
wider than two bytes
* added parsing of cmd line parameters when opening flmsg
upon completion of wrap file extraction
* added parsing of flamp text streams
* modified socket arq to separate socket i/o from both
signal processing and main thread.
Protect MixerOSS:: routines from trying to access uninitialized tables, as
happens when no OSS mixer support is present. Specifically, if openMixer()
or initMask() error out for whatever reason, then InputSourceNbr() and other
routines will crash becasue num_rec and num_out never get set to zero.
BugLink: https://bugs.launchpad.net/ubuntu/+source/fldigi/+bug/1058298
* Added configure item in UI general to open confirmation
dialog when user exits program
* Fix RPC log TimeOn value,
without this, timeon == timeoff.
patch corrects data transfer to CQRlog.
* Add new shortcuts in TX widget.
- SC-c for <CALL>
- SC-n for <NAME>
- SC-r for <RST>
- SC-l for <MYLOC>
- SC-h for <MYQTH>
- SC-a for <ANTENNA>
- SC means Shift-Control.
* Removed 16384 size limitation on WRAP file extract processing.
* Added 10 second timeout. Extract process reset after a 10 second
period of no incoming text.
* Added Macro <NRSID:[n]> where
- n < 0 will cause |n| RsID bursts and exit from Tx
- n > 0 will cause |n| RxID bursts and Tx continue
- n == 0 will cause a single RxID burst and Tx continue
- multiple RsID bursts are separated by an interval of
200 milliseconds