Giter Site home page Giter Site logo

pierr3 / trackaudio Goto Github PK

View Code? Open in Web Editor NEW
21.0 5.0 3.0 106.31 MB

A next generation Audio-For-VATSIM ATC Client for macOS, Linux and Windows

License: Other

TypeScript 46.59% SCSS 6.36% HTML 1.50% CMake 3.37% Makefile 2.83% C++ 35.58% JavaScript 2.46% Shell 1.32%

trackaudio's Introduction

TrackAudio

A next generation Audio-For-VATSIM ATC Client for macOS, Linux and Windows.

screengrab of application

Note

This software is in beta, and is missing features or may be broken in some places. Report any issues on GitHub. It is, however, ready for use on the network and you should not encounter major issues.

Releases

See releases for latest builds

FAQ

What's the difference between VectorAudio and TrackAudio?

TrackAudio is simply the next iteration of VectorAudio, using a different set of technology. While TrackAudio is still in beta, you should try to use it instead of VectorAudio, as the latter will no longer be supported at some point.

My PTT does not work on macOS

macOS has strict permissioning around background keyboard inputs. TrackAudio should prompt you on first launch to request input monitoring permissions. Sometimes, upon updating the app, this setting will undo itself. In that case, please go to your Settings -> Privacy & Security -> Input Monitoring and add TrackAudio in the list (remove it if it was already there). This is required purely because otherwise, your Push to Talk would not work when the window is not in focus (if you use a keyboard push to talk, a Joystick push to talk does not require this permission)

Where are the log files stored?

On macOS: ~/Library/Application\ Support/trackaudio On Linux: ~/.local/state/trackaudio On Windows: %LocalAppData%\trackaudio

The station I am trying to add is not found

Ask your FE to define the station in the AFV database. Per the AFV FE manual, all stations should be defined in the database. TrackAudio does support ad-hoc station creation if you log-in as a DEL, GND or TWR that has no station definition. It will then place a transceiver at your center of visibility set in your controller client.

Is there RDF support in EuroScope?

Yes! @KingfuChan has updated the RDF plugin for EuroScope to include support for TrackAudio. Find the plugin in this repo.

Does TrackAudio support HF Simulation?

Yes, but only if you add a frequency by callsign (must be defined in database). HF Squelch is enabled by default

Can I add a frequency manually if it does not exist in the database?

Yes, using the menu on the right, however, this will only create one transceiver (antenna) at your center of visibility set in your atc client. This means that you will not get the same radio coverage as stations defined in database.

What's this telemetry popup about?

TrackAudio utilizes remote telemetry in the event of a bug, sending an error report to a tool called Sentry. Only essential information from the crash report is sent, and no data leaves your device unless an error occurs. We do not record your IP address or VATSIM password. Your data would be sent to a third-party service, Sentry, to their servers located in Germany.

This is entirely optional, but greatly assists in tracking down errors.

If you opt-in, you can opt-out at any time in the settings. You will need to restart TrackAudio for this to fully take effect.

What is XC and XCA?

When you rigth click XCA on a frequency that you are listening to, and if you are logged in as ATC, all the transceivers of that frequency will be cross-coupled. This means that all transmissions received by a transceiver in that list will also be re-emitted by all other transceivers. This allows for pilots in different parts of your airspace to hear eachother, since they may be using a different transceiver. In general, you should be using XC every time you control.

When you left click XCA, you activate "cross-couple across". This is the same as clicking "XC" in AFV for Windows, and allows you to cross-couple across frequencies, meaning you can join multiple sets of transceivers regardless of frequency. Pay attention, however, as you may cause overlap of radio by enabling this. For example, if you XCA one frequency that has a transceiver near the border of a neighboring vAcc with another that is at the other end of your sector, far away from that border with your neighboring vAcc, you will suddenly extend coverage of that second frequency to the border with your neighboor. This feature is mostly useful for CTR positions, when regrouping large sectors together.

Can I extend TrackAudio using a plugin/is there an SDK?

Yes! Have a look in the wiki. TrackAudio offers a WebSocket and HTTP SDK. If you need additional features, please open an issue with a detailed request, I'll be happy to look at it with no guarantees.

I have an issue with TrackAudio

Read this document entirely first. If you can't find the answer to your problem, please open an issue on GitHub, attaching relevant lines from the afv.log file that should be in the same folder as the executable.

Installation

Linux

Archlinux

