Radio Direction Finder plugin for EuroScope. Still actively maintained.
Supports Audio for VATSIM standalone client through hidden window messaging. This has been used since the birth of AFV.
TrackAudio is a multi-platform Audio-For-VATSIM ATC client for Windows, macOS and Linux. This improved RDF plugin utilizes TrackAudio's WebSocket SDK to synchronize active frequencies and to achieve radio-direction-finding.
Important
Since RDFPlugin version 1.4.1+, TrackAudio 1.3.0 Beta 5 is required due to changes in TrackAudio SDK.
- (Existing feature) RGB settings for circle or line, and different color for concurrent transmission.
- Random radio direction offsets to simulate measuring errors in real life.
- Offers variable precision at different altitudes.
- Hide radio-direction-finders for low altitude aircrafts.
- Flexible use of lines instead of circles.
- Draw controllers as desired.
- Per-ASR drawing configurations.
- Tag item type RDF state to indicate previously transmitting aircraft.
Do the same work as afv-euroscope-bridge. Supports both TrackAudio and Audio for VATSIM standalone client. When a new radio station is set up for RX/TX, RDF detects its status and toggles respective channels in EuroScope.
Note
All command line functions are case-insensitive, except [Style Name] in .RDF STYLE [Style Name].
This table shows general configurable items that would affect the plugin globally.
| Entry Name | Related Command Line | Value | Default Value |
|---|---|---|---|
| LogLevel | None | ||
| Bridge | .RDF BRIDGE ON/OFF |
0 or 1 | 1 |
| Endpoint | .RDF RELOAD |
127.0.0.1:49080 |
- LogLevel is none by default. Accepted levels include none, error, warning, info, debug, verbose. Log levels other than none will automatically save an RDFPlugin.log file next to DLL file.
- Bridge controls whether TrackAudio and Audio for VATSIM standalone client RX/TX stations should be synchronized to EuroScope channels' text receive/transmit.
- Endpoint should include address and port only. E.g. 127.0.0.1:49080 or localhost:49080, etc.
.RDF REFRESH- Clear transmission records.
- (Audio for VATSIM standalone client) set all channels to off (except primary & active ATIS).
- (TrackAudio, if Bridge is ON) try to synchronize all RX/TX with TrackAudio.
.RDF RELOAD- Clear transmission records.
- Reset TrackAudio connection.
Tip
To change the endpoint or mode for TrackAudio without exitting EuroScope, you may modify plugin settings file, reload settings file inside EuroScope, then run .RDF RELOAD.
To change log level, the only way is to unload & reload RDFPlugin.dll inside EuroScope plugin setup dialog.
This table shows all RDF drawing parameters. All entries allow per-ASR configuration.
| Entry Name | Command Line Keyword | Range | Default Value |
|---|---|---|---|
| EnableDraw | DRAW |
0 or 1 | 1 |
| DrawRequireTx | TX |
0 or 1 | 0 |
| DrawControllers | CONTROLLER |
0 or 1 | 0 |
| RGB | RGB |
RRR:GGG:BBB | 255:255:255 |
| ConcurrentTransmissionRGB | CTRGB |
RRR:GGG:BBB | 255:0:0 |
| Radius | RADIUS |
(0, +inf) | 20 |
| Threshold | THRESHOLD |
-1 | |
| Precision | PRECISION |
[0, +inf) | 0 |
| LowAltitude | ALTITUDE L_____ |
0 | |
| HighAltitude | ALTITUDE H_____ |
[0, +inf) | 0 |
| LowPrecision | PRECISION L_____ |
0 | |
| HighPrecision | PRECISION H_____ |
[0, +inf) | 0 |
- EnableDraw controls RDF drawing functionality. 0 means OFF.
- DrawRequireTx controls whether transmitting stations should only be drawn on active tx frequencies. 0 means OFF. (Not active in Observer Mode, Only compatible with TrackAudio)
- DrawControllers controls whether transmitting controllers should be drawn as well. 0 means OFF.
- RGB, ConcurrentTransmissionRGB define drawing colors when single or multiple stations are transmitting at the same time.
- Radius, Threshold, Precision, LowAltitude, HighAltitude, LowPrecision, HighPrecision see Random Offset Schematic below.
Tip
For all boolean parameters or settings, both 0/1 and off/on are accepted in command line functions.
.RDF [Keyword] [Value]- E.g.
.RDF CTRGB 255:255:0will set drawing color to yellow for concurrent transmission. - Replace
_____with value in low/high altitude/precision directly, e.g..RDF ALTITUDE L10000 - Settings will be saved to plugin settings file.
- E.g.
.RDF ASR [Keyword] [Value][Keyword]and[Value]are the same as above.- Settings will be saved to ASR file.
- E.g.
.RDF ASR DRAW 0will disable RDF in current ASR.
.RDF STYLE [Style Name]- Designed for pre-defined scenarios and real-time switching.
- Requires an RDFStyle.json file next to DLL file. JSON format
[Style Name]is case-sensitive and must be exact match.- Style will be cancelled when:
- using
.RDF STYLE OFF/0. - using empty style name but keep the trailing space.
- JSON file is broken or any error occurs.
- using
- Re-application is needed after editting JSON file.
- STYLE settings will not be saved when exiting EuroScope. For lasting effect use per-ASR settings or plugin settings instead.
For transmitting pilots:
For transmitting controllers:
RDF Plugin for Euroscope:LogLevel:none
RDF Plugin for Euroscope:Bridge:1
RDF Plugin for Euroscope:Endpoint:127.0.0.1:49080
RDF Plugin for Euroscope:EnableDraw:1
RDF Plugin for Euroscope:DrawRequireTx:0
RDF Plugin for Euroscope:DrawControllers:0
RDF Plugin for Euroscope:RGB:255:255:255
RDF Plugin for Euroscope:ConcurrentTransmissionRGB:255:0:0
RDF Plugin for Euroscope:Radius:20
RDF Plugin for Euroscope:Threshold:-1
RDF Plugin for Euroscope:Precision:0
RDF Plugin for Euroscope:LowAltitude:0
RDF Plugin for Euroscope:HighAltitude:0
RDF Plugin for Euroscope:LowPrecision:0
RDF Plugin for Euroscope:HighPrecision:0
; My own setup
; To help with diagnose RDF
RDF Plugin for Euroscope:LogLevel:debug
; I use Parallels Desktop and run TrackAudio in hosting macOS
RDF Plugin for Euroscope:Endpoint:10.211.55.2:49080
RDF Plugin for Euroscope:DrawRequireTx:1
RDF Plugin for Euroscope:DrawControllers:1
RDF Plugin for Euroscope:RGB:0:255:0
RDF Plugin for Euroscope:ConcurrentTransmissionRGB:255:0:0
; Drawing parameters are for radar ASRs
RDF Plugin for Euroscope:Radius:10
RDF Plugin for Euroscope:Threshold:10
RDF Plugin for Euroscope:Precision:10
RDF Plugin for Euroscope:LowAltitude:3000
RDF Plugin for Euroscope:LowPrecision:2
RDF Plugin for Euroscope:HighAltitude:41100
RDF Plugin for Euroscope:HighPrecision:25
; Disables RDF in this ASR
PLUGIN:RDF Plugin for Euroscope:EnableDraw:0
; Always draw lines instead of circles, set Threshold to big number
PLUGIN:RDF Plugin for Euroscope:Radius:20
PLUGIN:RDF Plugin for Euroscope:Threshold:99999
PLUGIN:RDF Plugin for Euroscope:Precision:0
PLUGIN:RDF Plugin for Euroscope:LowAltitude:0
PLUGIN:RDF Plugin for Euroscope:HighAltitude:0
PLUGIN:RDF Plugin for Euroscope:LowPrecision:0
PLUGIN:RDF Plugin for Euroscope:HighPrecision:0
; My own setup for ground ASRs
; Circle are centered to aircraft with fixed radius of 20 pixels
PLUGIN:RDF Plugin for Euroscope:Radius:20
PLUGIN:RDF Plugin for Euroscope:Threshold:-1
PLUGIN:RDF Plugin for Euroscope:Precision:0
PLUGIN:RDF Plugin for Euroscope:LowAltitude:0
PLUGIN:RDF Plugin for Euroscope:HighAltitude:0
PLUGIN:RDF Plugin for Euroscope:LowPrecision:0
PLUGIN:RDF Plugin for Euroscope:HighPrecision:0
Note
Any items not defined in JSON file will be treated as plugin default.
{
"LANGEN": {
"Radius": 20,
"Precision": 0,
"Threshold": 999999,
"LowAltitude": 0,
"HighAltitude": 0,
"LowPrecision": 10,
"HighPrecision": 20,
"RGB": "114:150:102",
"ConcurrentTransmissionRGB": "114:150:102",
"DrawControllers": false,
"DrawRequireTx": false
},
"RING": {
"Radius": 20,
"Precision": 0,
"Threshold": -1,
"LowAltitude": 0,
"HighAltitude": 0,
"LowPrecision": 0,
"HighPrecision": 0,
"RGB": "114:150:102",
"ConcurrentTransmissionRGB": "114:150:102",
"DrawControllers": false,
"DrawRequireTx": false
}
}Tip
In the above example, LANGEN and RING are style names.
- EuroScope may crash when using TopSky at the same time with certain TopSky settings due to conflicting API method to communicate with Audio for VATSIM standalone client. Goto TopSkySettings.txt and add
RDF_Mode=-1to prevent such cases. - Do not simultaneously load this plugin along with the older version of RDF, or with the original afv-euroscope-bridge plugin, which may cause unexpected behavior.
Important
Check your .prf content and make sure afv-euroscope-bridge will not be loaded.
And check your TopSkySettings.txt if you are using TopSky.
Fail to obey these rules may result in accidental crash.
- Audio for VATSIM standalone client doesn't provide callsign for RX/TX, so this plugin has to guess the corresponding callsign and it doesn't guarantee 100% correct toggles. But it shouldn't affect text receive and transmit function.
- When using professional correlation mode (S or C) in EuroScope, it's possible some aircraft won't be radio-direction-found because the plugin doesn't know the callsign for an uncorrelated radar target.
- For dual pilot situation where the transmitting pilot logs in as observer, this plugin will try to drop the last character of the observer callsign and find again if this dropped character is between A-Z. This feature may cause inaccurate radio-direction.
- Because of new drawing behaviour introduced after EuroScope v3.2.3, switching ASRs may not change the plugin drawing configurations. In such case, simply pan/zoom your view to update configurations per ASR.
- pierr3/VectorAudio & pierr3/TrackAudio: initiative.
- chembergj/RDF: basic drawings.
- AndyTWF/afv-euroscope-bridge: Audio for VATSIM standalone client message handling.
- yhirose/cpp-httplib: HTTP library.
- machinezone/IXWebSocket: WebSocket library.
- nlohmann/json: json handling.
- SergiusTheBest/plog: logging library.
Vcpkg, either standalone or bundled with Visual Studio v17.6+, is required. Run vcpkg integrate install in Visual Studio CMD/Powershell and build directly.