101Cats Help

Avalonia Re-write

101Cats V1 was developed using a Windows application framework called MahApps Metro. This was chosen because it is free and easy to work with, but it is getting a bit old now and that age is showing. I wanted to improve the support for theming and that was proving to be quite difficult.

In order to address this, I've been experimenting with rebuilding the code to compile with an alternative framework, Avalonia. As well as improving the support for theme customisation, Avalonia provides better support for modern application architectures and the application code is coming out cleaner.

The re-write has been harder than I anticipated and I've done little else for the last couple of months. In the process, I've improved the structure of the application and the performance seems to be better. An incidental benefit of moving to Avalonia is that it is a multi-platform framework, and it should be relatively easy to build 101Cats V2 to run on other operating systems including Linux and MacOS. I have not tried this yet, and it is not a high priority for me, but I will test it out sometime soon.

I am adding an installer for a very early alpha release of 101Cats V2 here. It is still missing a lot of functionality and has many bugs. I am working through it and plugging gaps daily. If you use 101Cats V1, please do not uninstall it - V2 is currently not a replacement! If you are feeling brave, please do install both and give it a try. Both versions use the same configuration file, so it should come up and run as soon as it is installed.

Note that the current alpha of 101Cats V2 is a 64 bit Windows application - I'm developing under Windows 11 and all installations of W11 are 64 bit. It should be possible to build a 32 bit version too and I will probably do that soon. It is really too early for bug reports - there are many of them and we will fill up the Groups.IO group! This will change soon as I plug the remaining gaps - I will invite fault reports and change requests soon.

The current version is 2.0.0.5. This adds a user configurable "key bounce" filter to the processing queue. The configuration file is now called configV2.xml. The new parameter is :

<ReactiveThrottle>100</ReactiveThrottle>

the numeric parameter is the key-bounce filter delay in milli-seconds. Large numbers should eliminate "jitter", but at the expense of UI performance.

Note also that the implementation of the window that displays the FTdx101 screen has changed and is still not fully working. It was necessary to split this functionality off to a second application which talks to the main 101Cats application over RPC. The current implementation does work, but the two applications do not synchronize reliably with each other on startup. When you load 101Cats V2, it will automatically load the screen display application, but it is necessary to then select the "Server|Connect" menu option in the screen window. Do this before you select the "On" button in the 101Cats Main window. Once 101Cats has loaded and is connected to the radio and operational, cycle through the various spectrum scope display options in the screen window and choose a couple of different spans. This will allow the two applications to synchronize properly, after which the spectrum window should operate pretty much the way it did in V1. This is inconvenient and will be addressed sometime soon.

Last modified: 18 March 2025