TrackAudio is available in the AUR and can be installed using your favourite AUR helper, for example:

  • yay -S trackaudio-bin
  • paru -S trackaudio-bin

Debian

TrackAudio is packaged as a .deb and should run without any specific actions.

Download the latest release on the release page and run the .deb If it does not open, you might want to make sure it has permission to run as an executable by running chmod +x on the .deb File.

Note: this will install libafv_native.so in /usr/lib, a required library for TrackAudio to run.

macOS

Download the latest release on the release page and install the .app into your applications folder.

TrackAudio is available in two versions, one for apple silicon (arm64) and one for intel macs (x64).

Alternatively, TrackAudio can be installed using Homebrew. Run the following commands to first install the Homebrew Tap and then the Homebrew Cask. This way the app gets upgraded when you run brew upgrade.

# Add the tap
brew tap flymia/homebrew-trackaudio

# Install the cask
brew install --cask trackaudio

Depending on your system, the cask will install the ARM version or the x86_64 version.

Windows

Download the latest release on the release page and run the executable. This should install TrackAudio.

Build

Dependencies

TrackAudio depends on afv-native and SFML (for input handling).

cmake is required to build the project. Dependencies will be downloaded through vcpkg at build time. See vcpkg.json for further details.

On linux, the following packages are required: build-essentials libx11-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev pkg-config, you may also need further packages to enable the different audio backends, such as Alsa, JACK or PulseAudio.

On macOS, XCode Command Line tools, CMake and Homebrew are required and the following homebrew package is required: pkg-config

On Windows, Visual Studio is required (Community Edition is fine) with the Desktop development with C++ component installed.

Build process

If cmake-js isn't already installed run npm install -g cmake-js. For the first build run the following:

git submodule update --init --recursive
npm run build-backend
npm install
npm run start

Subsequent builds only require the npm run start command if you only wish to modify the frontend. Building the C++ backend will require running npm run build-backend.

Packaging

TrackAudio will be automatically packaged as a .dmg on macOs, .deb on Linux and .exe installer on windows, run npm run make to package.

Contributing

If you want to help with the project, you are always welcome to open a PR. ๐Ÿ™‚

trackaudio's People

Contributors

pierr3 avatar neilenns avatar flymia avatar georgebarlow avatar herver avatar

Stargazers

Bostjan Laba avatar Qic Chan avatar Jay avatar Sparrow He avatar Xuanyan Ye avatar Aaron_ZSAM avatar Ernest Walzel avatar ZLA DATM avatar  avatar John-attend avatar Dave Roverts avatar Ciaran Breen avatar  avatar Justin avatar  avatar Reda avatar Kingfu Chan avatar Martin Jacobsen avatar Goulven Guinel avatar  avatar Even Rognlien avatar

Watchers

 avatar  avatar Bostjan Laba avatar Goulven Guinel avatar John-attend avatar

trackaudio's Issues

Add support for AFV-style custom stations

Currently AFV allows you to add a custom station at a specific airport with the ** syntax (for example **KLAX_X_TWR). This creates a transceiver at the airport location, asks you for the frequency, and if you are signed on to at least that level, allows you to transmit on it. A similar function will ask you for the frequency when entering an unknown callsign that is connected to the network but not in the database. This functionality is particularly useful for adding ATISes that may not be in the database so you can test if they are transmitting correctly. Using the "add custom VHF frequency" function doesn't seem to work for this (tested while observing Center), perhaps because the vis center isn't near the airport, so it would be great to be able to specify the location of the transceiver as described.

Joystick PTT name not recognized/displayed

I use vJoy (virtual joystick) as my PTT, which has worked across the AFV standalone client and Vector Audio. I trigger the vJoy button via a Streamdeck Pedal button (using a Streamdeck vJoy plugin).

After attempting to set PTT on TrackAudio with the new joystick support, I still see "Ptt: Not Set"
image

However, when I press the foot pedal PTT, the "Set new PTT" button does light up, which suggests to me that TrackAudio is properly capturing the vJoy button press at least? I haven't tried it on the network yet.
image

Fresh log:

