Hi Alex,

I have added a few enhancements to your proposed patch:

https://www.dropbox.com/s/7slm4oypbc5g8ks/highlight.diff?dl=0

this extends the UDP message to include the foreground colour as well as the background colour. The colours are passed as QColor format fields which are a little more complicated but are already supported by the Qt QDataStream formats. The main reason for the field format is that QColor can specify many more colours and also anĀ  invalid colour value (spec = 0). The invalid value is used to reset the background and or foreground colour to defaults. The internal implementation in WSJT-X keeps a dictionary of highlight commands send and applies the colours to all existing decodes and future decodes, this should explain the need for a resetting mechanism.

As an example I have enhanced the WSJT-X MessageServer class and the reference message_aggregator application (the C++ Qt one) provided with WSJT-X to exercise the new UDP message, it does so by displaying a list of "calls of interest" which it relays to all connected WSJT-X clients. Callsigns may be added to, edited, and deleted (right-click the list for a context menu).

Give it a try and see what you think.

73
Bill
G4WJS.

On 23/03/2018 21:34, Alex, VE3NEA wrote:
Hi Bill,

Thank you for a link to your message aggregator. I will take a closer look at it tonight, it looks like it includes a useful piece of code for working with the wsjt-x messages.

I included the Delphi project only as a testing tool for the new feature in wsjt-x, so please ignore it if it is incomplete.

My C++ code does not change the caret position, the callsign is highlighted using a temporary cursor object.

73 Alex VE3NEA



On 2018-03-23 17:14, Bill Somerville wrote:
On 23/03/2018 20:41, Alex, VE3NEA wrote:
I have written some code that allows a UDP server, e.g., a logger, to tell WSJT-X what background color to use for each callsign in the Band Activity panel. This might be useful to those who chase various awards, if the logger assigns different colors to new IOTA groups, US counties, etc. The end result looks like on the attached screenshot. The .diff file is here:

http://www.dxatlas.com/Misc/callsign_highlight.zip

The zip also includes a Delphi class for listening and replying to the WSJT-X messages, and a demo program that shows how to use the class, which is also useful for testing the new feature once it is included in WSJT-X.

Please review and merge if OK.

Hi Alex,

looks good but I have some issues. Please check out this: https://www.dropbox.com/s/xlvc5kxy85ymtn9/message_aggregator.zip?dl=0 , it is a very basic UDP message server application written in Object Pascal and also uses Indy for services. The message cracking routines may be useful to you, free free to copy them - all I require is credit.

I will look in more detail at your patch, I have a concern about cursor positioning in the decode windows that I need to check.

There is a requirement to negotiate the message schema number if you intend to send messages back to WSJT-X instances, this is necessary in case a new schema is introduced as the WSJT-X UDP messages are a grid topology and all nodes must agree on the "on the wire" message schema. The schema number is allowed to decrease if an old lower schema node joins the party. The MessageServer.cpp class in the WSJT-X sources does this correctly. See code at line 155 handling Heartbeat messages here: https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/branches/wsjtx/MessageServer.cpp .

I also have a partial implementation of joining a multicast group for the AutoIt scripting language, this is relevant because it has no built in library support for multicast and it is used to implement the current version of JTAlert, so JTAlert must bind a unicast address for now. If JTAlert is in the grid then it must degrade to a single server (JTAlert) many client (WSJT-X) topology, which excludes other servers :( I need to find time to complete this and offer it to Laurie as a plug in replacement for the AutoIt UDP server module.

73
Bill
G4WJS.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to