20:11:40.423148904 [1560856] InputHandler.cpp:113         LOG_INFO      trackaudio_logger Forwarding Ptt Key Name Not Set
20:11:43.402948237 [1324556] RemoteData.cpp:56            LOG_INFO      trackaudio_logger Slurper is back online.
20:11:45.573166709 [1561140] InputHandler.cpp:68          LOG_INFO      trackaudio_logger Joystick Ptt Key set: 0 on Joystick 0
20:11:45.573494028 [1561140] InputHandler.cpp:113         LOG_INFO      trackaudio_logger Forwarding Ptt Key Name Not Set
20:11:47.986698657 [1560856] main.cpp:749                 LOG_INFO      trackaudio_logger Exiting TrackAudio

Increase font size in mini-mode

Currently the mini UI is hard to read on 4k displays. Instead of futzing around with trying to find a font size that works, or doing different scaling based on screen resolution (is that even possible?), mouse wheel zoom would solve the issue and give users control over how big they want stuff.

Stations without a subposition don't sort properly

To reproduce:

  1. Connect as an observer
  2. Add SEA_GND as a position

Result: SEA_DEL sorts to the front, followed by SEA_GND, followed by the DEL sub-positions.

image

Expected result: SEA_DEL followed by the remaining DEL sub-positions, then `SEA_GND

This is a dumb bug that I didn't catch in the original PR because I was always logging in as SEA_GND so it was force sorted to the front.

Easy fix incoming shortly.

Add `build/` folder to `.gitignore`

When I built locally I found the entire contents of the build/ folder were getting detected by git as changed files. Looks like the folder should be added to the .gitignore file.

Mini-mode is blank until something is received on frequency

To reproduce:

  1. Connect, and "rx" a couple of different frequencies
  2. Scale the window small to get mini-mode

Result: An empty screen
Expected result: The list of "rx" stations and something like "None" for the last received callsign

This is another one I'm happy to do the PR for if you like, looks like it can be done in the setRx() method and just default the lastReceivedCallsign and lastReceivedCallsignHistory to "None" and ["None"] respectively when value is true.

Mini-mode toggle

Just curious if it is possible to implement a mini-mode toggle button. To be clear, a button that when clicked toggles between a "normal" size window and a mini-mode sized widow.

Cross Coupled Audio Comes Through Multiple Outputs

During an event tonight a controller logged off and a different controller monitored that frequency (SEA_06_CTR) instead of having aircraft change frequencies. I had SEA_06_CTR selected to RX and SPR was selected. While SEA_06_CTR was not logged on, I received the audio through both my headset audio output and my speaker output. While SEA_06_CTR was logged on the audio was routed correctly.

Crash on startup ver. 1.0.2_beta.4-2 (AUR)

image

~5 seconds after startup, just upgraded

TrackAudio.log

11:36:42.486292221 [15526] main.cpp:667                 LOG_ERROR     trackaudio_logger Mandatory update required: 1.0.2-beta.2 -> 1.0.2-beta.4
11:39:24.457531609 [22798] Shared.hpp:102               LOG_WARNING   trackaudio_logger Settings.ini file not found, creating it
11:39:24.960688964 [22798] InputHandler.cpp:113         LOG_INFO      trackaudio_logger Forwarding Ptt Key Name Unknown Scancode

Settings.ini

[Ptt]
PttKey = -1
JoystickId = 0
isJoystickButton = false

Unable to communicate with all aircraft in coverage area

This was reported by a visiting controller in the ZSE Discord. They don't GitHub so opening on their behalf.

Original report: "I tried this [TrackAudio] and for me on center 1 out of 10 pilots can hear me." They usually use AFV and have never used VectorAudio before. I followed up with additional questions, here's some more details.

Controller was connected as DEN_17_CTR. It didn't automatically load the station so he manually added DEN_17_CTR and eanbled Tx/Rx. There were aircraft that should be in the coverage area but the controller was unable to hear or speak to them. Two planes near the border of ZLA came through fine, but there was another one in the same area that couldn't be reached.

Let me know if you need more info and I can ask.

Wrong PTT Button Detected

For some keys, the detected key shown in TrackAudio is different from what is actually pressed.

Environment: Linux, Xwayland, All recent TrackAudio commits

E.g. When I press the right control on my laptop, TrackAudio detects the PageDown key instead.
image

Show active receive in the mini view

Right now the mini view highlights the entire row when transmit is pressed but there's no way to know when receive is coming in. This is information that is visible when in the big view because there are separate Tx and Rx buttons.

The mini view should highlight the station name on Tx, and the receive callsign on Rx.

Add vscode debug configuration

It'd be nice to add support for vscode debugging. I missed this when doing the sort order stuff, and fell back to basic console.log which was... suboptimal.

PR incoming.

Set PPT bug

When trying to set a new PPT on the settings it detects "BLOQ NUM" as always pressed, but if I keep that PPT it doesn't actually work on frequency. I can select another PPT by clicking to select a new one and then quickly press the key I want.

Windows 11 using the extracted zip beta.4

TX button doesn't light up and can't be activated

OS: Window 11
Build: 1.0.0-beta.1

Somehow I got TrackAudio into a state where the TX button for my primary frequency wouldn't activate. It didn't light up when I did PTT, and clicking on it wouldn't turn it green. Of course I can't reproduce this now, but reporting for completeness.

Steps as best I can recall:

  1. Add SEA_GND as a station, select RX and TX for 121.700
  2. Add SEA_TWR as a station, select RX and SPK for 119.900
  3. PTT, notice that SEA_GND isn't lighting up for TX
  4. Try clicking on TX to make it green, it won't

I suggest closing this and I'll re-open it if I can get it to reproduce again.

Initial `npm install` fails on Windows

To reproduce:

  1. Clone the repo
  2. Run npm install as listed in the README.md file for first step

Result:

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path D:\git\TrackAudio\backend\trackaudio-afv-1.0.0.tgz
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'D:\git\TrackAudio\backend\trackaudio-afv-1.0.0.tgz'

Expected result:

No errors

Sort order of added stations is inconsistent

To reproduce add SEA_GND as a position.

Sometimes the stations will arrange like this:

image

But sometimes the SEA_GND and SEA_DEL will swap positions, with SEA_DEL getting listed first. I can't pinpoint why this happens, but I would expect the stations to always show in the same order.

Remember window position

If possible could a feature similar to AFV be implemented where the previous placement of Trackaudio before closed is remembered. I keep having to open the window and then reposition it to the top where it does not overlap other windows. This would also apply to mini-mode if possible. Thanks.

Add websocket message for kBeginTx and kEndTx

The tx equivalent to the kBeginRx and kEndRx messages is missing from the websocket interface. I can light up a streamdeck button when Rx is happening but not when Tx is happening ๐Ÿ˜”

Expose alert.mp3 in the installed folder

Low-priority feature request, but it'd be great if alert.mp3 was exposed as a standalone file in the install instead of being packed with webpack so users can replace it with a sound of their own.

CRC drops all the audio files in a standalone folder which has been super handy to replace with different sounds that are easier to pick up in the cacophony of sounds that happen during ATC sessions.

Allow binding a separate PTT key per frequency

As simple as it sounds.

Allow specifiying a separate PTT key for an individual frequency. If none is specified, they should all use the 'global' PTT binding.

This would be useful for things like controller shoutlines and also when covering a frequency for another controller for a limited time.

Delete a station

I like how it gets all related callsigns when adding a new station, however in order to keep it clean it'd be nice to be able to delete a station from the listed ones selecting it and pressing either delete or backspace. Another possible way could be to delete a station when clicking on it while pressing alt or some other key.

Always on top prevents app from dispaying

Whenever I turn on "Keep window on top" the app goes to the taskbar and I can't open it, then I have to restart the app and I can only have it displayed until I minimize it for the first time, and then the same thing happens, the app gets stuck on the taskbar.

Edition Windows 11 Home
Version 23H2
Installed on โ€Ž06/โ€Ž12/โ€Ž2023
OS build 22635.3575
Experience Windows Feature Experience Pack 1000.22700.1011.0

Streamer features: route audio to extra channel

I will use this place to just thank pierr3 for this new "edition" of ex VectorAudio and implementing http and ws server.

That's simply awesome and the way to add value to already great software.

Thanks!

Scroll Wheel Support on Gain Setting

One feature that I think could be valuable would be to have scroll wheel support on the gain setting, either on the text of the setting itself or on the slider bar. This would enable quick changes of the gain setting for hearing stations with low volume.

TrackAudio randomly disconnected

Another "sorry I don't have a repo for this" issue.

Was controlling today and eventually tower told me that a plane on the ground wasn't getting any answer from me on frequency. Turns out TrackAudio had just disconnected. No idea why, CRC was still connected fine. Hitting the connect button reconnected me fine and I was good to go again.

Add a "close" button

First of all, thanks for the wonderful ATC client ๐Ÿ˜„

I have a small improvement request: when using TrackAudio on Linux and a Window manager that doesn't decorate applications with the usual buttons, it's impossible to close TrackAudio properly, see screenshot:

image

It would be really nice to have an X button somewhere in a corner to close TrackAudio without having to xkill or pkill it :)

Add a mini-mode

Since you said it's all new UI, I'll make a request for all new features :D

I would love to have a mini mode that shows the last 2 (3? 5?) received callsigns and station and nothing else in a little list that I could run as an always on top window.

Realistic? No. But extremely helpful when listening to other frequencies while controlling or dealing with new pilots stepping on each other.

Add HTTP endpoint for getting current status for a specific station

At the moment there's an /rx and a /tx endpoint which returns a comma delimited list of frequencies with RX or TX enabled. Unfortunately this can't be parsed with JSON parsing on the receiving end. Use case is to set the state/icon of a Streamdeck button to match whether TX is enabled for a given station.

I'd like an endpoint that instead takes a specific station and returns a JSON object indicating the status of the station. Something like GET /status/SEA_GND that returns something like this:

{
   "pCallsign": "SEA_GND",
   "tx": false, // or true if on
   "rx": false, // or true if on
   "xc": false // or true if on
}

Add websocket message for enabling/disabling station tx/rx/xc

I'd like to be able to POST to an endpoint to enable/disable TX/RX for a station.

The use case is to create a StreamDeck button that will call the endpoint when pressed to enable/disable secondary stations that I listen to on the side but may want to turn off when they get busy. Something like POST /station with a JSON body like this:

{
   "pCallsign": "SEA_GND",
   "tx": false, // or true to enable or undefined to leave as-is
   "rx": false, // or true to enable or undefined to leave as-is
   "xc": false // or true to enable or undefined to leave as-is
}

HF Static noise

It seems like HF effects are not being simulated?
Although those normally create a headache, it's nice to still have them when controlling oceanic (or at least have the option)
Is this something planned?

Crash after update 1.0.2_beta.2-1 -> 1.0.2_beta.2-2 Archlinux

Encounter crash passed few seconds after launch without doing anything.

Using Trackaudio on Arch linux.
Kernel 6.8.8-arch1-1
same issue using either trackaudio-bin or trackaudio-git trough AUR package
Appear after updating 1.0.2_beta.2-1 -> 1.0.2_beta.2-2

hook_thread_proc [101]: Could not set thread priority 49 for thread 0x78D308C006C0!
Segmentation fault (core dumped)

Backtrace from the dumpcorectl

(gdb) bt full
#0  0x00007de10660fd30 in RemoteData::getSlurperData[abi:cxx11]() () at /tmp/.org.chromium.Chromium.aEM7KA
#1  0x00007de1066103cd in RemoteData::onTimer(Poco::Timer&) () at /tmp/.org.chromium.Chromium.aEM7KA
#2  0x00007de106675be7 in Poco::Timer::run() () at /tmp/.org.chromium.Chromium.aEM7KA
#3  0x00007de10667d6af in Poco::PooledThread::run() () at /tmp/.org.chromium.Chromium.aEM7KA
#4  0x00007de106680731 in Poco::ThreadImpl::runnableEntry(void*) () at /tmp/.org.chromium.Chromium.aEM7KA
#5  0x00007de198e3355a in start_thread (arg=<optimized out>) at pthread_create.c:447
        ret = <optimized out>
        pd = <optimized out>
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {138405239326400, 7608232385281972051, -1144, 2, 140724935023184, 138405230936064, -7902646139699407021, -7901865931133626541}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007de198eb0a5c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Always on top setting isn't remembered across app launches

To reproduce:

  1. Run TrackAudio, enable the always on top setting
  2. Close TrackAudio
  3. Run it again

Result: Always on top is off
Expected result: Always on top is on

I keep hitting this between app launches. I'll connect, resize the window small, then realize it's not always on top which requires disconnecting, making the window big again, changing the setting, reconnecting, re-enabling all the frequencies, then making the window small again.

It'd be nice if this persisted :)

(I can do the PR for this if you agree it should persist)

eslint configuration is missing react version

To reproduce do npm run lint.

Result:

Warning: React version not specified in eslint-plugin-react settings. See https://github.com/jsx-eslint/eslint-plugin-react#configuration .

To fix add this:

  settings: {
    react: {
      version: "detect",
    },
  }

Wayland support: libuiohook

Currently, running TrackAudio under a pure Wayland environment is impossible:

$ trackaudio
[8333:0428/014713.723699:ERROR:ozone_platform_x11.cc(244)] Missing X server or $DISPLAY
[8333:0428/014713.723728:ERROR:env.cc(257)] The platform failed to initialize.  Exiting.
fish: Job 1, 'trackaudio' terminated by signal SIGSEGV (Address boundary error)

$ trackaudio  --ozone-platform=wayland
hook_thread_proc [101]: Could not set thread priority 49 for thread 0x725A3EE006C0!
xrecord_start [1024]: XOpenDisplay failure!
fish: Job 1, 'trackaudio  --ozone-platform=waโ€ฆ' terminated by signal SIGABRT (Abort)

$ trackaudio  --ozone-platform=wayland
fish: Job 1, 'trackaudio  --ozone-platform=waโ€ฆ' terminated by signal SIGSEGV (Address boundary error)

Wayland is expected to replace X11 in the future, and some of the major Linux distros have already started shipping Wayland desktop environments by default. Thus, Wayland support should be considered.

My environment:
OS: Artix Linux x86_64
Kernel: 6.8.7-artix1-2
Resolution: 3840x2160
Wayland window manager/compositor: niri

Update eslint to run with increased coverage

Just puttering about on a Tuesday afternoon to try and get some more opinionated eslint rules running since I wasn't feeling like controlling.

It was quite a bit of tweaking so I figured I would document what I did here. No PR forthcoming, these changes are quite a few package upgrades and result in a TON of eslint errors to fix. Mostly just documenting so you have the steps I did available if/when you decide to add more rules.

  1. Upgrade to TypeScript 5.4.5
  2. Upgrade to eslint 8.57.0
  3. Upgrade to @typescript-eslint/eslint-plugin 7.8.0
  4. Add the semistandard npm package as a dev dependency to the top-level package.json. This resolved errors from eslint somewhere deep in the vcpkg stuff. Feels like it was a hack, it probably belongs in another package.json somewhere that I don't know about.
  5. Add "strictNullChecks": true to the tsconfig
  6. Switch to a .eslintrc.cjs config file format instead of json
  7. Change the lint command in package.json to "lint": "eslint .",. TBH I'm not sure this was necessary.
  8. Use the strict-type-checked rules with the following modified config:
/* eslint-env node */

module.exports = {
  env: { browser: true, es6: true, node: true },
  extends: [
    "eslint:recommended",
    "plugin:@typescript-eslint/strict-type-checked",
  ],
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: "latest",
    sourceType: "module",
    project: true,
    tsconfigRootDir: __dirname,
  },
  ignorePatterns: ["webpack.*.ts", "forge.config.ts", ".eslintrc.cjs"],
};

The result is 251 problems ๐Ÿ˜ฏ๐Ÿ˜‚ Here's an example in vscode:

image

Set PTT key issue

One user in our vACC is reporting an issue trying to set CTRL or SHIFT or some modifier key as PTT KEY. While on my PC it normally shows "press a key" to set it up, in his case this is shown only briefly and then it picks up NUM_LOCK key. He can set some key like A,B,C, space. But CTRL, SHIFT, ALT...result in NUMLOCK always.

Any idea why or what's the solution?

Thanks

rxEnd probably missing

Using TrackAudio with Euroscope and KingFuChan's RDF, sometimes the circle marking an aircraft does not disappear after voice transmission at all. This causes all the next circles to be red (audio "collision" on frequency).

While I cannot check communication between RDF and TrackAudio, I'm guessing RDF does not receive "end of transmission" for that particular aircraft. Any chance to check this out?

Thank you.

Cannot get data from the slurper

I put it here as a new issue

using last commit on Arch linux via AUR trackaudio-git

At the start of TrackAudio I receive this "notification"

[1855Z] Error while parsing slurper data, check the log file. This means your internet may be down or the VATSIM servers may experience an outage. You will not be able to connect until this is resolved. TrackAudio will keep retrying in the background.

Log:

20:49:54.776826689 [22561] RemoteData.hpp:57            LOG_ERROR     trackaudio_logger Cannot get data from the slurper. Object is null.

https://slurper.vatsim.net/users/info/?cid=1572048 is:

1572048,LFMN__APP,atc,134.475,120,43.66541,7.21498,0,0,0,0,0,0,0,0,

Also tested using VectorAudio, works well.

curl -4 and curl -6 work.

Originally posted by @Ades128 in #30 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.